diff options
926 files changed, 30277 insertions, 12880 deletions
diff --git a/components/canvas/Cargo.toml b/components/canvas/Cargo.toml index ff31840b39d..64f258e5bbe 100644 --- a/components/canvas/Cargo.toml +++ b/components/canvas/Cargo.toml @@ -12,10 +12,6 @@ path = "lib.rs" git = "https://github.com/servo/rust-azure" features = ["plugins"] -[dependencies.layers] -git = "https://github.com/servo/rust-layers" -features = ["plugins"] - [dependencies.canvas_traits] path = "../canvas_traits" @@ -38,5 +34,5 @@ git = "https://github.com/servo/webrender_traits" euclid = {version = "0.6.4", features = ["plugins"]} gleam = "0.2.8" log = "0.3.5" -num = "0.1.24" +num-traits = "0.1.32" offscreen_gl_context = "0.1.2" diff --git a/components/canvas/canvas_paint_thread.rs b/components/canvas/canvas_paint_thread.rs index 91630915cdc..36fbbe94570 100644 --- a/components/canvas/canvas_paint_thread.rs +++ b/components/canvas/canvas_paint_thread.rs @@ -14,7 +14,7 @@ use euclid::size::Size2D; use gfx_traits::color; use ipc_channel::ipc::IpcSharedMemory; use ipc_channel::ipc::{self, IpcSender}; -use num::ToPrimitive; +use num_traits::ToPrimitive; use std::borrow::ToOwned; use std::mem; use util::opts; diff --git a/components/canvas/lib.rs b/components/canvas/lib.rs index 8a5ecce9217..027036db74c 100644 --- a/components/canvas/lib.rs +++ b/components/canvas/lib.rs @@ -14,10 +14,9 @@ extern crate euclid; extern crate gfx_traits; extern crate gleam; extern crate ipc_channel; -extern crate layers; #[macro_use] extern crate log; -extern crate num; +extern crate num_traits; extern crate offscreen_gl_context; extern crate util; extern crate webrender_traits; diff --git a/components/canvas_traits/Cargo.toml b/components/canvas_traits/Cargo.toml index 04a651ea43b..7586b2d29f4 100644 --- a/components/canvas_traits/Cargo.toml +++ b/components/canvas_traits/Cargo.toml @@ -25,9 +25,6 @@ features = [ "nightly" ] [dependencies.plugins] path = "../plugins" -[dependencies.util] -path = "../util" - [dependencies.webrender_traits] git = "https://github.com/servo/webrender_traits" @@ -36,6 +33,5 @@ cssparser = {version = "0.5.4", features = ["heap_size", "serde-serialization"]} euclid = {version = "0.6.4", features = ["plugins"]} heapsize = "0.3.0" heapsize_plugin = "0.1.2" -offscreen_gl_context = "0.1.2" serde_macros = "0.7" diff --git a/components/canvas_traits/lib.rs b/components/canvas_traits/lib.rs index fe1dbf24e17..8bf7fa0fba9 100644 --- a/components/canvas_traits/lib.rs +++ b/components/canvas_traits/lib.rs @@ -17,9 +17,7 @@ extern crate euclid; extern crate gfx_traits; extern crate heapsize; extern crate ipc_channel; -extern crate offscreen_gl_context; extern crate serde; -extern crate util; extern crate webrender_traits; use azure::azure::{AzColor, AzFloat}; diff --git a/components/compositing/Cargo.toml b/components/compositing/Cargo.toml index cec58afb9dd..eac352b1d51 100644 --- a/components/compositing/Cargo.toml +++ b/components/compositing/Cargo.toml @@ -91,7 +91,7 @@ euclid = {version = "0.6.4", features = ["plugins"]} gleam = "0.2.8" image = "0.9" log = "0.3.5" -num = "0.1.24" +num-traits = "0.1.32" offscreen_gl_context = "0.1.2" rand = "0.3" serde = "0.7" diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index 2dddffe15a9..23c7bfe2926 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -31,7 +31,7 @@ use layers::scene::Scene; use layout_traits::LayoutControlChan; use msg::constellation_msg::{ConvertPipelineIdFromWebRender, ConvertPipelineIdToWebRender, Image, PixelFormat}; use msg::constellation_msg::{Key, KeyModifiers, KeyState, LoadData}; -use msg::constellation_msg::{NavigationDirection, PipelineId, WindowSizeData}; +use msg::constellation_msg::{NavigationDirection, PipelineId, WindowSizeData, WindowSizeType}; use pipeline::CompositionPipeline; use profile_traits::mem::{self, ReportKind, Reporter, ReporterRequest}; use profile_traits::time::{self, ProfilerCategory, profile}; @@ -461,7 +461,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { compositor.update_zoom_transform(); // Tell the constellation about the initial window size. - compositor.send_window_size(); + compositor.send_window_size(WindowSizeType::Initial); compositor } @@ -822,7 +822,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { // Initialize the new constellation channel by sending it the root window size. self.constellation_chan = new_constellation_chan; - self.send_window_size(); + self.send_window_size(WindowSizeType::Initial); self.frame_tree_id.next(); self.composite_if_necessary(CompositingReason::NewFrameTree); @@ -1062,15 +1062,15 @@ impl<Window: WindowMethods> IOCompositor<Window> { self.pending_subpages.insert(subpage_pipeline_id); } - fn send_window_size(&self) { + fn send_window_size(&self, size_type: WindowSizeType) { let dppx = self.page_zoom * self.device_pixels_per_screen_px(); let initial_viewport = self.window_size.as_f32() / dppx; let visible_viewport = initial_viewport / self.viewport_zoom; - let msg = ConstellationMsg::ResizedWindow(WindowSizeData { + let msg = ConstellationMsg::WindowSize(WindowSizeData { device_pixel_ratio: dppx, initial_viewport: initial_viewport, visible_viewport: visible_viewport, - }); + }, size_type); if let Err(e) = self.constellation_chan.send(msg) { warn!("Sending window resize to constellation failed ({}).", e); @@ -1295,7 +1295,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { self.window_size = new_size; self.scene.set_root_layer_size(new_size.as_f32()); - self.send_window_size(); + self.send_window_size(WindowSizeType::Resize); } fn on_load_url_window_event(&mut self, url_string: String) { @@ -1725,14 +1725,14 @@ impl<Window: WindowMethods> IOCompositor<Window> { fn on_zoom_reset_window_event(&mut self) { self.page_zoom = ScaleFactor::new(1.0); self.update_zoom_transform(); - self.send_window_size(); + self.send_window_size(WindowSizeType::Resize); } fn on_zoom_window_event(&mut self, magnification: f32) { self.page_zoom = ScaleFactor::new((self.page_zoom.get() * magnification) .max(MIN_ZOOM).min(MAX_ZOOM)); self.update_zoom_transform(); - self.send_window_size(); + self.send_window_size(WindowSizeType::Resize); } /// Simulate a pinch zoom diff --git a/components/compositing/constellation.rs b/components/compositing/constellation.rs index 4a4aec9d8c7..cbe0af88823 100644 --- a/components/compositing/constellation.rs +++ b/components/compositing/constellation.rs @@ -33,7 +33,7 @@ use msg::constellation_msg::WebDriverCommandMsg; use msg::constellation_msg::{FrameId, PipelineId}; use msg::constellation_msg::{Key, KeyModifiers, KeyState, LoadData}; use msg::constellation_msg::{PipelineNamespace, PipelineNamespaceId, NavigationDirection}; -use msg::constellation_msg::{SubpageId, WindowSizeData}; +use msg::constellation_msg::{SubpageId, WindowSizeData, WindowSizeType}; use msg::constellation_msg::{self, ConstellationChan, PanicMsg}; use msg::webdriver_msg; use net_traits::image_cache_thread::ImageCacheThread; @@ -639,9 +639,9 @@ impl<LTF: LayoutThreadFactory, STF: ScriptThreadFactory> Constellation<LTF, STF> debug!("constellation got navigation message from compositor"); self.handle_navigate_msg(pipeline_info, direction); } - Request::Compositor(FromCompositorMsg::ResizedWindow(new_size)) => { + Request::Compositor(FromCompositorMsg::WindowSize(new_size, size_type)) => { debug!("constellation got window resize message"); - self.handle_resized_window_msg(new_size); + self.handle_window_size_msg(new_size, size_type); } Request::Compositor(FromCompositorMsg::TickAnimation(pipeline_id, tick_type)) => { self.handle_tick_animation(pipeline_id, tick_type) @@ -910,7 +910,7 @@ impl<LTF: LayoutThreadFactory, STF: ScriptThreadFactory> Constellation<LTF, STF> visible_viewport: *size, initial_viewport: *size * ScaleFactor::new(1.0), device_pixel_ratio: self.window_size.device_pixel_ratio, - }); + }, WindowSizeType::Initial); // Store the new rect inside the pipeline let result = { @@ -1581,8 +1581,8 @@ impl<LTF: LayoutThreadFactory, STF: ScriptThreadFactory> Constellation<LTF, STF> } /// Called when the window is resized. - fn handle_resized_window_msg(&mut self, new_size: WindowSizeData) { - debug!("handle_resized_window_msg: {:?} {:?}", new_size.initial_viewport.to_untyped(), + fn handle_window_size_msg(&mut self, new_size: WindowSizeData, size_type: WindowSizeType) { + debug!("handle_window_size_msg: {:?} {:?}", new_size.initial_viewport.to_untyped(), new_size.visible_viewport.to_untyped()); if let Some(root_frame_id) = self.root_frame_id { @@ -1597,14 +1597,23 @@ impl<LTF: LayoutThreadFactory, STF: ScriptThreadFactory> Constellation<LTF, STF> None => return warn!("Pipeline {:?} resized after closing.", pipeline_id), Some(pipeline) => pipeline, }; - let _ = pipeline.script_chan.send(ConstellationControlMsg::Resize(pipeline.id, new_size)); + let _ = pipeline.script_chan.send(ConstellationControlMsg::Resize( + pipeline.id, + new_size, + size_type + )); for pipeline_id in frame.prev.iter().chain(&frame.next) { let pipeline = match self.pipelines.get(&pipeline_id) { - None => { warn!("Inactive pipeline {:?} resized after closing.", pipeline_id); continue; }, + None => { + warn!("Inactive pipeline {:?} resized after closing.", pipeline_id); + continue; + }, Some(pipeline) => pipeline, }; - let _ = pipeline.script_chan.send(ConstellationControlMsg::ResizeInactive(pipeline.id, - new_size)); + let _ = pipeline.script_chan.send(ConstellationControlMsg::ResizeInactive( + pipeline.id, + new_size + )); } } @@ -1616,8 +1625,11 @@ impl<LTF: LayoutThreadFactory, STF: ScriptThreadFactory> Constellation<LTF, STF> Some(pipeline) => pipeline, }; if pipeline.parent_info.is_none() { - let _ = pipeline.script_chan.send(ConstellationControlMsg::Resize(pipeline.id, - new_size)); + let _ = pipeline.script_chan.send(ConstellationControlMsg::Resize( + pipeline.id, + new_size, + size_type + )); } } diff --git a/components/compositing/lib.rs b/components/compositing/lib.rs index d72c2bace6c..eafe95a272a 100644 --- a/components/compositing/lib.rs +++ b/components/compositing/lib.rs @@ -37,7 +37,7 @@ extern crate layout_traits; extern crate log; extern crate msg; extern crate net_traits; -extern crate num; +extern crate num_traits; extern crate offscreen_gl_context; #[macro_use] extern crate profile_traits; @@ -59,7 +59,7 @@ use gfx_traits::Epoch; use ipc_channel::ipc::{IpcSender}; use msg::constellation_msg::{FrameId, Key, KeyState, KeyModifiers, LoadData}; use msg::constellation_msg::{NavigationDirection, PipelineId, SubpageId}; -use msg::constellation_msg::{WebDriverCommandMsg, WindowSizeData}; +use msg::constellation_msg::{WebDriverCommandMsg, WindowSizeData, WindowSizeType}; use std::collections::HashMap; use url::Url; @@ -103,7 +103,7 @@ pub enum CompositorMsg { KeyEvent(Key, KeyState, KeyModifiers), LoadUrl(PipelineId, LoadData), Navigate(Option<(PipelineId, SubpageId)>, NavigationDirection), - ResizedWindow(WindowSizeData), + WindowSize(WindowSizeData, WindowSizeType), /// Requests that the constellation instruct layout to begin a new tick of the animation. TickAnimation(PipelineId, AnimationTickType), /// Dispatch a webdriver command diff --git a/components/compositing/timer_scheduler.rs b/components/compositing/timer_scheduler.rs index 3ae43f613bb..b928c2902dc 100644 --- a/components/compositing/timer_scheduler.rs +++ b/components/compositing/timer_scheduler.rs @@ -5,7 +5,7 @@ use euclid::length::Length; use ipc_channel::ipc::{self, IpcSender}; use ipc_channel::router::ROUTER; -use num::traits::Saturating; +use num_traits::Saturating; use script_traits::{MsDuration, NsDuration, precise_time_ms, precise_time_ns}; use script_traits::{TimerEvent, TimerEventRequest}; use std::cell::RefCell; diff --git a/components/devtools/Cargo.toml b/components/devtools/Cargo.toml index 095f73655ed..da2f1c193ca 100644 --- a/components/devtools/Cargo.toml +++ b/components/devtools/Cargo.toml @@ -25,7 +25,6 @@ git = "https://github.com/servo/ipc-channel" [dependencies] hyper = { version = "0.8", features = [ "serde-serialization" ] } -log = "0.3.5" serde = "0.7" serde_json = "0.7" serde_macros = "0.7" diff --git a/components/devtools/lib.rs b/components/devtools/lib.rs index e9fe79ef14a..72a6d9ba192 100644 --- a/components/devtools/lib.rs +++ b/components/devtools/lib.rs @@ -23,8 +23,6 @@ extern crate devtools_traits; extern crate hyper; extern crate ipc_channel; -#[macro_use] -extern crate log; extern crate msg; extern crate serde; extern crate serde_json; diff --git a/components/devtools_traits/Cargo.toml b/components/devtools_traits/Cargo.toml index fb9fb4f2cf5..78f9784b15d 100644 --- a/components/devtools_traits/Cargo.toml +++ b/components/devtools_traits/Cargo.toml @@ -11,9 +11,6 @@ path = "lib.rs" [dependencies.msg] path = "../msg" -[dependencies.util] -path = "../util" - [dependencies.ipc-channel] git = "https://github.com/servo/ipc-channel" diff --git a/components/devtools_traits/lib.rs b/components/devtools_traits/lib.rs index f084d70d638..9a46ddc0000 100644 --- a/components/devtools_traits/lib.rs +++ b/components/devtools_traits/lib.rs @@ -15,6 +15,7 @@ #![feature(custom_derive, plugin)] #![plugin(heapsize_plugin, serde_macros)] +#[allow(unused_extern_crates)] #[macro_use] extern crate bitflags; extern crate heapsize; @@ -24,7 +25,6 @@ extern crate msg; extern crate serde; extern crate time; extern crate url; -extern crate util; use hyper::header::Headers; use hyper::http::RawStatus; diff --git a/components/gfx/font_cache_thread.rs b/components/gfx/font_cache_thread.rs index 315702902b9..0aa732a2418 100644 --- a/components/gfx/font_cache_thread.rs +++ b/components/gfx/font_cache_thread.rs @@ -183,15 +183,21 @@ impl FontCache { ROUTER.add_route(data_receiver.to_opaque(), box move |message| { let response: ResponseAction = message.to().unwrap(); match response { - ResponseAction::HeadersAvailable(metadata) => { - let is_response_valid = - metadata.content_type.as_ref().map_or(false, |content_type| { - let mime = &content_type.0; - is_supported_font_type(&mime.0, &mime.1) - }); - info!("{} font with MIME type {:?}", + ResponseAction::HeadersAvailable(meta_result) => { + let is_response_valid = match meta_result { + Ok(ref metadata) => { + metadata.content_type.as_ref().map_or(false, |content_type| { + let mime = &content_type.0; + is_supported_font_type(&mime.0, &mime.1) + }) + } + Err(_) => false, + }; + + info!("{} font with MIME type {}", if is_response_valid { "Loading" } else { "Ignoring" }, - metadata.content_type); + meta_result.map(|ref meta| format!("{:?}", meta.content_type)) + .unwrap_or(format!("<Network Error>"))); *response_valid.lock().unwrap() = is_response_valid; } ResponseAction::DataAvailable(new_bytes) => { diff --git a/components/gfx/lib.rs b/components/gfx/lib.rs index f60575cd625..1eecec8e321 100644 --- a/components/gfx/lib.rs +++ b/components/gfx/lib.rs @@ -23,6 +23,7 @@ extern crate alloc; extern crate app_units; extern crate azure; +#[allow(unused_extern_crates)] #[macro_use] extern crate bitflags; @@ -49,6 +50,7 @@ extern crate harfbuzz_sys as harfbuzz; extern crate heapsize; extern crate ipc_channel; extern crate layers; +#[allow(unused_extern_crates)] #[macro_use] extern crate lazy_static; extern crate libc; diff --git a/components/gfx/text/glyph.rs b/components/gfx/text/glyph.rs index 9c41bd23f2c..b1d6222f29d 100644 --- a/components/gfx/text/glyph.rs +++ b/components/gfx/text/glyph.rs @@ -469,9 +469,9 @@ impl<'a> GlyphStore { character: char, data: &GlyphData) { let glyph_is_compressible = is_simple_glyph_id(data.id) && - is_simple_advance(data.advance) - && data.offset == Point2D::zero() - && data.cluster_start; // others are stored in detail buffer + is_simple_advance(data.advance) && + data.offset == Point2D::zero() && + data.cluster_start; // others are stored in detail buffer debug_assert!(data.ligature_start); // can't compress ligature continuation glyphs. debug_assert!(i < self.char_len()); diff --git a/components/gfx/text/shaping/harfbuzz.rs b/components/gfx/text/shaping/harfbuzz.rs index 495b6af6525..5af3dfcb08c 100644 --- a/components/gfx/text/shaping/harfbuzz.rs +++ b/components/gfx/text/shaping/harfbuzz.rs @@ -412,8 +412,8 @@ impl Shaper { let mut covered_byte_span = char_byte_span.clone(); // extend, clipping at end of text range. - while covered_byte_span.end() < byte_max - && byte_to_glyph[covered_byte_span.end()] == NO_GLYPH { + while covered_byte_span.end() < byte_max && + byte_to_glyph[covered_byte_span.end()] == NO_GLYPH { let range = text.char_range_at(covered_byte_span.end()); drop(range.ch); covered_byte_span.extend_to(range.next); diff --git a/components/gfx_traits/Cargo.toml b/components/gfx_traits/Cargo.toml index d341ac03823..c6a99dbe218 100644 --- a/components/gfx_traits/Cargo.toml +++ b/components/gfx_traits/Cargo.toml @@ -22,9 +22,6 @@ path = "../msg" [dependencies.plugins] path = "../plugins" -[dependencies.util] -path = "../util" - [dependencies] euclid = {version = "0.6.5", features = ["plugins"]} heapsize = "0.3.0" diff --git a/components/gfx_traits/lib.rs b/components/gfx_traits/lib.rs index 0d13f45f4a3..64474d496bf 100644 --- a/components/gfx_traits/lib.rs +++ b/components/gfx_traits/lib.rs @@ -16,7 +16,6 @@ extern crate heapsize; extern crate layers; extern crate msg; extern crate serde; -extern crate util; pub mod color; mod paint_listener; diff --git a/components/layout/Cargo.toml b/components/layout/Cargo.toml index 35ca6cd1173..f3a91e4f916 100644 --- a/components/layout/Cargo.toml +++ b/components/layout/Cargo.toml @@ -72,7 +72,6 @@ libc = "0.2" log = "0.3.5" rustc-serialize = "0.3" selectors = {version = "0.5.1", features = ["heap_size"]} -serde = "0.7" serde_json = "0.7" serde_macros = "0.7" smallvec = "0.1" diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs index 1a02e7d8a5d..fa9558fbc0c 100644 --- a/components/layout/display_list_builder.rs +++ b/components/layout/display_list_builder.rs @@ -1220,6 +1220,9 @@ impl FragmentDisplayListBuilding for Fragment { let height = canvas_fragment_info.replaced_image_fragment_info .computed_block_size.map_or(0, |h| h.to_px() as usize); if width > 0 && height > 0 { + let computed_width = canvas_fragment_info.canvas_inline_size().to_px(); + let computed_height = canvas_fragment_info.canvas_block_size().to_px(); + let layer_id = self.layer_id(); let canvas_data = match canvas_fragment_info.ipc_renderer { Some(ref ipc_renderer) => { @@ -1230,7 +1233,10 @@ impl FragmentDisplayListBuilding for Fragment { receiver.recv().unwrap() }, None => CanvasData::Pixels(CanvasPixelData { - image_data: IpcSharedMemory::from_byte(0xFFu8, width * height * 4), + image_data: IpcSharedMemory::from_byte(0xFFu8, + (computed_width * + computed_height * 4) + as usize), image_key: None, }), }; @@ -1245,8 +1251,8 @@ impl FragmentDisplayListBuilding for Fragment { clip), image_data: Some(Arc::new(canvas_data.image_data)), webrender_image: WebRenderImageInfo { - width: width as u32, - height: height as u32, + width: computed_width as u32, + height: computed_height as u32, format: PixelFormat::RGBA8, key: canvas_data.image_key, }, diff --git a/components/layout/lib.rs b/components/layout/lib.rs index 4f1d9abdac1..f4978023d76 100644 --- a/components/layout/lib.rs +++ b/components/layout/lib.rs @@ -21,6 +21,7 @@ extern crate app_units; extern crate azure; +#[allow(unused_extern_crates)] #[macro_use] extern crate bitflags; extern crate canvas_traits; @@ -49,7 +50,6 @@ extern crate rustc_serialize; extern crate script; extern crate script_traits; extern crate selectors; -extern crate serde; extern crate serde_json; extern crate smallvec; #[macro_use(atom, ns)] extern crate string_cache; diff --git a/components/layout/traversal.rs b/components/layout/traversal.rs index 00732f852ee..1fe5388549e 100644 --- a/components/layout/traversal.rs +++ b/components/layout/traversal.rs @@ -194,9 +194,9 @@ impl<'a> PostorderFlowTraversal for AssignBSizes<'a> { #[inline] fn should_process(&self, flow: &mut Flow) -> bool { let base = flow::base(flow); - base.restyle_damage.intersects(REFLOW_OUT_OF_FLOW | REFLOW) + base.restyle_damage.intersects(REFLOW_OUT_OF_FLOW | REFLOW) && // The fragmentation countainer is responsible for calling Flow::fragment recursively - && !base.flags.contains(CAN_BE_FRAGMENTED) + !base.flags.contains(CAN_BE_FRAGMENTED) } } diff --git a/components/msg/constellation_msg.rs b/components/msg/constellation_msg.rs index cfdcdfea1ab..51270ce95c2 100644 --- a/components/msg/constellation_msg.rs +++ b/components/msg/constellation_msg.rs @@ -50,6 +50,12 @@ pub struct WindowSizeData { pub device_pixel_ratio: ScaleFactor<ViewportPx, DevicePixel, f32>, } +#[derive(Deserialize, Eq, PartialEq, Serialize, Copy, Clone, HeapSizeOf)] +pub enum WindowSizeType { + Initial, + Resize, +} + #[derive(PartialEq, Eq, Copy, Clone, Debug, Deserialize, Serialize)] pub enum KeyState { Pressed, diff --git a/components/msg/lib.rs b/components/msg/lib.rs index 0f2a16228a1..bd97c3a33da 100644 --- a/components/msg/lib.rs +++ b/components/msg/lib.rs @@ -7,6 +7,7 @@ #![deny(unsafe_code)] +#[allow(unused_extern_crates)] #[macro_use] extern crate bitflags; extern crate euclid; diff --git a/components/net/about_loader.rs b/components/net/about_loader.rs index 5fbaaa686f6..afc089c625a 100644 --- a/components/net/about_loader.rs +++ b/components/net/about_loader.rs @@ -9,12 +9,19 @@ use hyper::mime::{Mime, SubLevel, TopLevel}; use mime_classifier::MIMEClassifier; use net_traits::ProgressMsg::Done; use net_traits::response::HttpsState; -use net_traits::{LoadConsumer, LoadData, Metadata}; +use net_traits::{LoadConsumer, LoadData, Metadata, NetworkError}; use resource_thread::{CancellationListener, send_error, start_sending_sniffed_opt}; use std::sync::Arc; use url::Url; use util::resource_files::resources_dir_path; +fn url_from_non_relative_scheme(load_data: &mut LoadData, filename: &str) { + let mut path = resources_dir_path(); + path.push(filename); + assert!(path.exists()); + load_data.url = Url::from_file_path(&*path).unwrap(); +} + pub fn factory(mut load_data: LoadData, start_chan: LoadConsumer, classifier: Arc<MIMEClassifier>, @@ -41,15 +48,11 @@ pub fn factory(mut load_data: LoadData, return } "crash" => panic!("Loading the about:crash URL."), - "failure" | "not-found" => { - let mut path = resources_dir_path(); - let file_name = non_relative_scheme_data.to_owned() + ".html"; - path.push(&file_name); - assert!(path.exists()); - load_data.url = Url::from_file_path(&*path).unwrap(); - } + "failure" | "not-found" => + url_from_non_relative_scheme(&mut load_data, &(non_relative_scheme_data.to_owned() + ".html")), + "sslfail" => url_from_non_relative_scheme(&mut load_data, "badcert.html"), _ => { - send_error(load_data.url, "Unknown about: URL.".to_owned(), start_chan); + send_error(load_data.url, NetworkError::Internal("Unknown about: URL.".to_owned()), start_chan); return } }; diff --git a/components/net/chrome_loader.rs b/components/net/chrome_loader.rs new file mode 100644 index 00000000000..f18792de021 --- /dev/null +++ b/components/net/chrome_loader.rs @@ -0,0 +1,47 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +use file_loader; +use mime_classifier::MIMEClassifier; +use net_traits::{LoadConsumer, LoadData, NetworkError}; +use resource_thread::{CancellationListener, send_error}; +use std::path::Path; +use std::sync::Arc; +use url::Url; +use util::resource_files::resources_dir_path; + +pub fn resolve_chrome_url(url: &Url) -> Result<Url, ()> { + assert_eq!(url.scheme, "chrome"); + // Skip the initial // + let non_relative_scheme_data = &url.non_relative_scheme_data().unwrap()[2..]; + let relative_path = Path::new(non_relative_scheme_data); + // Don't allow chrome URLs access to files outside of the resources directory. + if non_relative_scheme_data.find("..").is_some() || + relative_path.is_absolute() || + relative_path.has_root() { + return Err(()); + } + + let mut path = resources_dir_path(); + path.push(non_relative_scheme_data); + assert!(path.exists()); + return Ok(Url::from_file_path(&*path).unwrap()); +} + +pub fn factory(mut load_data: LoadData, + start_chan: LoadConsumer, + classifier: Arc<MIMEClassifier>, + cancel_listener: CancellationListener) { + let file_url = match resolve_chrome_url(&load_data.url) { + Ok(url) => url, + Err(_) => { + send_error(load_data.url, + NetworkError::Internal("Invalid chrome URL.".to_owned()), + start_chan); + return; + } + }; + load_data.url = file_url; + file_loader::factory(load_data, start_chan, classifier, cancel_listener) +} diff --git a/components/net/cookie.rs b/components/net/cookie.rs index 0f77a8d6f2c..1dc36e60703 100644 --- a/components/net/cookie.rs +++ b/components/net/cookie.rs @@ -8,6 +8,7 @@ use cookie_rs; use net_traits::CookieSource; use pub_domains::PUB_DOMAINS; +use rustc_serialize::{Encodable, Encoder}; use std::borrow::ToOwned; use std::net::{Ipv4Addr, Ipv6Addr}; use time::{Tm, now, at, Duration}; @@ -135,10 +136,10 @@ impl Cookie { if string == domain_string { return true; } - if string.ends_with(domain_string) - && string.as_bytes()[string.len()-domain_string.len()-1] == b'.' - && string.parse::<Ipv4Addr>().is_err() - && string.parse::<Ipv6Addr>().is_err() { + if string.ends_with(domain_string) && + string.as_bytes()[string.len()-domain_string.len()-1] == b'.' && + string.parse::<Ipv4Addr>().is_err() && + string.parse::<Ipv6Addr>().is_err() { return true; } false @@ -175,3 +176,65 @@ impl Cookie { true } } + +impl Encodable for Cookie { + fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> { + s.emit_struct("Cookie", 6, |e| { + try!(e.emit_struct_field("cookie", 0, |e| RsCookie(self.cookie.clone()).encode(e))); + try!(e.emit_struct_field("host_only", 1, |e| self.host_only.encode(e))); + try!(e.emit_struct_field("persistent", 2, |e| self.persistent.encode(e))); + try!(e.emit_struct_field("creation_time", 3, |e| Time(self.creation_time).encode(e))); + try!(e.emit_struct_field("last_access", 4, |e| Time(self.last_access).encode(e))); + match self.expiry_time { + Some(time) => try!(e.emit_struct_field("expiry_time", 5, |e| Time(time).encode(e))), + None => {}, + } + Ok(()) + }) + } +} + +struct Time(Tm); + +impl Encodable for Time { + fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> { + let Time(time) = *self; + s.emit_struct("Time", 11, |e| { + try!(e.emit_struct_field("tm_sec", 0, |e| time.tm_sec.encode(e))); + try!(e.emit_struct_field("tm_min", 1, |e| time.tm_min.encode(e))); + try!(e.emit_struct_field("tm_hour", 2, |e| time.tm_hour.encode(e))); + try!(e.emit_struct_field("tm_mday", 3, |e| time.tm_mday.encode(e))); + try!(e.emit_struct_field("tm_mon", 4, |e| time.tm_mon.encode(e))); + try!(e.emit_struct_field("tm_year", 5, |e| time.tm_year.encode(e))); + try!(e.emit_struct_field("tm_wday", 6, |e| time.tm_wday.encode(e))); + try!(e.emit_struct_field("tm_yday", 7, |e| time.tm_yday.encode(e))); + try!(e.emit_struct_field("tm_isdst", 8, |e| time.tm_isdst.encode(e))); + try!(e.emit_struct_field("tm_utcoff", 9, |e| time.tm_utcoff.encode(e))); + try!(e.emit_struct_field("tm_nsec", 10, |e| time.tm_nsec.encode(e))); + Ok(()) + }) + } +} + +struct RsCookie(cookie_rs::Cookie); + +impl Encodable for RsCookie { + fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> { + let RsCookie(ref rs_cookie) = *self; + s.emit_struct("RsCookie", 9, |e| { + try!(e.emit_struct_field("name", 0, |e| rs_cookie.name.encode(e))); + try!(e.emit_struct_field("value", 1, |e| rs_cookie.value.encode(e))); + match rs_cookie.expires { + Some(time) => try!(e.emit_struct_field("expires", 2, |e| Time(time).encode(e))), + None => {}, + } + try!(e.emit_struct_field("max_age", 3, |e| rs_cookie.max_age.encode(e))); + try!(e.emit_struct_field("domain", 4, |e| rs_cookie.domain.encode(e))); + try!(e.emit_struct_field("path", 5, |e| rs_cookie.path.encode(e))); + try!(e.emit_struct_field("secure", 6, |e| rs_cookie.secure.encode(e))); + try!(e.emit_struct_field("httponly", 7, |e| rs_cookie.httponly.encode(e))); + try!(e.emit_struct_field("custom", 8, |e| rs_cookie.custom.encode(e))); + Ok(()) + }) + } +} diff --git a/components/net/cookie_storage.rs b/components/net/cookie_storage.rs index 4179d3ceda7..e71664f9611 100644 --- a/components/net/cookie_storage.rs +++ b/components/net/cookie_storage.rs @@ -7,16 +7,20 @@ use cookie::Cookie; use net_traits::CookieSource; +use rustc_serialize::{Encodable, Encoder}; use std::cmp::Ordering; use url::Url; +#[derive(RustcEncodable, Clone)] pub struct CookieStorage { + version: u32, cookies: Vec<Cookie> } impl CookieStorage { pub fn new() -> CookieStorage { CookieStorage { + version: 1, cookies: Vec::new() } } diff --git a/components/net/data_loader.rs b/components/net/data_loader.rs index 50452302627..ad881ae4044 100644 --- a/components/net/data_loader.rs +++ b/components/net/data_loader.rs @@ -6,7 +6,7 @@ use hyper::mime::{Mime, TopLevel, SubLevel, Attr, Value}; use mime_classifier::MIMEClassifier; use net_traits::LoadConsumer; use net_traits::ProgressMsg::{Payload, Done}; -use net_traits::{LoadData, Metadata}; +use net_traits::{LoadData, Metadata, NetworkError}; use resource_thread::{CancellationListener, send_error, start_sending_sniffed_opt}; use rustc_serialize::base64::FromBase64; use std::sync::Arc; @@ -110,7 +110,9 @@ pub fn load(load_data: LoadData, let _ = chan.send(Done(Ok(()))); } }, - Err(DecodeError::InvalidDataUri) => send_error(url, "invalid data uri".to_owned(), start_chan), - Err(DecodeError::NonBase64DataUri) => send_error(url, "non-base64 data uri".to_owned(), start_chan), + Err(DecodeError::InvalidDataUri) => + send_error(url, NetworkError::Internal("invalid data uri".to_owned()), start_chan), + Err(DecodeError::NonBase64DataUri) => + send_error(url, NetworkError::Internal("non-base64 data uri".to_owned()), start_chan), } } diff --git a/components/net/file_loader.rs b/components/net/file_loader.rs index b3b905c7dcb..ac1c881768b 100644 --- a/components/net/file_loader.rs +++ b/components/net/file_loader.rs @@ -6,7 +6,7 @@ use about_loader; use mime_classifier::MIMEClassifier; use mime_guess::guess_mime_type; use net_traits::ProgressMsg::{Done, Payload}; -use net_traits::{LoadConsumer, LoadData, Metadata}; +use net_traits::{LoadConsumer, LoadData, Metadata, NetworkError}; use resource_thread::{CancellationListener, ProgressSender}; use resource_thread::{send_error, start_sending_sniffed_opt}; use std::borrow::ToOwned; @@ -50,7 +50,7 @@ fn read_all(reader: &mut File, progress_chan: &ProgressSender, cancel_listener: ReadStatus::EOF => return Ok(LoadResult::Finished), } } - let _ = progress_chan.send(Done(Err("load cancelled".to_owned()))); + let _ = progress_chan.send(Done(Err(NetworkError::Internal("load cancelled".to_owned())))); Ok(LoadResult::Cancelled) } @@ -72,7 +72,7 @@ pub fn factory(load_data: LoadData, let file_path = match load_data.url.to_file_path() { Ok(file_path) => file_path, Err(_) => { - send_error(load_data.url, "Could not parse path".to_owned(), senders); + send_error(load_data.url, NetworkError::Internal("Could not parse path".to_owned()), senders); return; }, }; @@ -92,7 +92,7 @@ pub fn factory(load_data: LoadData, if cancel_listener.is_cancelled() { if let Ok(progress_chan) = get_progress_chan(load_data, file_path, senders, classifier, &[]) { - let _ = progress_chan.send(Done(Err("load cancelled".to_owned()))); + let _ = progress_chan.send(Done(Err(NetworkError::Internal("load cancelled".to_owned())))); } return; } @@ -116,7 +116,7 @@ pub fn factory(load_data: LoadData, } } Err(e) => { - send_error(load_data.url, e, senders); + send_error(load_data.url, NetworkError::Internal(e), senders); } } }); diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs index 5473a83fce5..6b5646ae29b 100644 --- a/components/net/http_loader.rs +++ b/components/net/http_loader.rs @@ -8,7 +8,6 @@ use cookie; use cookie_storage::CookieStorage; use devtools_traits::{ChromeToDevtoolsControlMsg, DevtoolsControlMsg, HttpRequest as DevtoolsHttpRequest}; use devtools_traits::{HttpResponse as DevtoolsHttpResponse, NetworkEvent}; -use file_loader; use flate2::read::{DeflateDecoder, GzDecoder}; use hsts::{HstsEntry, HstsList, secure_url}; use hyper::Error as HttpError; @@ -28,13 +27,14 @@ use msg::constellation_msg::{PipelineId}; use net_traits::ProgressMsg::{Done, Payload}; use net_traits::hosts::replace_hosts; use net_traits::response::HttpsState; -use net_traits::{CookieSource, IncludeSubdomains, LoadConsumer, LoadContext, LoadData, Metadata}; +use net_traits::{CookieSource, IncludeSubdomains, LoadConsumer, LoadContext, LoadData}; +use net_traits::{Metadata, NetworkError}; use openssl::ssl::error::{SslError, OpensslError}; use openssl::ssl::{SSL_OP_NO_SSLV2, SSL_OP_NO_SSLV3, SSL_VERIFY_PEER, SslContext, SslMethod}; -use resource_thread::{CancellationListener, send_error, start_sending_sniffed_opt, AuthCacheEntry}; +use resource_thread::{CancellationListener, send_error, start_sending_sniffed_opt, AuthCache, AuthCacheEntry}; use std::borrow::ToOwned; use std::boxed::FnBox; -use std::collections::{HashMap, HashSet}; +use std::collections::HashSet; use std::error::Error; use std::io::{self, Read, Write}; use std::sync::mpsc::Sender; @@ -128,7 +128,7 @@ fn inner_url(url: &Url) -> Url { pub struct HttpState { pub hsts_list: Arc<RwLock<HstsList>>, pub cookie_jar: Arc<RwLock<CookieStorage>>, - pub auth_cache: Arc<RwLock<HashMap<Url, AuthCacheEntry>>>, + pub auth_cache: Arc<RwLock<AuthCache>>, } impl HttpState { @@ -136,7 +136,7 @@ impl HttpState { HttpState { hsts_list: Arc::new(RwLock::new(HstsList::new())), cookie_jar: Arc::new(RwLock::new(CookieStorage::new())), - auth_cache: Arc::new(RwLock::new(HashMap::new())), + auth_cache: Arc::new(RwLock::new(AuthCache::new())), } } } @@ -158,32 +158,15 @@ fn load_for_consumer(load_data: LoadData, match load(&load_data, &ui_provider, &http_state, devtools_chan, &factory, user_agent, &cancel_listener) { - Err(LoadError::UnsupportedScheme(url)) => { - let s = format!("{} request, but we don't support that scheme", &*url.scheme); - send_error(url, s, start_chan) - } - Err(LoadError::Connection(url, e)) => { - send_error(url, e, start_chan) - } - Err(LoadError::MaxRedirects(url, _)) => { - send_error(url, "too many redirects".to_owned(), start_chan) - } - Err(LoadError::Cors(url, msg)) | - Err(LoadError::Cancelled(url, msg)) | - Err(LoadError::InvalidRedirect(url, msg)) | - Err(LoadError::Decoding(url, msg)) => { - send_error(url, msg, start_chan) - } - Err(LoadError::Ssl(url, msg)) => { - info!("ssl validation error {}, '{}'", url.serialize(), msg); - - let mut image = resources_dir_path(); - image.push("badcert.html"); - let load_data = LoadData::new(load_data.context, Url::from_file_path(&*image).unwrap(), None); - - file_loader::factory(load_data, start_chan, classifier, cancel_listener) + Err(error) => { + match error.error { + LoadErrorType::ConnectionAborted => unreachable!(), + LoadErrorType::Ssl => send_error(error.url.clone(), + NetworkError::SslValidation(error.url), + start_chan), + _ => send_error(error.url, NetworkError::Internal(error.reason), start_chan) + } } - Err(LoadError::ConnectionAborted(_)) => unreachable!(), Ok(mut load_response) => { let metadata = load_response.metadata.clone(); send_data(load_data.context, &mut load_response, start_chan, metadata, classifier, &cancel_listener) @@ -268,20 +251,15 @@ impl HttpRequestFactory for NetworkHttpRequestFactory { let error: &(Error + Send + 'static) = &**error; if let Some(&SslError::OpenSslErrors(ref errors)) = error.downcast_ref::<SslError>() { if errors.iter().any(is_cert_verify_error) { - return Err( - LoadError::Ssl(url, format!("ssl error: {:?} {:?}", - error.description(), - error.cause()))); + let msg = format!("ssl error: {:?} {:?}", error.description(), error.cause()); + return Err(LoadError::new(url, LoadErrorType::Ssl, msg)); } } } let mut request = match connection { Ok(req) => req, - - Err(e) => { - return Err(LoadError::Connection(url, e.description().to_owned())) - } + Err(e) => return Err(LoadError::new(url, LoadErrorType::Connection, e.description().to_owned())), }; *request.headers_mut() = headers; @@ -306,21 +284,23 @@ impl HttpRequest for WrappedHttpRequest { let url = self.request.url.clone(); let mut request_writer = match self.request.start() { Ok(streaming) => streaming, - Err(e) => return Err(LoadError::Connection(url, e.description().to_owned())) + Err(e) => return Err(LoadError::new(url, LoadErrorType::Connection, e.description().to_owned())), }; if let Some(ref data) = *body { if let Err(e) = request_writer.write_all(&data) { - return Err(LoadError::Connection(url, e.description().to_owned())) + return Err(LoadError::new(url, LoadErrorType::Connection, e.description().to_owned())) } } let response = match request_writer.send() { Ok(w) => w, Err(HttpError::Io(ref io_error)) if io_error.kind() == io::ErrorKind::ConnectionAborted => { - return Err(LoadError::ConnectionAborted(io_error.description().to_owned())); + return Err(LoadError::new(url, LoadErrorType::ConnectionAborted, + io_error.description().to_owned())); }, - Err(e) => return Err(LoadError::Connection(url, e.description().to_owned())) + Err(e) => return Err(LoadError::new(url, LoadErrorType::Connection, + e.description().to_owned())), }; Ok(WrappedHttpResponse { response: response }) @@ -328,16 +308,33 @@ impl HttpRequest for WrappedHttpRequest { } #[derive(Debug)] -pub enum LoadError { - UnsupportedScheme(Url), - Connection(Url, String), - Cors(Url, String), - Ssl(Url, String), - InvalidRedirect(Url, String), - Decoding(Url, String), - MaxRedirects(Url, u32), // u32 indicates number of redirects that occurred - ConnectionAborted(String), - Cancelled(Url, String), +pub struct LoadError { + pub url: Url, + pub error: LoadErrorType, + pub reason: String, +} + +impl LoadError { + pub fn new(url: Url, error: LoadErrorType, reason: String) -> LoadError { + LoadError { + url: url, + error: error, + reason: reason, + } + } +} + +#[derive(Eq, PartialEq, Debug)] +pub enum LoadErrorType { + Cancelled, + Connection, + ConnectionAborted, + Cors, + Decoding, + InvalidRedirect, + MaxRedirects(u32), // u32 indicates number of redirects that occurred + Ssl, + UnsupportedScheme, } fn set_default_accept_encoding(headers: &mut Headers) { @@ -456,12 +453,8 @@ impl<R: HttpResponse> StreamedResponse<R> { Some(Encoding::Gzip) => { let result = GzDecoder::new(response); match result { - Ok(response_decoding) => { - Ok(StreamedResponse::new(m, Decoder::Gzip(response_decoding))) - } - Err(err) => { - Err(LoadError::Decoding(m.final_url, err.to_string())) - } + Ok(response_decoding) => Ok(StreamedResponse::new(m, Decoder::Gzip(response_decoding))), + Err(err) => Err(LoadError::new(m.final_url, LoadErrorType::Decoding, err.to_string())), } } Some(Encoding::Deflate) => { @@ -529,7 +522,7 @@ pub fn modify_request_headers(headers: &mut Headers, url: &Url, user_agent: &str, cookie_jar: &Arc<RwLock<CookieStorage>>, - auth_cache: &Arc<RwLock<HashMap<Url, AuthCacheEntry>>>, + auth_cache: &Arc<RwLock<AuthCache>>, load_data: &LoadData) { // Ensure that the host header is set from the original url let host = Host { @@ -562,13 +555,13 @@ pub fn modify_request_headers(headers: &mut Headers, fn set_auth_header(headers: &mut Headers, url: &Url, - auth_cache: &Arc<RwLock<HashMap<Url, AuthCacheEntry>>>) { + auth_cache: &Arc<RwLock<AuthCache>>) { if !headers.has::<Authorization<Basic>>() { if let Some(auth) = auth_from_url(url) { headers.set(auth); } else { - if let Some(ref auth_entry) = auth_cache.read().unwrap().get(url) { + if let Some(ref auth_entry) = auth_cache.read().unwrap().entries.get(url) { auth_from_entry(&auth_entry, headers); } } @@ -670,7 +663,7 @@ pub fn obtain_response<A>(request_factory: &HttpRequestFactory<R=A>, headers.clone())); if cancel_listener.is_cancelled() { - return Err(LoadError::Cancelled(connection_url.clone(), "load cancelled".to_owned())); + return Err(LoadError::new(connection_url.clone(), LoadErrorType::Cancelled, "load cancelled".to_owned())); } let maybe_response = req.send(request_body); @@ -685,11 +678,14 @@ pub fn obtain_response<A>(request_factory: &HttpRequestFactory<R=A>, response = match maybe_response { Ok(r) => r, - Err(LoadError::ConnectionAborted(reason)) => { - debug!("connection aborted ({:?}), possibly stale, trying new connection", reason); - continue; - } - Err(e) => return Err(e), + Err(e) => { + if let LoadErrorType::ConnectionAborted = e.error { + debug!("connection aborted ({:?}), possibly stale, trying new connection", e.reason); + continue; + } else { + return Err(e) + } + }, }; // if no ConnectionAborted, break the loop @@ -736,7 +732,7 @@ pub fn load<A, B>(load_data: &LoadData, let mut new_auth_header: Option<Authorization<Basic>> = None; if cancel_listener.is_cancelled() { - return Err(LoadError::Cancelled(doc_url, "load cancelled".to_owned())); + return Err(LoadError::new(doc_url, LoadErrorType::Cancelled, "load cancelled".to_owned())); } // If the URL is a view-source scheme then the scheme data contains the @@ -758,15 +754,17 @@ pub fn load<A, B>(load_data: &LoadData, } if iters > max_redirects { - return Err(LoadError::MaxRedirects(doc_url, iters - 1)); + return Err(LoadError::new(doc_url, LoadErrorType::MaxRedirects(iters - 1), + "too many redirects".to_owned())); } if &*doc_url.scheme != "http" && &*doc_url.scheme != "https" { - return Err(LoadError::UnsupportedScheme(doc_url)); + let s = format!("{} request, but we don't support that scheme", &*doc_url.scheme); + return Err(LoadError::new(doc_url, LoadErrorType::UnsupportedScheme, s)); } if cancel_listener.is_cancelled() { - return Err(LoadError::Cancelled(doc_url, "load cancelled".to_owned())); + return Err(LoadError::new(doc_url, LoadErrorType::Cancelled, "load cancelled".to_owned())); } info!("requesting {}", doc_url.serialize()); @@ -822,7 +820,7 @@ pub fn load<A, B>(load_data: &LoadData, password: auth_header.password.to_owned().unwrap(), }; - http_state.auth_cache.write().unwrap().insert(doc_url.clone(), auth_entry); + http_state.auth_cache.write().unwrap().entries.insert(doc_url.clone(), auth_entry); } } @@ -832,10 +830,9 @@ pub fn load<A, B>(load_data: &LoadData, // CORS (https://fetch.spec.whatwg.org/#http-fetch, status section, point 9, 10) if let Some(ref c) = load_data.cors { if c.preflight { - return Err( - LoadError::Cors( - doc_url, - "Preflight fetch inconsistent with main fetch".to_owned())); + return Err(LoadError::new(doc_url, + LoadErrorType::Cors, + "Preflight fetch inconsistent with main fetch".to_owned())); } else { // XXXManishearth There are some CORS-related steps here, // but they don't seem necessary until credentials are implemented @@ -844,9 +841,7 @@ pub fn load<A, B>(load_data: &LoadData, let new_doc_url = match doc_url.join(&new_url) { Ok(u) => u, - Err(e) => { - return Err(LoadError::InvalidRedirect(doc_url, e.to_string())); - } + Err(e) => return Err(LoadError::new(doc_url, LoadErrorType::InvalidRedirect, e.to_string())), }; // According to https://tools.ietf.org/html/rfc7231#section-6.4.2, @@ -858,7 +853,7 @@ pub fn load<A, B>(load_data: &LoadData, } if redirected_to.contains(&new_doc_url) { - return Err(LoadError::InvalidRedirect(doc_url, "redirect loop".to_owned())); + return Err(LoadError::new(doc_url, LoadErrorType::InvalidRedirect, "redirect loop".to_owned())); } info!("redirecting to {}", new_doc_url); @@ -921,7 +916,7 @@ fn send_data<R: Read>(context: LoadContext, loop { if cancel_listener.is_cancelled() { - let _ = progress_chan.send(Done(Err("load cancelled".to_owned()))); + let _ = progress_chan.send(Done(Err(NetworkError::Internal("load cancelled".to_owned())))); return; } diff --git a/components/net/image_cache_thread.rs b/components/net/image_cache_thread.rs index 91a0cf0dc32..660ba87cb4e 100644 --- a/components/net/image_cache_thread.rs +++ b/components/net/image_cache_thread.rs @@ -10,7 +10,7 @@ use net_traits::image_cache_thread::ImageResponder; use net_traits::image_cache_thread::{ImageCacheChan, ImageCacheCommand, ImageCacheThread, ImageState}; use net_traits::image_cache_thread::{ImageCacheResult, ImageOrMetadataAvailable, ImageResponse, UsePlaceholder}; use net_traits::{AsyncResponseTarget, ControlMsg, LoadConsumer, LoadData, ResourceThread}; -use net_traits::{ResponseAction, LoadContext}; +use net_traits::{ResponseAction, LoadContext, NetworkError}; use std::borrow::ToOwned; use std::collections::HashMap; use std::collections::hash_map::Entry::{Occupied, Vacant}; @@ -44,7 +44,7 @@ struct PendingLoad { metadata: Option<ImageMetadata>, // Once loading is complete, the result of the operation. - result: Option<Result<(), String>>, + result: Option<Result<(), NetworkError>>, listeners: Vec<ImageListener>, // The url being loaded. Do not forget that this may be several Mb diff --git a/components/net/lib.rs b/components/net/lib.rs index a784485f887..964c0eb842a 100644 --- a/components/net/lib.rs +++ b/components/net/lib.rs @@ -39,6 +39,7 @@ extern crate webrender_traits; extern crate websocket; pub mod about_loader; +pub mod chrome_loader; pub mod cookie; pub mod cookie_storage; pub mod data_loader; diff --git a/components/net/resource_thread.rs b/components/net/resource_thread.rs index 0bc6f19e053..ba1f2bb9032 100644 --- a/components/net/resource_thread.rs +++ b/components/net/resource_thread.rs @@ -3,8 +3,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ //! A thread that takes a URL and streams back the binary data. - use about_loader; +use chrome_loader; use cookie; use cookie_storage::CookieStorage; use data_loader; @@ -21,14 +21,21 @@ use net_traits::LoadContext; use net_traits::ProgressMsg::Done; use net_traits::{AsyncResponseTarget, Metadata, ProgressMsg, ResourceThread, ResponseAction}; use net_traits::{ControlMsg, CookieSource, LoadConsumer, LoadData, LoadResponse, ResourceId}; -use net_traits::{WebSocketCommunicate, WebSocketConnectData}; +use net_traits::{NetworkError, WebSocketCommunicate, WebSocketConnectData}; +use rustc_serialize::Encodable; +use rustc_serialize::json; use std::borrow::ToOwned; use std::boxed::FnBox; use std::cell::Cell; use std::collections::HashMap; +use std::error::Error; +use std::fs::File; +use std::io::prelude::*; +use std::path::Path; use std::sync::mpsc::{Receiver, Sender, channel}; use std::sync::{Arc, RwLock}; use url::Url; +use util::opts; use util::prefs; use util::thread::spawn_named; use websocket_loader; @@ -55,11 +62,11 @@ impl ProgressSender { } } -pub fn send_error(url: Url, err: String, start_chan: LoadConsumer) { +pub fn send_error(url: Url, err: NetworkError, start_chan: LoadConsumer) { let mut metadata: Metadata = Metadata::default(url); metadata.status = None; - if let Ok(p) = start_sending_opt(start_chan, metadata) { + if let Ok(p) = start_sending_opt(start_chan, metadata, Some(err.clone())) { p.send(Done(Err(err))).unwrap(); } } @@ -107,16 +114,19 @@ pub fn start_sending_sniffed_opt(start_chan: LoadConsumer, mut metadata: Metadat metadata.content_type = Some(ContentType(Mime(mime_tp, mime_sb, vec![]))); } - start_sending_opt(start_chan, metadata) + start_sending_opt(start_chan, metadata, None) } /// For use by loaders in responding to a Load message. -fn start_sending_opt(start_chan: LoadConsumer, metadata: Metadata) -> Result<ProgressSender, ()> { +/// It takes an optional NetworkError, so that we can extract the SSL Validation errors +/// and take it to the HTML parser +fn start_sending_opt(start_chan: LoadConsumer, metadata: Metadata, + network_error: Option<NetworkError>) -> Result<ProgressSender, ()> { match start_chan { LoadConsumer::Channel(start_chan) => { let (progress_chan, progress_port) = ipc::channel().unwrap(); let result = start_chan.send(LoadResponse { - metadata: metadata, + metadata: metadata, progress_port: progress_port, }); match result { @@ -125,7 +135,13 @@ fn start_sending_opt(start_chan: LoadConsumer, metadata: Metadata) -> Result<Pro } } LoadConsumer::Listener(target) => { - target.invoke_with_listener(ResponseAction::HeadersAvailable(metadata)); + match network_error { + Some(NetworkError::SslValidation(url)) => { + let error = NetworkError::SslValidation(url); + target.invoke_with_listener(ResponseAction::HeadersAvailable(Err(error))); + } + _ => target.invoke_with_listener(ResponseAction::HeadersAvailable(Ok(metadata))), + } Ok(ProgressSender::Listener(target)) } } @@ -180,12 +196,54 @@ impl ResourceChannelManager { ControlMsg::Synchronize(sender) => { let _ = sender.send(()); } - ControlMsg::Exit => break, + ControlMsg::Exit => { + if let Some(ref profile_dir) = opts::get().profile_dir { + match self.resource_manager.auth_cache.read() { + Ok(auth_cache) => write_json_to_file(&*auth_cache, profile_dir, "auth_cache.json"), + Err(_) => warn!("Error writing auth cache to disk"), + } + match self.resource_manager.cookie_jar.read() { + Ok(jar) => write_json_to_file(&*jar, profile_dir, "cookie_jar.json"), + Err(_) => warn!("Error writing cookie jar to disk"), + } + match self.resource_manager.hsts_list.read() { + Ok(hsts) => write_json_to_file(&*hsts, profile_dir, "hsts_list.json"), + Err(_) => warn!("Error writing hsts list to disk"), + } + } + break; + } + } } } } +pub fn write_json_to_file<T: Encodable>(data: &T, profile_dir: &str, filename: &str) { + let json_encoded: String; + match json::encode(&data) { + Ok(d) => json_encoded = d, + Err(_) => return, + } + let path = Path::new(profile_dir).join(filename); + let display = path.display(); + + let mut file = match File::create(&path) { + Err(why) => panic!("couldn't create {}: {}", + display, + Error::description(&why)), + Ok(file) => file, + }; + + match file.write_all(json_encoded.as_bytes()) { + Err(why) => { + panic!("couldn't write to {}: {}", display, + Error::description(&why)) + }, + Ok(_) => println!("successfully wrote to {}", display), + } +} + /// The optional resources required by the `CancellationListener` pub struct CancellableResource { /// The receiver which receives a message on load cancellation @@ -249,15 +307,32 @@ impl Drop for CancellationListener { } } +#[derive(RustcDecodable, RustcEncodable, Clone)] pub struct AuthCacheEntry { pub user_name: String, pub password: String, } +impl AuthCache { + + pub fn new() -> AuthCache { + AuthCache { + version: 1, + entries: HashMap::new() + } + } +} + +#[derive(RustcDecodable, RustcEncodable, Clone)] +pub struct AuthCache { + pub version: u32, + pub entries: HashMap<Url, AuthCacheEntry>, +} + pub struct ResourceManager { user_agent: String, cookie_jar: Arc<RwLock<CookieStorage>>, - auth_cache: Arc<RwLock<HashMap<Url, AuthCacheEntry>>>, + auth_cache: Arc<RwLock<AuthCache>>, mime_classifier: Arc<MIMEClassifier>, devtools_chan: Option<Sender<DevtoolsControlMsg>>, hsts_list: Arc<RwLock<HstsList>>, @@ -273,7 +348,7 @@ impl ResourceManager { ResourceManager { user_agent: user_agent, cookie_jar: Arc::new(RwLock::new(CookieStorage::new())), - auth_cache: Arc::new(RwLock::new(HashMap::new())), + auth_cache: Arc::new(RwLock::new(AuthCache::new())), mime_classifier: Arc::new(MIMEClassifier::new()), devtools_chan: devtools_channel, hsts_list: Arc::new(RwLock::new(hsts_list)), @@ -323,6 +398,7 @@ impl ResourceManager { let cancel_listener = CancellationListener::new(cancel_resource); let loader = match &*load_data.url.scheme { + "chrome" => from_factory(chrome_loader::factory), "file" => from_factory(file_loader::factory), "http" | "https" | "view-source" => { let http_state = HttpState { @@ -339,7 +415,7 @@ impl ResourceManager { "about" => from_factory(about_loader::factory), _ => { debug!("resource_thread: no loader for scheme {}", load_data.url.scheme); - send_error(load_data.url, "no loader for scheme".to_owned(), consumer); + send_error(load_data.url, NetworkError::Internal("no loader for scheme".to_owned()), consumer); return } }; diff --git a/components/net/storage_thread.rs b/components/net/storage_thread.rs index 746cce7963c..6c2ca89ee6c 100644 --- a/components/net/storage_thread.rs +++ b/components/net/storage_thread.rs @@ -4,10 +4,12 @@ use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use net_traits::storage_thread::{StorageThread, StorageThreadMsg, StorageType}; +use resource_thread; use std::borrow::ToOwned; use std::collections::BTreeMap; use std::collections::HashMap; use url::Url; +use util::opts; use util::thread::spawn_named; const QUOTA_SIZE_LIMIT: usize = 5 * 1024 * 1024; @@ -69,6 +71,9 @@ impl StorageManager { self.clear(sender, url, storage_type) } StorageThreadMsg::Exit => { + if let Some(ref profile_dir) = opts::get().profile_dir { + resource_thread::write_json_to_file(&self.local_data, profile_dir, "local_data.json"); + } break } } diff --git a/components/net_traits/lib.rs b/components/net_traits/lib.rs index 819d0a80335..407b0dd50fb 100644 --- a/components/net_traits/lib.rs +++ b/components/net_traits/lib.rs @@ -17,6 +17,7 @@ extern crate heapsize; extern crate hyper; extern crate image as piston_image; extern crate ipc_channel; +#[allow(unused_extern_crates)] #[macro_use] extern crate lazy_static; #[macro_use] @@ -113,13 +114,13 @@ pub trait AsyncFetchListener { /// A listener for asynchronous network events. Cancelling the underlying request is unsupported. pub trait AsyncResponseListener { /// The response headers for a request have been received. - fn headers_available(&mut self, metadata: Metadata); + fn headers_available(&mut self, metadata: Result<Metadata, NetworkError>); /// A portion of the response body has been received. This data is unavailable after /// this method returned, and must be stored accordingly. fn data_available(&mut self, payload: Vec<u8>); /// The response is complete. If the provided status is an Err value, there is no guarantee /// that the response body was completely read. - fn response_complete(&mut self, status: Result<(), String>); + fn response_complete(&mut self, status: Result<(), NetworkError>); } /// Data for passing between threads/processes to indicate a particular action to @@ -127,11 +128,11 @@ pub trait AsyncResponseListener { #[derive(Deserialize, Serialize)] pub enum ResponseAction { /// Invoke headers_available - HeadersAvailable(Metadata), + HeadersAvailable(Result<Metadata, NetworkError>), /// Invoke data_available DataAvailable(Vec<u8>), /// Invoke response_complete - ResponseComplete(Result<(), String>) + ResponseComplete(Result<(), NetworkError>) } impl ResponseAction { @@ -376,7 +377,7 @@ pub enum ProgressMsg { /// Binary data - there may be multiple of these Payload(Vec<u8>), /// Indicates loading is complete, either successfully or not - Done(Result<(), String>) + Done(Result<(), NetworkError>), } /// Convenience function for synchronously loading a whole resource. @@ -384,7 +385,7 @@ pub fn load_whole_resource(context: LoadContext, resource_thread: &ResourceThread, url: Url, pipeline_id: Option<PipelineId>) - -> Result<(Metadata, Vec<u8>), String> { + -> Result<(Metadata, Vec<u8>), NetworkError> { let (start_chan, start_port) = ipc::channel().unwrap(); resource_thread.send(ControlMsg::Load(LoadData::new(context, url, pipeline_id), LoadConsumer::Channel(start_chan), None)).unwrap(); @@ -413,3 +414,13 @@ pub enum ConstellationMsg { /// Queries whether a pipeline or its ancestors are private IsPrivate(PipelineId, Sender<bool>), } + +/// Network errors that have to be exported out of the loaders +#[derive(Clone, PartialEq, Eq, Debug, Deserialize, Serialize, HeapSizeOf)] +pub enum NetworkError { + /// Could be any of the internal errors, like unsupported scheme, load + /// cancellation, connection errors, etc. + Internal(String), + /// SSL validation error that has to be handled in the HTML parser + SslValidation(Url), +} diff --git a/components/plugins/lib.rs b/components/plugins/lib.rs index 69ddbc9a094..9ee553145a5 100644 --- a/components/plugins/lib.rs +++ b/components/plugins/lib.rs @@ -39,7 +39,7 @@ pub mod lints; /// Autogenerates implementations of Reflectable on DOM structs pub mod reflector; /// Utilities for writing plugins -pub mod utils; +mod utils; #[plugin_registrar] pub fn plugin_registrar(reg: &mut Registry) { diff --git a/components/plugins/lints/transmute_type.rs b/components/plugins/lints/transmute_type.rs index 8f9f4d7ce6b..ef2806f5f2f 100644 --- a/components/plugins/lints/transmute_type.rs +++ b/components/plugins/lints/transmute_type.rs @@ -28,8 +28,8 @@ impl LateLintPass for TransmutePass { match expr.node { hir::ExprPath(_, ref path) => { if path.segments.last() - .map_or(false, |ref segment| segment.identifier.name.as_str() == "transmute") - && args.len() == 1 { + .map_or(false, |ref segment| segment.identifier.name.as_str() == "transmute") && + args.len() == 1 { let tcx = cx.tcx; cx.span_lint(TRANSMUTE_TYPE_LINT, ex.span, &format!("Transmute to {:?} from {:?} detected", diff --git a/components/plugins/utils.rs b/components/plugins/utils.rs index b514e967d5b..b39102f5626 100644 --- a/components/plugins/utils.rs +++ b/components/plugins/utils.rs @@ -73,30 +73,6 @@ pub fn match_lang_did(cx: &LateContext, did: DefId, value: &str) -> bool { }) } -// Determines if a block is in an unsafe context so that an unhelpful -// lint can be aborted. -pub fn unsafe_context(map: &ast_map::Map, id: ast::NodeId) -> bool { - match map.find(map.get_parent(id)) { - Some(ast_map::NodeImplItem(itm)) => { - match itm.node { - hir::ImplItemKind::Method(ref sig, _) => sig.unsafety == hir::Unsafety::Unsafe, - _ => false - } - }, - Some(ast_map::NodeItem(itm)) => { - match itm.node { - hir::ItemFn(_, style, _, _, _, _) => match style { - hir::Unsafety::Unsafe => true, - _ => false, - }, - _ => false, - } - } - _ => false // There are probably a couple of other unsafe cases we don't care to lint, those will need - // to be added. - } -} - /// check if a DefId's path matches the given absolute type path /// usage e.g. with /// `match_def_path(cx, id, &["core", "option", "Option"])` diff --git a/components/profile/lib.rs b/components/profile/lib.rs index 53b7fa0ae2b..5885d85588d 100644 --- a/components/profile/lib.rs +++ b/components/profile/lib.rs @@ -10,6 +10,7 @@ #![deny(unsafe_code)] +#[allow(unused_extern_crates)] #[cfg(not(target_os = "windows"))] extern crate alloc_jemalloc; extern crate hbs_pow; diff --git a/components/range/Cargo.toml b/components/range/Cargo.toml index d9f958149ef..3ac67f10338 100644 --- a/components/range/Cargo.toml +++ b/components/range/Cargo.toml @@ -12,7 +12,7 @@ path = "lib.rs" [dependencies] heapsize = "0.3.0" heapsize_plugin = "0.1.2" -num = "0.1.24" +num-traits = "0.1.32" rustc-serialize = "0.3" serde = "0.7" serde_macros = "0.7" diff --git a/components/range/lib.rs b/components/range/lib.rs index b598f638d09..d32909c0808 100644 --- a/components/range/lib.rs +++ b/components/range/lib.rs @@ -13,7 +13,7 @@ #![deny(unsafe_code)] extern crate heapsize; -extern crate num as num_lib; +extern crate num_traits; extern crate rustc_serialize; extern crate serde; @@ -43,7 +43,7 @@ impl Int for isize { #[inline] fn max_value() -> isize { ::std::isize::MAX } #[inline] - fn from_usize(n: usize) -> Option<isize> { num_lib::NumCast::from(n) } + fn from_usize(n: usize) -> Option<isize> { num_traits::NumCast::from(n) } } impl Int for usize { #[inline] diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml index 9fda41e036f..fd84383c346 100644 --- a/components/script/Cargo.toml +++ b/components/script/Cargo.toml @@ -78,7 +78,7 @@ hyper = { version = "0.8", features = [ "serde-serialization" ] } image = "0.9" libc = "0.2" log = "0.3.5" -num = "0.1.24" +num-traits = "0.1.32" offscreen_gl_context = "0.1.2" rand = "0.3" phf = "0.7.13" diff --git a/components/script/cors.rs b/components/script/cors.rs index da8c3db68ca..626d3985d8c 100644 --- a/components/script/cors.rs +++ b/components/script/cors.rs @@ -18,7 +18,7 @@ use hyper::header::{HeaderView, Headers}; use hyper::method::Method; use hyper::mime::{Mime, SubLevel, TopLevel}; use hyper::status::StatusClass::Success; -use net_traits::{AsyncResponseListener, Metadata, ResponseAction}; +use net_traits::{AsyncResponseListener, Metadata, NetworkError, ResponseAction}; use network_listener::{NetworkListener, PreInvoke}; use script_runtime::ScriptChan; use std::ascii::AsciiExt; @@ -124,13 +124,15 @@ impl CORSRequest { // This is shoe-horning the CORSReponse stuff into the rest of the async network // framework right now. It would be worth redesigning http_fetch to do this properly. impl AsyncResponseListener for CORSContext { - fn headers_available(&mut self, _metadata: Metadata) { + fn headers_available(&mut self, _metadata: Result<Metadata, NetworkError>) { + } fn data_available(&mut self, _payload: Vec<u8>) { + } - fn response_complete(&mut self, _status: Result<(), String>) { + fn response_complete(&mut self, _status: Result<(), NetworkError>) { let response = self.response.take().unwrap(); self.listener.response_available(response); } diff --git a/components/script/dom/bindings/conversions.rs b/components/script/dom/bindings/conversions.rs index 060d3d598ca..baeb0a1f92b 100644 --- a/components/script/dom/bindings/conversions.rs +++ b/components/script/dom/bindings/conversions.rs @@ -53,7 +53,7 @@ use js::jsapi::{Type}; use js::jsval::{ObjectValue, StringValue}; use js::rust::ToString; use libc; -use num::Float; +use num_traits::Float; use std::{ptr, mem, slice}; pub use util::non_geckolib::{StringificationBehavior, jsstring_to_str}; use util::str::DOMString; diff --git a/components/script/dom/bindings/num.rs b/components/script/dom/bindings/num.rs index 972f90389d1..fde24d08421 100644 --- a/components/script/dom/bindings/num.rs +++ b/components/script/dom/bindings/num.rs @@ -4,7 +4,7 @@ //! The `Finite<T>` struct. -use num::Float; +use num_traits::Float; use std::ops::Deref; /// Encapsulates the IDL restricted float type. diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs index 50c3fbf682f..acda028a834 100644 --- a/components/script/dom/bindings/trace.rs +++ b/components/script/dom/bindings/trace.rs @@ -56,12 +56,12 @@ use js::rust::Runtime; use layout_interface::{LayoutChan, LayoutRPC}; use libc; use msg::constellation_msg::ConstellationChan; -use msg::constellation_msg::{PipelineId, SubpageId, WindowSizeData}; -use net_traits::Metadata; +use msg::constellation_msg::{PipelineId, SubpageId, WindowSizeData, WindowSizeType}; use net_traits::image::base::{Image, ImageMetadata}; use net_traits::image_cache_thread::{ImageCacheChan, ImageCacheThread}; use net_traits::response::HttpsState; use net_traits::storage_thread::StorageType; +use net_traits::{Metadata, NetworkError}; use offscreen_gl_context::GLLimits; use profile_traits::mem::ProfilerChan as MemProfilerChan; use profile_traits::time::ProfilerChan as TimeProfilerChan; @@ -287,13 +287,14 @@ no_jsmanaged_fields!(Size2D<T>); no_jsmanaged_fields!(Arc<T>); no_jsmanaged_fields!(Image, ImageMetadata, ImageCacheChan, ImageCacheThread); no_jsmanaged_fields!(Metadata); +no_jsmanaged_fields!(NetworkError); no_jsmanaged_fields!(Atom, Namespace, QualName); no_jsmanaged_fields!(Trusted<T: Reflectable>); 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!(SubpageId, WindowSizeData, PipelineId); +no_jsmanaged_fields!(SubpageId, WindowSizeData, WindowSizeType, PipelineId); no_jsmanaged_fields!(TimerEventId, TimerSource); no_jsmanaged_fields!(WorkerId); no_jsmanaged_fields!(QuirksMode); diff --git a/components/script/dom/blob.rs b/components/script/dom/blob.rs index 9c23b8f6da0..de7a7b8c35a 100644 --- a/components/script/dom/blob.rs +++ b/components/script/dom/blob.rs @@ -12,7 +12,7 @@ use dom::bindings::reflector::{Reflectable, Reflector, reflect_dom_object}; use dom::bindings::trace::JSTraceable; use encoding::all::UTF_8; use encoding::types::{EncoderTrap, Encoding}; -use num::ToPrimitive; +use num_traits::ToPrimitive; use std::ascii::AsciiExt; use std::borrow::ToOwned; use std::cell::Cell; diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index 492b98f0edf..36c042b4d75 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -39,7 +39,7 @@ use euclid::size::Size2D; use ipc_channel::ipc::{self, IpcSender}; use net_traits::image::base::PixelFormat; use net_traits::image_cache_thread::ImageResponse; -use num::{Float, ToPrimitive}; +use num_traits::{Float, ToPrimitive}; use script_traits::ScriptMsg as ConstellationMsg; use std::cell::Cell; use std::str::FromStr; @@ -486,11 +486,29 @@ impl CanvasRenderingContext2D { match color { Ok(CSSColor::RGBA(rgba)) => Ok(rgba), Ok(CSSColor::CurrentColor) => { + // TODO: https://github.com/whatwg/html/issues/1099 + // Reconsider how to calculate currentColor in a display:none canvas + // TODO: will need to check that the context bitmap mode is fixed // once we implement CanvasProxy let window = window_from_node(&*self.canvas); + let style = window.GetComputedStyle(&*self.canvas.upcast(), None); - self.parse_color(&style.GetPropertyValue(DOMString::from("color"))) + + let element_not_rendered = + !self.canvas.upcast::<Node>().is_in_doc() || + style.GetPropertyValue(DOMString::from("display")) == "none"; + + if element_not_rendered { + Ok(RGBA { + red: 0.0, + green: 0.0, + blue: 0.0, + alpha: 1.0, + }) + } else { + self.parse_color(&style.GetPropertyValue(DOMString::from("color"))) + } }, _ => Err(()) } diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index 1b2d18b18b3..56426f883db 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -240,7 +240,7 @@ impl DedicatedWorkerGlobalScope { } }; - let runtime = new_rt_and_cx(); + let runtime = unsafe { new_rt_and_cx() }; *main_thread_rt.lock().unwrap() = Some(SharedRt::new(&runtime)); let (devtools_mpsc_chan, devtools_mpsc_port) = channel(); diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index d87e80b7acc..2eb9bd8806c 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -93,7 +93,7 @@ use net_traits::ControlMsg::{GetCookiesForUrl, SetCookiesForUrl}; use net_traits::CookieSource::NonHTTP; use net_traits::response::HttpsState; use net_traits::{AsyncResponseTarget, PendingAsyncLoad}; -use num::ToPrimitive; +use num_traits::ToPrimitive; use origin::Origin; use script_runtime::ScriptChan; use script_thread::{MainThreadScriptChan, MainThreadScriptMsg, Runnable}; @@ -2156,7 +2156,7 @@ impl DocumentMethods for Document { Ok(Root::upcast(CustomEvent::new_uninitialized(GlobalRef::Window(&self.window)))), "htmlevents" | "events" | "event" => Ok(Event::new_uninitialized(GlobalRef::Window(&self.window))), - "keyboardevent" | "keyevents" => + "keyboardevent" => Ok(Root::upcast(KeyboardEvent::new_uninitialized(&self.window))), "messageevent" => Ok(Root::upcast(MessageEvent::new_uninitialized(GlobalRef::Window(&self.window)))), diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 1844bd3e426..e363baefbbc 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -1335,6 +1335,11 @@ impl ElementMethods for Element { self.attr_list.or_init(|| NamedNodeMap::new(&window_from_node(self), self)) } + // https://dom.spec.whatwg.org/#dom-element-hasattributes + fn HasAttributes(&self) -> bool { + !self.attrs.borrow().is_empty() + } + // https://dom.spec.whatwg.org/#dom-element-getattributenames fn GetAttributeNames(&self) -> Vec<DOMString> { self.attrs.borrow().iter().map(|attr| attr.Name()).collect() diff --git a/components/script/dom/htmlanchorelement.rs b/components/script/dom/htmlanchorelement.rs index 16f47315b76..c66617bfb3a 100644 --- a/components/script/dom/htmlanchorelement.rs +++ b/components/script/dom/htmlanchorelement.rs @@ -25,7 +25,7 @@ use dom::mouseevent::MouseEvent; use dom::node::{Node, document_from_node, window_from_node}; use dom::urlhelper::UrlHelper; use dom::virtualmethods::VirtualMethods; -use num::ToPrimitive; +use num_traits::ToPrimitive; use std::default::Default; use string_cache::Atom; use url::{Url, UrlParser}; diff --git a/components/script/dom/htmlcollection.rs b/components/script/dom/htmlcollection.rs index a7bf82ae50e..b1f1771dd07 100644 --- a/components/script/dom/htmlcollection.rs +++ b/components/script/dom/htmlcollection.rs @@ -161,8 +161,8 @@ impl HTMLCollection { } impl CollectionFilter for TagNameNSFilter { fn filter(&self, elem: &Element, _root: &Node) -> bool { - ((self.qname.ns == Namespace(atom!("*"))) || (self.qname.ns == *elem.namespace())) - && ((self.qname.local == atom!("*")) || (self.qname.local == *elem.local_name())) + ((self.qname.ns == Namespace(atom!("*"))) || (self.qname.ns == *elem.namespace())) && + ((self.qname.local == atom!("*")) || (self.qname.local == *elem.local_name())) } } let filter = TagNameNSFilter { diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 3e7421de443..a844cc3c1cb 100644 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -244,8 +244,8 @@ impl HTMLFormElement { let base = doc.url(); // TODO: Handle browsing contexts // Step 4 - if submit_method_flag == SubmittedFrom::NotFromFormSubmitMethod - && !submitter.no_validate(self) + if submit_method_flag == SubmittedFrom::NotFromFormSubmitMethod && + !submitter.no_validate(self) { if self.interactive_validation().is_err() { // TODO: Implement event handlers on all form control elements diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs index 1ad52f45d6c..a971a90ecbf 100644 --- a/components/script/dom/htmllinkelement.rs +++ b/components/script/dom/htmllinkelement.rs @@ -24,7 +24,7 @@ use ipc_channel::ipc; use ipc_channel::router::ROUTER; use layout_interface::{LayoutChan, Msg}; use msg::constellation_msg::ConstellationChan; -use net_traits::{AsyncResponseListener, AsyncResponseTarget, Metadata}; +use net_traits::{AsyncResponseListener, AsyncResponseTarget, Metadata, NetworkError}; use network_listener::{NetworkListener, PreInvoke}; use script_traits::{MozBrowserEvent, ScriptMsg as ConstellationMsg}; use std::ascii::AsciiExt; @@ -271,8 +271,8 @@ struct StylesheetContext { impl PreInvoke for StylesheetContext {} impl AsyncResponseListener for StylesheetContext { - fn headers_available(&mut self, metadata: Metadata) { - self.metadata = Some(metadata); + fn headers_available(&mut self, metadata: Result<Metadata, NetworkError>) { + self.metadata = metadata.ok(); } fn data_available(&mut self, payload: Vec<u8>) { @@ -280,9 +280,12 @@ impl AsyncResponseListener for StylesheetContext { self.data.append(&mut payload); } - fn response_complete(&mut self, _status: Result<(), String>) { + fn response_complete(&mut self, _status: Result<(), NetworkError>) { let data = mem::replace(&mut self.data, vec!()); - let metadata = self.metadata.take().unwrap(); + let metadata = match self.metadata.take() { + Some(meta) => meta, + None => return, + }; // TODO: Get the actual value. http://dev.w3.org/csswg/css-syntax/#environment-encoding let environment_encoding = UTF_8 as EncodingRef; let protocol_encoding_label = metadata.charset.as_ref().map(|s| &**s); diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs index b5a6a473dd3..af9339571fb 100644 --- a/components/script/dom/htmlscriptelement.rs +++ b/components/script/dom/htmlscriptelement.rs @@ -33,7 +33,7 @@ use ipc_channel::ipc; use ipc_channel::router::ROUTER; use js::jsapi::RootedValue; use js::jsval::UndefinedValue; -use net_traits::{AsyncResponseListener, AsyncResponseTarget, Metadata}; +use net_traits::{AsyncResponseListener, AsyncResponseTarget, Metadata, NetworkError}; use network_listener::{NetworkListener, PreInvoke}; use script_runtime::ScriptChan; use script_thread::MainThreadScriptChan; @@ -124,7 +124,7 @@ static SCRIPT_JS_MIMES: StaticStringVec = &[ #[derive(HeapSizeOf, JSTraceable)] pub enum ScriptOrigin { Internal(DOMString, Url), - External(Result<(Metadata, Vec<u8>), String>), + External(Result<(Metadata, Vec<u8>), NetworkError>), } /// The context required for asynchronously loading an external script source. @@ -138,23 +138,25 @@ struct ScriptContext { /// The initial URL requested. url: Url, /// Indicates whether the request failed, and why - status: Result<(), String> + status: Result<(), NetworkError> } impl AsyncResponseListener for ScriptContext { - fn headers_available(&mut self, metadata: Metadata) { - let status_code = match metadata.status { - Some(RawStatus(c, _)) => c, - _ => 0 - }; + fn headers_available(&mut self, metadata: Result<Metadata, NetworkError>) { + self.metadata = metadata.ok(); + + let status_code = self.metadata.as_ref().and_then(|m| { + match m.status { + Some(RawStatus(c, _)) => Some(c), + _ => None, + } + }).unwrap_or(0); self.status = match status_code { - 0 => Err("No http status code received".to_owned()), + 0 => Err(NetworkError::Internal("No http status code received".to_owned())), 200...299 => Ok(()), // HTTP ok status codes - _ => Err(format!("HTTP error code {}", status_code)) + _ => Err(NetworkError::Internal(format!("HTTP error code {}", status_code))) }; - - self.metadata = Some(metadata); } fn data_available(&mut self, payload: Vec<u8>) { @@ -164,7 +166,7 @@ impl AsyncResponseListener for ScriptContext { } } - fn response_complete(&mut self, status: Result<(), String>) { + fn response_complete(&mut self, status: Result<(), NetworkError>) { let load = status.and(self.status.clone()).map(|_| { let data = mem::replace(&mut self.data, vec!()); let metadata = self.metadata.take().unwrap(); @@ -398,7 +400,7 @@ impl HTMLScriptElement { let (source, external, url) = match load { // Step 2.a. ScriptOrigin::External(Err(e)) => { - error!("error loading script {}", e); + error!("error loading script {:?}", e); self.dispatch_error_event(); return; } diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs index 4b5cd44773d..5ad77e9e8b4 100644 --- a/components/script/dom/htmltableelement.rs +++ b/components/script/dom/htmltableelement.rs @@ -132,8 +132,8 @@ impl HTMLTableElementMethods for HTMLTableElement { impl CollectionFilter for TableRowFilter { fn filter(&self, elem: &Element, root: &Node) -> bool { - elem.is::<HTMLTableRowElement>() - && (root.is_parent_of(elem.upcast()) + elem.is::<HTMLTableRowElement>() && + (root.is_parent_of(elem.upcast()) || self.sections.iter().any(|ref section| section.is_parent_of(elem.upcast()))) } } @@ -250,9 +250,9 @@ impl HTMLTableElementMethods for HTMLTableElement { struct TBodiesFilter; impl CollectionFilter for TBodiesFilter { fn filter(&self, elem: &Element, root: &Node) -> bool { - elem.is::<HTMLTableSectionElement>() - && elem.local_name() == &atom!("tbody") - && elem.upcast::<Node>().GetParentNode().r() == Some(root) + elem.is::<HTMLTableSectionElement>() && + elem.local_name() == &atom!("tbody") && + elem.upcast::<Node>().GetParentNode().r() == Some(root) } } diff --git a/components/script/dom/htmltablerowelement.rs b/components/script/dom/htmltablerowelement.rs index bb83e00b0db..2969102984d 100644 --- a/components/script/dom/htmltablerowelement.rs +++ b/components/script/dom/htmltablerowelement.rs @@ -29,8 +29,8 @@ use util::str::DOMString; struct CellsFilter; impl CollectionFilter for CellsFilter { fn filter(&self, elem: &Element, root: &Node) -> bool { - (elem.is::<HTMLTableHeaderCellElement>() || elem.is::<HTMLTableDataCellElement>()) - && elem.upcast::<Node>().GetParentNode().r() == Some(root) + (elem.is::<HTMLTableHeaderCellElement>() || elem.is::<HTMLTableDataCellElement>()) && + elem.upcast::<Node>().GetParentNode().r() == Some(root) } } diff --git a/components/script/dom/htmltablesectionelement.rs b/components/script/dom/htmltablesectionelement.rs index e51caa9f30e..fc737aed9ea 100644 --- a/components/script/dom/htmltablesectionelement.rs +++ b/components/script/dom/htmltablesectionelement.rs @@ -44,8 +44,8 @@ impl HTMLTableSectionElement { struct RowsFilter; impl CollectionFilter for RowsFilter { fn filter(&self, elem: &Element, root: &Node) -> bool { - elem.is::<HTMLTableRowElement>() - && elem.upcast::<Node>().GetParentNode().r() == Some(root) + elem.is::<HTMLTableRowElement>() && + elem.upcast::<Node>().GetParentNode().r() == Some(root) } } diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index d8c23b559d9..3cbe8024b9e 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -1858,6 +1858,11 @@ impl NodeMethods for Node { } } + // https://dom.spec.whatwg.org/#dom-node-rootnode + fn RootNode(&self) -> Root<Node> { + self.inclusive_ancestors().last().unwrap() + } + // https://dom.spec.whatwg.org/#dom-node-parentnode fn GetParentNode(&self) -> Option<Root<Node>> { self.parent_node.get() diff --git a/components/script/dom/servohtmlparser.rs b/components/script/dom/servohtmlparser.rs index 2312ac96795..d1d179aa2a7 100644 --- a/components/script/dom/servohtmlparser.rs +++ b/components/script/dom/servohtmlparser.rs @@ -26,7 +26,7 @@ use hyper::header::ContentType; use hyper::mime::{Mime, SubLevel, TopLevel}; use js::jsapi::JSTracer; use msg::constellation_msg::{PipelineId, SubpageId}; -use net_traits::{AsyncResponseListener, Metadata}; +use net_traits::{AsyncResponseListener, Metadata, NetworkError}; use network_listener::PreInvoke; use parse::Parser; use script_runtime::ScriptChan; @@ -36,6 +36,7 @@ use std::cell::UnsafeCell; use std::default::Default; use std::ptr; use url::Url; +use util::resource_files::read_resource_file; #[must_root] #[derive(JSTraceable, HeapSizeOf)] @@ -239,12 +240,23 @@ impl ParserContext { } impl AsyncResponseListener for ParserContext { - fn headers_available(&mut self, metadata: Metadata) { - let content_type = metadata.content_type.clone(); - - let parser = ScriptThread::page_fetch_complete(self.id.clone(), self.subpage.clone(), - metadata); - let parser = match parser { + fn headers_available(&mut self, meta_result: Result<Metadata, NetworkError>) { + let mut is_ssl_error = false; + let metadata = match meta_result { + Ok(meta) => Some(meta), + Err(NetworkError::SslValidation(url)) => { + is_ssl_error = true; + let mut meta = Metadata::default(url); + let mime: Option<Mime> = "text/html".parse().ok(); + meta.set_content_type(mime.as_ref()); + Some(meta) + }, + Err(_) => None, + }; + let content_type = metadata.clone().and_then(|meta| meta.content_type); + let parser = match ScriptThread::page_fetch_complete(self.id.clone(), + self.subpage.clone(), + metadata) { Some(parser) => parser, None => return, }; @@ -274,7 +286,15 @@ impl AsyncResponseListener for ParserContext { parser.parse_sync(); parser.set_plaintext_state(); }, - Some(ContentType(Mime(TopLevel::Text, SubLevel::Html, _))) => {}, // Handle text/html + Some(ContentType(Mime(TopLevel::Text, SubLevel::Html, _))) => { // Handle text/html + if is_ssl_error { + self.is_synthesized_document = true; + let page_bytes = read_resource_file("badcert.html").unwrap(); + let page = String::from_utf8(page_bytes).unwrap(); + parser.pending_input().borrow_mut().push(page); + parser.parse_sync(); + } + }, Some(ContentType(Mime(TopLevel::Text, SubLevel::Xml, _))) => {}, // Handle text/xml Some(ContentType(Mime(toplevel, sublevel, _))) => { if toplevel.as_str() == "application" && sublevel.as_str() == "xhtml+xml" { @@ -308,7 +328,7 @@ impl AsyncResponseListener for ParserContext { } } - fn response_complete(&mut self, status: Result<(), String>) { + fn response_complete(&mut self, status: Result<(), NetworkError>) { let parser = match self.parser.as_ref() { Some(parser) => parser.root(), None => return, @@ -316,7 +336,7 @@ impl AsyncResponseListener for ParserContext { parser.r().document().finish_load(LoadType::PageSource(self.url.clone())); if let Err(err) = status { - debug!("Failed to load page URL {}, error: {}", self.url.serialize(), err); + debug!("Failed to load page URL {}, error: {:?}", self.url.serialize(), err); // TODO(Savago): we should send a notification to callers #5463. } diff --git a/components/script/dom/storage.rs b/components/script/dom/storage.rs index dae8d73e7a3..76e7c6a29f6 100644 --- a/components/script/dom/storage.rs +++ b/components/script/dom/storage.rs @@ -129,7 +129,11 @@ impl StorageMethods for Storage { let (sender, receiver) = ipc::channel().unwrap(); self.get_storage_thread().send(StorageThreadMsg::Keys(sender, self.get_url(), self.storage_type)).unwrap(); - receiver.recv().unwrap().iter().cloned().map(DOMString::from).collect() // FIXME: inefficient? + receiver.recv() + .unwrap() + .into_iter() + .map(DOMString::from) + .collect() } // check-tidy: no specs after this line diff --git a/components/script/dom/webglprogram.rs b/components/script/dom/webglprogram.rs index 0458e2ae2ca..6cc122cf459 100644 --- a/components/script/dom/webglprogram.rs +++ b/components/script/dom/webglprogram.rs @@ -23,6 +23,7 @@ pub struct WebGLProgram { webgl_object: WebGLObject, id: u32, is_deleted: Cell<bool>, + linked: Cell<bool>, fragment_shader: MutNullableHeap<JS<WebGLShader>>, vertex_shader: MutNullableHeap<JS<WebGLShader>>, #[ignore_heap_size_of = "Defined in ipc-channel"] @@ -35,6 +36,7 @@ impl WebGLProgram { webgl_object: WebGLObject::new_inherited(), id: id, is_deleted: Cell::new(false), + linked: Cell::new(false), fragment_shader: Default::default(), vertex_shader: Default::default(), renderer: renderer, @@ -71,19 +73,27 @@ impl WebGLProgram { /// glLinkProgram pub fn link(&self) { - self.renderer.send(CanvasMsg::WebGL(WebGLCommand::LinkProgram(self.id))).unwrap(); - } + self.linked.set(false); - /// glUseProgram - pub fn use_program(&self) -> WebGLResult<()> { match self.fragment_shader.get() { Some(ref shader) if shader.successfully_compiled() => {}, - _ => return Err(WebGLError::InvalidOperation), + _ => return, } match self.vertex_shader.get() { Some(ref shader) if shader.successfully_compiled() => {}, - _ => return Err(WebGLError::InvalidOperation), + _ => return, + } + + self.linked.set(true); + + self.renderer.send(CanvasMsg::WebGL(WebGLCommand::LinkProgram(self.id))).unwrap(); + } + + /// glUseProgram + pub fn use_program(&self) -> WebGLResult<()> { + if !self.linked.get() { + return Err(WebGLError::InvalidOperation); } self.renderer.send(CanvasMsg::WebGL(WebGLCommand::UseProgram(self.id))).unwrap(); diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 5f1b0589af4..bd2f8191720 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -3,12 +3,12 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use canvas_traits::{CanvasCommonMsg, CanvasMsg}; -use dom::bindings::codegen::Bindings::WebGLActiveInfoBinding::WebGLActiveInfoMethods; use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants; use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::{WebGLRenderingContextMethods}; use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::{self, WebGLContextAttributes}; use dom::bindings::codegen::UnionTypes::ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement; -use dom::bindings::conversions::{ToJSValConvertible, array_buffer_view_to_vec_checked, array_buffer_view_to_vec}; +use dom::bindings::conversions::{ToJSValConvertible, array_buffer_view_data_checked}; +use dom::bindings::conversions::{array_buffer_view_to_vec_checked, array_buffer_view_to_vec}; use dom::bindings::global::GlobalRef; use dom::bindings::inheritance::Castable; use dom::bindings::js::{JS, LayoutJS, MutNullableHeap, Root}; @@ -67,45 +67,6 @@ bitflags! { } } -pub enum UniformType { - Int, - IntVec2, - IntVec3, - IntVec4, - Float, - FloatVec2, - FloatVec3, - FloatVec4, -} - -impl UniformType { - fn element_count(&self) -> usize { - match *self { - UniformType::Int => 1, - UniformType::IntVec2 => 2, - UniformType::IntVec3 => 3, - UniformType::IntVec4 => 4, - UniformType::Float => 1, - UniformType::FloatVec2 => 2, - UniformType::FloatVec3 => 3, - UniformType::FloatVec4 => 4, - } - } - - fn as_gl_constant(&self) -> u32 { - match *self { - UniformType::Int => constants::INT, - UniformType::IntVec2 => constants::INT_VEC2, - UniformType::IntVec3 => constants::INT_VEC3, - UniformType::IntVec4 => constants::INT_VEC4, - UniformType::Float => constants::FLOAT, - UniformType::FloatVec2 => constants::FLOAT_VEC2, - UniformType::FloatVec3 => constants::FLOAT_VEC3, - UniformType::FloatVec4 => constants::FLOAT_VEC4, - } - } -} - #[dom_struct] pub struct WebGLRenderingContext { reflector_: Reflector, @@ -224,7 +185,7 @@ impl WebGLRenderingContext { // https://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.25.pdf#nameddest=section-2.10.4 fn validate_uniform_parameters<T>(&self, uniform: Option<&WebGLUniformLocation>, - type_: UniformType, + uniform_type: UniformSetterType, data: Option<&[T]>) -> bool { let uniform = match uniform { Some(uniform) => uniform, @@ -232,8 +193,8 @@ impl WebGLRenderingContext { }; let program = self.current_program.get(); - let program = match program { - Some(ref program) if program.id() == uniform.program_id() => program, + match program { + Some(ref program) if program.id() == uniform.program_id() => {}, _ => { self.webgl_error(InvalidOperation); return false; @@ -248,28 +209,200 @@ impl WebGLRenderingContext { }, }; - // TODO(autrilla): Don't request this every time, cache it - let active_uniform = match program.get_active_uniform( - uniform.id() as u32) { - Ok(active_uniform) => active_uniform, - Err(_) => { - self.webgl_error(InvalidOperation); + // TODO(emilio): Get more complex uniform info from ANGLE, and use it to + // properly validate that the uniform setter type is compatible with the + // uniform type, and that the uniform size matches. + if data.len() % uniform_type.element_count() != 0 { + self.webgl_error(InvalidOperation); + return false; + } + + true + } + + fn validate_tex_image_parameters(&self, + target: u32, + level: i32, + internal_format: u32, + width: i32, + height: i32, + border: i32, + format: u32, + data_type: u32) -> bool { + // GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, + // GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, + // GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, + // GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. + let texture = match target { + constants::TEXTURE_2D + => self.bound_texture_2d.get(), + constants::TEXTURE_CUBE_MAP_POSITIVE_X | + constants::TEXTURE_CUBE_MAP_NEGATIVE_X | + constants::TEXTURE_CUBE_MAP_POSITIVE_Y | + constants::TEXTURE_CUBE_MAP_NEGATIVE_Y | + constants::TEXTURE_CUBE_MAP_POSITIVE_Z | + constants::TEXTURE_CUBE_MAP_NEGATIVE_Z + => self.bound_texture_cube_map.get(), + _ => { + self.webgl_error(InvalidEnum); return false; }, }; - if data.len() % type_.element_count() != 0 || - (data.len() / type_.element_count() > active_uniform.Size() as usize) { - self.webgl_error(InvalidOperation); + // If an attempt is made to call this function with no + // WebGLTexture bound, an INVALID_OPERATION error is generated. + if texture.is_none() { + self.webgl_error(InvalidOperation); + return false; + } + + // GL_INVALID_ENUM is generated if data_type is not an accepted value. + match data_type { + constants::UNSIGNED_BYTE | + constants::UNSIGNED_SHORT_4_4_4_4 | + constants::UNSIGNED_SHORT_5_5_5_1 | + constants::UNSIGNED_SHORT_5_6_5 => {}, + _ => { + self.webgl_error(InvalidEnum); return false; + }, + } + + + // TODO(emilio): GL_INVALID_VALUE may be generated if + // level is greater than log_2(max), where max is + // the returned value of GL_MAX_TEXTURE_SIZE when + // target is GL_TEXTURE_2D or GL_MAX_CUBE_MAP_TEXTURE_SIZE + // when target is not GL_TEXTURE_2D. + let is_cubic = target != constants::TEXTURE_2D; + + // GL_INVALID_VALUE is generated if target is one of the + // six cube map 2D image targets and the width and height + // parameters are not equal. + if is_cubic && width != height { + self.webgl_error(InvalidValue); + return false; } - if type_.as_gl_constant() != active_uniform.Type() { + // GL_INVALID_VALUE is generated if internal_format is not an + // accepted format. + match internal_format { + constants::DEPTH_COMPONENT | + constants::ALPHA | + constants::RGB | + constants::RGBA | + constants::LUMINANCE | + constants::LUMINANCE_ALPHA => {}, + + _ => { + self.webgl_error(InvalidValue); + return false; + }, + } + + // GL_INVALID_OPERATION is generated if format does not + // match internal_format. + if format != internal_format { self.webgl_error(InvalidOperation); return false; } - return true; + // GL_INVALID_VALUE is generated if level is less than 0. + // + // GL_INVALID_VALUE is generated if width or height is less than 0 + // or greater than GL_MAX_TEXTURE_SIZE when target is GL_TEXTURE_2D or + // GL_MAX_CUBE_MAP_TEXTURE_SIZE when target is not GL_TEXTURE_2D. + // + // TODO(emilio): Check limits + if width < 0 || height < 0 || level < 0 { + self.webgl_error(InvalidValue); + return false; + } + + // GL_INVALID_VALUE is generated if level is greater than zero and the + // texture is not power of two. + if level > 0 && + (!(width as u32).is_power_of_two() || + !(height as u32).is_power_of_two()) { + self.webgl_error(InvalidValue); + return false; + } + + // GL_INVALID_VALUE is generated if border is not 0. + if border != 0 { + self.webgl_error(InvalidValue); + return false; + } + + // GL_INVALID_OPERATION is generated if type is GL_UNSIGNED_SHORT_4_4_4_4 or + // GL_UNSIGNED_SHORT_5_5_5_1 and format is not GL_RGBA. + // + // GL_INVALID_OPERATION is generated if type is + // GL_UNSIGNED_SHORT_5_6_5 and format is not GL_RGB. + match data_type { + constants::UNSIGNED_SHORT_4_4_4_4 | + constants::UNSIGNED_SHORT_5_5_5_1 if format != constants::RGBA => { + self.webgl_error(InvalidOperation); + return false; + }, + constants::UNSIGNED_SHORT_5_6_5 if format != constants::RGB => { + self.webgl_error(InvalidOperation); + return false; + }, + _ => {}, + } + + true + } + + fn tex_image_2d(&self, + target: u32, + level: i32, + internal_format: u32, + width: i32, + height: i32, + border: i32, + format: u32, + data_type: u32, + pixels: Vec<u8>) { // NB: pixels should NOT be premultipied + // This should be validated before reaching this function + debug_assert!(self.validate_tex_image_parameters(target, level, + internal_format, + width, height, + border, format, + data_type)); + + let slot = match target { + constants::TEXTURE_2D + => self.bound_texture_2d.get(), + _ => self.bound_texture_cube_map.get(), + }; + + let texture = slot.as_ref().expect("No bound texture found after validation"); + + if format == constants::RGBA && + data_type == constants::UNSIGNED_BYTE && + self.texture_unpacking_settings.get().contains(PREMULTIPLY_ALPHA) { + // TODO(emilio): premultiply here. + } + + // TODO(emilio): Flip Y axis if necessary here + + // TexImage2D depth is always equal to 1 + handle_potential_webgl_error!(self, texture.initialize(target, + width as u32, + height as u32, 1, + internal_format, + level as u32)); + + + // TODO(emilio): Invert axis, convert colorspace, premultiply alpha if requested + let msg = WebGLCommand::TexImage2D(target, level, internal_format as i32, + width, height, format, data_type, pixels); + + self.ipc_renderer + .send(CanvasMsg::WebGL(msg)) + .unwrap() } } @@ -483,6 +616,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { Err(e) => return self.webgl_error(e), } } else { + slot.set(None); // Unbind the current buffer self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::BindBuffer(target, 0))) @@ -526,7 +660,6 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { let slot = match target { constants::TEXTURE_2D => &self.bound_texture_2d, constants::TEXTURE_CUBE_MAP => &self.bound_texture_cube_map, - _ => return self.webgl_error(InvalidEnum), }; @@ -566,20 +699,24 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { constants::ELEMENT_ARRAY_BUFFER => self.bound_buffer_element_array.get(), _ => return self.webgl_error(InvalidEnum), }; + let bound_buffer = match bound_buffer { Some(bound_buffer) => bound_buffer, None => return self.webgl_error(InvalidValue), }; + match usage { constants::STREAM_DRAW | constants::STATIC_DRAW | constants::DYNAMIC_DRAW => (), _ => return self.webgl_error(InvalidEnum), } + let data = match data { Some(data) => data, None => return self.webgl_error(InvalidValue), }; + if let Some(data_vec) = array_buffer_view_to_vec::<u8>(data) { handle_potential_webgl_error!(self, bound_buffer.buffer_data(target, &data_vec, usage)); } else { @@ -1109,7 +1246,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { fn Uniform1f(&self, uniform: Option<&WebGLUniformLocation>, val: f32) { - if self.validate_uniform_parameters(uniform, UniformType::Float, Some(&[val])) { + if self.validate_uniform_parameters(uniform, UniformSetterType::Float, Some(&[val])) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform1f(uniform.unwrap().id(), val))) .unwrap() @@ -1120,7 +1257,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { fn Uniform1i(&self, uniform: Option<&WebGLUniformLocation>, val: i32) { - if self.validate_uniform_parameters(uniform, UniformType::Int, Some(&[val])) { + if self.validate_uniform_parameters(uniform, UniformSetterType::Int, Some(&[val])) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform1i(uniform.unwrap().id(), val))) .unwrap() @@ -1133,7 +1270,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: Option<*mut JSObject>) { let data_vec = data.and_then(|d| array_buffer_view_to_vec::<i32>(d)); - if self.validate_uniform_parameters(uniform, UniformType::Int, data_vec.as_ref().map(Vec::as_slice)) { + if self.validate_uniform_parameters(uniform, UniformSetterType::Int, data_vec.as_ref().map(Vec::as_slice)) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform1iv(uniform.unwrap().id(), data_vec.unwrap()))) .unwrap() @@ -1146,7 +1283,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: Option<*mut JSObject>) { let data_vec = data.and_then(|d| array_buffer_view_to_vec::<f32>(d)); - if self.validate_uniform_parameters(uniform, UniformType::Float, data_vec.as_ref().map(Vec::as_slice)) { + if self.validate_uniform_parameters(uniform, UniformSetterType::Float, data_vec.as_ref().map(Vec::as_slice)) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform1fv(uniform.unwrap().id(), data_vec.unwrap()))) .unwrap() @@ -1157,7 +1294,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { fn Uniform2f(&self, uniform: Option<&WebGLUniformLocation>, x: f32, y: f32) { - if self.validate_uniform_parameters(uniform, UniformType::FloatVec2, Some(&[x, y])) { + if self.validate_uniform_parameters(uniform, UniformSetterType::FloatVec2, Some(&[x, y])) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform2f(uniform.unwrap().id(), x, y))) .unwrap() @@ -1170,7 +1307,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: Option<*mut JSObject>) { let data_vec = data.and_then(|d| array_buffer_view_to_vec::<f32>(d)); - if self.validate_uniform_parameters(uniform, UniformType::FloatVec2, data_vec.as_ref().map(Vec::as_slice)) { + if self.validate_uniform_parameters(uniform, + UniformSetterType::FloatVec2, + data_vec.as_ref().map(Vec::as_slice)) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform2fv(uniform.unwrap().id(), data_vec.unwrap()))) .unwrap() @@ -1181,7 +1320,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { fn Uniform2i(&self, uniform: Option<&WebGLUniformLocation>, x: i32, y: i32) { - if self.validate_uniform_parameters(uniform, UniformType::IntVec2, Some(&[x, y])) { + if self.validate_uniform_parameters(uniform, + UniformSetterType::IntVec2, + Some(&[x, y])) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform2i(uniform.unwrap().id(), x, y))) .unwrap() @@ -1194,7 +1335,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: Option<*mut JSObject>) { let data_vec = data.and_then(|d| array_buffer_view_to_vec::<i32>(d)); - if self.validate_uniform_parameters(uniform, UniformType::IntVec2, data_vec.as_ref().map(Vec::as_slice)) { + if self.validate_uniform_parameters(uniform, + UniformSetterType::IntVec2, + data_vec.as_ref().map(Vec::as_slice)) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform2iv(uniform.unwrap().id(), data_vec.unwrap()))) .unwrap() @@ -1205,7 +1348,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { fn Uniform3f(&self, uniform: Option<&WebGLUniformLocation>, x: f32, y: f32, z: f32) { - if self.validate_uniform_parameters(uniform, UniformType::FloatVec3, Some(&[x, y, z])) { + if self.validate_uniform_parameters(uniform, + UniformSetterType::FloatVec3, + Some(&[x, y, z])) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform3f(uniform.unwrap().id(), x, y, z))) .unwrap() @@ -1218,7 +1363,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: Option<*mut JSObject>) { let data_vec = data.and_then(|d| array_buffer_view_to_vec::<f32>(d)); - if self.validate_uniform_parameters(uniform, UniformType::FloatVec3, data_vec.as_ref().map(Vec::as_slice)) { + if self.validate_uniform_parameters(uniform, + UniformSetterType::FloatVec3, + data_vec.as_ref().map(Vec::as_slice)) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform3fv(uniform.unwrap().id(), data_vec.unwrap()))) .unwrap() @@ -1229,7 +1376,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { fn Uniform3i(&self, uniform: Option<&WebGLUniformLocation>, x: i32, y: i32, z: i32) { - if self.validate_uniform_parameters(uniform, UniformType::IntVec3, Some(&[x, y, z])) { + if self.validate_uniform_parameters(uniform, + UniformSetterType::IntVec3, + Some(&[x, y, z])) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform3i(uniform.unwrap().id(), x, y, z))) .unwrap() @@ -1242,7 +1391,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: Option<*mut JSObject>) { let data_vec = data.and_then(|d| array_buffer_view_to_vec::<i32>(d)); - if self.validate_uniform_parameters(uniform, UniformType::IntVec3, data_vec.as_ref().map(Vec::as_slice)) { + if self.validate_uniform_parameters(uniform, + UniformSetterType::IntVec3, + data_vec.as_ref().map(Vec::as_slice)) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform3iv(uniform.unwrap().id(), data_vec.unwrap()))) .unwrap() @@ -1253,7 +1404,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { fn Uniform4i(&self, uniform: Option<&WebGLUniformLocation>, x: i32, y: i32, z: i32, w: i32) { - if self.validate_uniform_parameters(uniform, UniformType::IntVec4, Some(&[x, y, z, w])) { + if self.validate_uniform_parameters(uniform, + UniformSetterType::IntVec4, + Some(&[x, y, z, w])) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform4i(uniform.unwrap().id(), x, y, z, w))) .unwrap() @@ -1267,7 +1420,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: Option<*mut JSObject>) { let data_vec = data.and_then(|d| array_buffer_view_to_vec::<i32>(d)); - if self.validate_uniform_parameters(uniform, UniformType::IntVec4, data_vec.as_ref().map(Vec::as_slice)) { + if self.validate_uniform_parameters(uniform, + UniformSetterType::IntVec4, + data_vec.as_ref().map(Vec::as_slice)) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform4iv(uniform.unwrap().id(), data_vec.unwrap()))) .unwrap() @@ -1278,7 +1433,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { fn Uniform4f(&self, uniform: Option<&WebGLUniformLocation>, x: f32, y: f32, z: f32, w: f32) { - if self.validate_uniform_parameters(uniform, UniformType::FloatVec4, Some(&[x, y, z, w])) { + if self.validate_uniform_parameters(uniform, + UniformSetterType::FloatVec4, + Some(&[x, y, z, w])) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform4f(uniform.unwrap().id(), x, y, z, w))) .unwrap() @@ -1291,7 +1448,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: Option<*mut JSObject>) { let data_vec = data.and_then(|d| array_buffer_view_to_vec::<f32>(d)); - if self.validate_uniform_parameters(uniform, UniformType::FloatVec4, data_vec.as_ref().map(Vec::as_slice)) { + if self.validate_uniform_parameters(uniform, + UniformSetterType::FloatVec4, + data_vec.as_ref().map(Vec::as_slice)) { self.ipc_renderer .send(CanvasMsg::WebGL(WebGLCommand::Uniform4fv(uniform.unwrap().id(), data_vec.unwrap()))) .unwrap() @@ -1400,28 +1559,112 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { .unwrap() } + #[allow(unsafe_code)] // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.8 fn TexImage2D(&self, + _cx: *mut JSContext, target: u32, level: i32, internal_format: u32, + width: i32, + height: i32, + border: i32, format: u32, data_type: u32, - source: Option<ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement>) { - let texture = match target { - constants::TEXTURE_2D => self.bound_texture_2d.get(), - constants::TEXTURE_CUBE_MAP => self.bound_texture_cube_map.get(), - _ => return self.webgl_error(InvalidEnum), + data: Option<*mut JSObject>) { + if !self.validate_tex_image_parameters(target, + level, + internal_format, + width, height, + border, + format, + data_type) { + return; // Error handled in validate() + } + + // TODO(emilio, #10693): Add type-safe wrappers to validations + let (element_size, components_per_element) = match data_type { + constants::UNSIGNED_BYTE => (1, 1), + constants::UNSIGNED_SHORT_5_6_5 => (2, 3), + constants::UNSIGNED_SHORT_5_5_5_1 | + constants::UNSIGNED_SHORT_4_4_4_4 => (2, 4), + _ => unreachable!(), // previously validated }; - if texture.is_none() { + + let components = match format { + constants::DEPTH_COMPONENT => 1, + constants::ALPHA => 1, + constants::LUMINANCE => 1, + constants::LUMINANCE_ALPHA => 2, + constants::RGB => 3, + constants::RGBA => 4, + _ => unreachable!(), // previously validated + }; + + // If data is non-null, the type of pixels must match the type of the + // data to be read. + // If it is UNSIGNED_BYTE, a Uint8Array must be supplied; + // if it is UNSIGNED_SHORT_5_6_5, UNSIGNED_SHORT_4_4_4_4, + // or UNSIGNED_SHORT_5_5_5_1, a Uint16Array must be supplied. + // If the types do not match, an INVALID_OPERATION error is generated. + let received_size = if let Some(data) = data { + if unsafe { array_buffer_view_data_checked::<u16>(data).is_some() } { + 2 + } else if unsafe { array_buffer_view_data_checked::<u8>(data).is_some() } { + 1 + } else { + return self.webgl_error(InvalidOperation); + } + } else { + element_size + }; + + if received_size != element_size { return self.webgl_error(InvalidOperation); } - // TODO(emilio): Validate more parameters + + // NOTE: width and height are positive or zero due to validate() + let expected_byte_length = width * height * element_size * components / components_per_element; + + + // If data is null, a buffer of sufficient size + // initialized to 0 is passed. + let buff = if let Some(data) = data { + array_buffer_view_to_vec::<u8>(data) + .expect("Can't reach here without being an ArrayBufferView!") + } else { + vec![0u8; expected_byte_length as usize] + }; + + if buff.len() != expected_byte_length as usize { + return self.webgl_error(InvalidOperation); + } + + self.tex_image_2d(target, level, + internal_format, + width, height, border, + format, data_type, buff) + } + + // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.8 + fn TexImage2D_(&self, + target: u32, + level: i32, + internal_format: u32, + format: u32, + data_type: u32, + source: Option<ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement>) { let source = match source { Some(s) => s, None => return, }; + + // NOTE: Getting the pixels probably can be short-circuited if some + // parameter is invalid. + // + // Nontheless, since it's the error case, I'm not totally sure the + // complexity is worth it. let (pixels, size) = match source { ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement::ImageData(image_data) => { let global = self.global(); @@ -1443,7 +1686,10 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { }; let size = Size2D::new(img.width as i32, img.height as i32); - // TODO(emilio): Validate that the format argument is coherent with the image. + + // TODO(emilio): Validate that the format argument + // is coherent with the image. + // // RGB8 should be easy to support too let mut data = match img.format { PixelFormat::RGBA8 => img.bytes.to_vec(), @@ -1454,8 +1700,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { (data, size) }, - // TODO(emilio): Getting canvas data is implemented in CanvasRenderingContext2D, but - // we need to refactor it moving it to `HTMLCanvasElement` and supporting WebGLContext + // TODO(emilio): Getting canvas data is implemented in CanvasRenderingContext2D, + // but we need to refactor it moving it to `HTMLCanvasElement` and support + // WebGLContext (probably via GetPixels()). ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement::HTMLCanvasElement(canvas) => { let canvas = canvas.r(); if let Some((mut data, size)) = canvas.fetch_all_data() { @@ -1469,25 +1716,17 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { => unimplemented!(), }; - if size.width < 0 || size.height < 0 || level < 0 { - self.webgl_error(WebGLError::InvalidOperation); + // NB: Border must be zero + if !self.validate_tex_image_parameters(target, level, internal_format, + size.width, size.height, 0, + format, data_type) { + return; // Error handled in validate() } - // TODO(emilio): Invert axis, convert colorspace, premultiply alpha if requested - let msg = WebGLCommand::TexImage2D(target, level, internal_format as i32, - size.width, size.height, - format, data_type, pixels); - - // depth is always 1 when coming from html elements - handle_potential_webgl_error!(self, texture.unwrap().initialize(size.width as u32, - size.height as u32, - 1, - internal_format, - level as u32)); - - self.ipc_renderer - .send(CanvasMsg::WebGL(msg)) - .unwrap() + self.tex_image_2d(target, level, + internal_format, + size.width, size.height, 0, + format, data_type, pixels) } // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.8 @@ -1512,3 +1751,62 @@ impl LayoutCanvasWebGLRenderingContextHelpers for LayoutJS<WebGLRenderingContext (*self.unsafe_get()).ipc_renderer.clone() } } + +#[derive(Debug, PartialEq)] +pub enum UniformSetterType { + Int, + IntVec2, + IntVec3, + IntVec4, + Float, + FloatVec2, + FloatVec3, + FloatVec4, +} + +impl UniformSetterType { + pub fn element_count(&self) -> usize { + match *self { + UniformSetterType::Int => 1, + UniformSetterType::IntVec2 => 2, + UniformSetterType::IntVec3 => 3, + UniformSetterType::IntVec4 => 4, + UniformSetterType::Float => 1, + UniformSetterType::FloatVec2 => 2, + UniformSetterType::FloatVec3 => 3, + UniformSetterType::FloatVec4 => 4, + } + } + + pub fn is_compatible_with(&self, gl_type: u32) -> bool { + gl_type == self.as_gl_constant() || match *self { + // Sampler uniform variables have an index value (the index of the + // texture), and as such they have to be set as ints + UniformSetterType::Int => gl_type == constants::SAMPLER_2D || + gl_type == constants::SAMPLER_CUBE, + // Don't ask me why, but it seems we must allow setting bool + // uniforms with uniform1f. + // + // See the WebGL conformance test + // conformance/uniforms/gl-uniform-bool.html + UniformSetterType::Float => gl_type == constants::BOOL, + UniformSetterType::FloatVec2 => gl_type == constants::BOOL_VEC2, + UniformSetterType::FloatVec3 => gl_type == constants::BOOL_VEC3, + UniformSetterType::FloatVec4 => gl_type == constants::BOOL_VEC4, + _ => false, + } + } + + fn as_gl_constant(&self) -> u32 { + match *self { + UniformSetterType::Int => constants::INT, + UniformSetterType::IntVec2 => constants::INT_VEC2, + UniformSetterType::IntVec3 => constants::INT_VEC3, + UniformSetterType::IntVec4 => constants::INT_VEC4, + UniformSetterType::Float => constants::FLOAT, + UniformSetterType::FloatVec2 => constants::FLOAT_VEC2, + UniformSetterType::FloatVec3 => constants::FLOAT_VEC3, + UniformSetterType::FloatVec4 => constants::FLOAT_VEC4, + } + } +} diff --git a/components/script/dom/webglshader.rs b/components/script/dom/webglshader.rs index 495417065d7..eb930a69f13 100644 --- a/components/script/dom/webglshader.rs +++ b/components/script/dom/webglshader.rs @@ -116,6 +116,11 @@ impl WebGLShader { } *self.info_log.borrow_mut() = Some(validator.info_log()); + // TODO(emilio): More data (like uniform data) should be collected + // here to properly validate uniforms. + // + // This requires a more complex interface with ANGLE, using C++ + // bindings and being extremely cautious about destructing things. } } diff --git a/components/script/dom/webgltexture.rs b/components/script/dom/webgltexture.rs index 5bb7d5ff734..e92435ce304 100644 --- a/components/script/dom/webgltexture.rs +++ b/components/script/dom/webgltexture.rs @@ -33,7 +33,6 @@ pub struct WebGLTexture { /// The target to which this texture was bound the first time target: Cell<Option<u32>>, is_deleted: Cell<bool>, - is_initialized: Cell<bool>, /// Stores information about mipmap levels and cubemap faces. #[ignore_heap_size_of = "Arrays are cumbersome"] image_info_array: DOMRefCell<[ImageInfo; MAX_LEVEL_COUNT * MAX_FACE_COUNT]>, @@ -51,7 +50,6 @@ impl WebGLTexture { id: id, target: Cell::new(None), is_deleted: Cell::new(false), - is_initialized: Cell::new(false), face_count: Cell::new(0), base_mipmap_level: 0, image_info_array: DOMRefCell::new([ImageInfo::new(); MAX_LEVEL_COUNT * MAX_FACE_COUNT]), @@ -105,7 +103,13 @@ impl WebGLTexture { Ok(()) } - pub fn initialize(&self, width: u32, height: u32, depth: u32, internal_format: u32, level: u32) -> WebGLResult<()> { + pub fn initialize(&self, + target: u32, + width: u32, + height: u32, + depth: u32, + internal_format: u32, + level: u32) -> WebGLResult<()> { let image_info = ImageInfo { width: width, height: height, @@ -113,10 +117,18 @@ impl WebGLTexture { internal_format: Some(internal_format), is_initialized: true, }; - self.set_image_infos_at_level(level, image_info); - self.is_initialized.set(true); + let face = match target { + constants::TEXTURE_2D | constants::TEXTURE_CUBE_MAP_POSITIVE_X => 0, + constants::TEXTURE_CUBE_MAP_NEGATIVE_X => 1, + constants::TEXTURE_CUBE_MAP_POSITIVE_Y => 2, + constants::TEXTURE_CUBE_MAP_NEGATIVE_Y => 3, + constants::TEXTURE_CUBE_MAP_POSITIVE_Z => 4, + constants::TEXTURE_CUBE_MAP_NEGATIVE_Z => 5, + _ => unreachable!(), + }; + self.set_image_infos_at_level_and_face(level, face, image_info); Ok(()) } @@ -130,12 +142,12 @@ impl WebGLTexture { }; let base_image_info = self.base_image_info().unwrap(); - if !base_image_info.is_initialized() { return Err(WebGLError::InvalidOperation); } - if target == constants::TEXTURE_CUBE_MAP && !self.is_cube_complete() { + let is_cubic = target == constants::TEXTURE_CUBE_MAP; + if is_cubic && !self.is_cube_complete() { return Err(WebGLError::InvalidOperation); } @@ -262,6 +274,8 @@ impl WebGLTexture { } fn is_cube_complete(&self) -> bool { + debug_assert!(self.face_count.get() == 6); + let image_info = self.base_image_info().unwrap(); if !image_info.is_defined() { return false; @@ -294,11 +308,16 @@ impl WebGLTexture { fn set_image_infos_at_level(&self, level: u32, image_info: ImageInfo) { for face in 0..self.face_count.get() { - let pos = (level * self.face_count.get() as u32) + face as u32; - self.image_info_array.borrow_mut()[pos as usize] = image_info; + self.set_image_infos_at_level_and_face(level, face, image_info); } } + fn set_image_infos_at_level_and_face(&self, level: u32, face: u8, image_info: ImageInfo) { + debug_assert!(face < self.face_count.get()); + let pos = (level * self.face_count.get() as u32) + face as u32; + self.image_info_array.borrow_mut()[pos as usize] = image_info; + } + fn base_image_info(&self) -> Option<ImageInfo> { assert!((self.base_mipmap_level as usize) < MAX_LEVEL_COUNT); @@ -341,7 +360,7 @@ impl ImageInfo { } fn is_defined(&self) -> bool { - !self.internal_format.is_none() + self.internal_format.is_some() } fn get_max_mimap_levels(&self) -> u32 { diff --git a/components/script/dom/webgluniformlocation.rs b/components/script/dom/webgluniformlocation.rs index 43244ec4a33..2f8e3331cd2 100644 --- a/components/script/dom/webgluniformlocation.rs +++ b/components/script/dom/webgluniformlocation.rs @@ -28,10 +28,7 @@ impl WebGLUniformLocation { reflect_dom_object( box WebGLUniformLocation::new_inherited(id, program_id), global, WebGLUniformLocationBinding::Wrap) } -} - -impl WebGLUniformLocation { pub fn id(&self) -> i32 { self.id } diff --git a/components/script/dom/webidls/Element.webidl b/components/script/dom/webidls/Element.webidl index f173f6afdd0..bec84acc8ce 100644 --- a/components/script/dom/webidls/Element.webidl +++ b/components/script/dom/webidls/Element.webidl @@ -35,6 +35,8 @@ interface Element : Node { [Pure] sequence<DOMString> getAttributeNames(); [Pure] + boolean hasAttributes(); + [Pure] DOMString? getAttribute(DOMString name); [Pure] DOMString? getAttributeNS(DOMString? namespace, DOMString localName); diff --git a/components/script/dom/webidls/Node.webidl b/components/script/dom/webidls/Node.webidl index 4587056d465..0c3311cb647 100644 --- a/components/script/dom/webidls/Node.webidl +++ b/components/script/dom/webidls/Node.webidl @@ -31,6 +31,8 @@ interface Node : EventTarget { [Pure] readonly attribute Document? ownerDocument; [Pure] + readonly attribute Node rootNode; + [Pure] readonly attribute Node? parentNode; [Pure] readonly attribute Element? parentElement; diff --git a/components/script/dom/webidls/WebGLRenderingContext.webidl b/components/script/dom/webidls/WebGLRenderingContext.webidl index 6c36844f313..97cd853417f 100644 --- a/components/script/dom/webidls/WebGLRenderingContext.webidl +++ b/components/script/dom/webidls/WebGLRenderingContext.webidl @@ -632,6 +632,10 @@ interface WebGLRenderingContextBase //void texImage2D(GLenum target, GLint level, GLenum internalformat, // GLsizei width, GLsizei height, GLint border, GLenum format, // GLenum type, ArrayBufferView? pixels); + // FIXME: SM interface arguments + void texImage2D(GLenum target, GLint level, GLenum internalformat, + GLsizei width, GLsizei height, GLint border, GLenum format, + GLenum type, optional object data); void texImage2D(GLenum target, GLint level, GLenum internalformat, GLenum format, GLenum type, TexImageSource? source); // May throw DOMException diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 8f36193c2eb..d5abbfbcc3a 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -43,12 +43,13 @@ use js::rust::Runtime; use layout_interface::{ContentBoxResponse, ContentBoxesResponse, ResolvedStyleResponse, ScriptReflow}; use layout_interface::{LayoutChan, LayoutRPC, Msg, Reflow, ReflowQueryType, MarginStyleResponse}; use libc; -use msg::constellation_msg::{ConstellationChan, LoadData, PipelineId, SubpageId, WindowSizeData}; +use msg::constellation_msg::{ConstellationChan, LoadData, PipelineId, SubpageId}; +use msg::constellation_msg::{WindowSizeData, WindowSizeType}; use msg::webdriver_msg::{WebDriverJSError, WebDriverJSResult}; use net_traits::ResourceThread; use net_traits::image_cache_thread::{ImageCacheChan, ImageCacheThread}; use net_traits::storage_thread::{StorageThread, StorageType}; -use num::traits::ToPrimitive; +use num_traits::ToPrimitive; use page::Page; use profile_traits::mem; use reporter::CSSErrorReporter; @@ -181,7 +182,7 @@ pub struct Window { next_subpage_id: Cell<SubpageId>, /// Pending resize event, if any. - resize_event: Cell<Option<WindowSizeData>>, + resize_event: Cell<Option<(WindowSizeData, WindowSizeType)>>, /// Pipeline id associated with this page. id: PipelineId, @@ -1280,11 +1281,11 @@ impl Window { self.pending_reflow_count.set(self.pending_reflow_count.get() + 1); } - pub fn set_resize_event(&self, event: WindowSizeData) { - self.resize_event.set(Some(event)); + pub fn set_resize_event(&self, event: WindowSizeData, event_type: WindowSizeType) { + self.resize_event.set(Some((event, event_type))); } - pub fn steal_resize_event(&self) -> Option<WindowSizeData> { + pub fn steal_resize_event(&self) -> Option<(WindowSizeData, WindowSizeType)> { let event = self.resize_event.get(); self.resize_event.set(None); event diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index 8d6716201af..a381cae57b0 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -45,7 +45,7 @@ use js::jsapi::JS_ClearPendingException; use js::jsapi::{JSContext, JS_ParseJSON, RootedValue}; use js::jsval::{JSVal, NullValue, UndefinedValue}; use net_traits::ControlMsg::Load; -use net_traits::{AsyncResponseListener, AsyncResponseTarget, Metadata}; +use net_traits::{AsyncResponseListener, AsyncResponseTarget, Metadata, NetworkError}; use net_traits::{LoadConsumer, LoadContext, LoadData, ResourceCORSData, ResourceThread}; use network_listener::{NetworkListener, PreInvoke}; use parse::html::{ParseContext, parse_html}; @@ -254,7 +254,7 @@ impl XMLHttpRequest { resource_thread: ResourceThread, load_data: LoadData) { impl AsyncResponseListener for XHRContext { - fn headers_available(&mut self, metadata: Metadata) { + fn headers_available(&mut self, metadata: Result<Metadata, NetworkError>) { let xhr = self.xhr.root(); let rv = xhr.process_headers_available(self.cors_request.clone(), self.gen_id, @@ -269,7 +269,7 @@ impl XMLHttpRequest { self.xhr.root().process_data_available(self.gen_id, self.buf.borrow().clone()); } - fn response_complete(&mut self, status: Result<(), String>) { + fn response_complete(&mut self, status: Result<(), NetworkError>) { let rv = self.xhr.root().process_response_complete(self.gen_id, status); *self.sync_status.borrow_mut() = Some(rv); } @@ -870,7 +870,15 @@ impl XMLHttpRequest { } fn process_headers_available(&self, cors_request: Option<CORSRequest>, - gen_id: GenerationId, metadata: Metadata) -> Result<(), Error> { + gen_id: GenerationId, metadata: Result<Metadata, NetworkError>) + -> Result<(), Error> { + let metadata = match metadata { + Ok(meta) => meta, + Err(_) => { + self.process_partial_response(XHRProgress::Errored(gen_id, Error::Network)); + return Err(Error::Network); + }, + }; let bypass_cross_origin_check = { // We want to be able to do cross-origin requests in browser.html. @@ -904,9 +912,7 @@ impl XMLHttpRequest { *self.response_url.borrow_mut() = metadata.final_url.serialize_no_fragment(); // XXXManishearth Clear cache entries in case of a network error - self.process_partial_response(XHRProgress::HeadersReceived(gen_id, - metadata.headers, - metadata.status)); + self.process_partial_response(XHRProgress::HeadersReceived(gen_id, metadata.headers, metadata.status)); Ok(()) } @@ -914,7 +920,7 @@ impl XMLHttpRequest { self.process_partial_response(XHRProgress::Loading(gen_id, ByteString::new(payload))); } - fn process_response_complete(&self, gen_id: GenerationId, status: Result<(), String>) + fn process_response_complete(&self, gen_id: GenerationId, status: Result<(), NetworkError>) -> ErrorResult { match status { Ok(()) => { diff --git a/components/script/lib.rs b/components/script/lib.rs index e525a62b70d..0748ae954a6 100644 --- a/components/script/lib.rs +++ b/components/script/lib.rs @@ -30,6 +30,7 @@ extern crate angle; extern crate app_units; +#[allow(unused_extern_crates)] #[macro_use] extern crate bitflags; extern crate canvas; @@ -53,7 +54,7 @@ extern crate libc; extern crate log; extern crate msg; extern crate net_traits; -extern crate num; +extern crate num_traits; extern crate offscreen_gl_context; extern crate phf; #[macro_use] diff --git a/components/script/script_runtime.rs b/components/script/script_runtime.rs index 6147fc8bd2b..c14fa1cf021 100644 --- a/components/script/script_runtime.rs +++ b/components/script/script_runtime.rs @@ -95,37 +95,30 @@ impl<'a> Drop for StackRootTLS<'a> { } #[allow(unsafe_code)] -pub fn new_rt_and_cx() -> Runtime { +pub unsafe fn new_rt_and_cx() -> Runtime { LiveDOMReferences::initialize(); let runtime = Runtime::new(); - unsafe { - JS_AddExtraGCRootsTracer(runtime.rt(), Some(trace_rust_roots), ptr::null_mut()); - JS_AddExtraGCRootsTracer(runtime.rt(), Some(trace_refcounted_objects), ptr::null_mut()); - } + JS_AddExtraGCRootsTracer(runtime.rt(), Some(trace_rust_roots), ptr::null_mut()); + JS_AddExtraGCRootsTracer(runtime.rt(), Some(trace_refcounted_objects), ptr::null_mut()); // Needed for debug assertions about whether GC is running. if cfg!(debug_assertions) { - unsafe { - JS_SetGCCallback(runtime.rt(), Some(debug_gc_callback), ptr::null_mut()); - } + JS_SetGCCallback(runtime.rt(), Some(debug_gc_callback), ptr::null_mut()); } + if opts::get().gc_profile { - unsafe { - SetGCSliceCallback(runtime.rt(), Some(gc_slice_callback)); - } + SetGCSliceCallback(runtime.rt(), Some(gc_slice_callback)); } - unsafe { - unsafe extern "C" fn empty_wrapper_callback(_: *mut JSContext, _: *mut JSObject) -> bool { true } - SetDOMCallbacks(runtime.rt(), &DOM_CALLBACKS); - SetPreserveWrapperCallback(runtime.rt(), Some(empty_wrapper_callback)); - // Pre barriers aren't working correctly at the moment - DisableIncrementalGC(runtime.rt()); - } + unsafe extern "C" fn empty_wrapper_callback(_: *mut JSContext, _: *mut JSObject) -> bool { true } + SetDOMCallbacks(runtime.rt(), &DOM_CALLBACKS); + SetPreserveWrapperCallback(runtime.rt(), Some(empty_wrapper_callback)); + // Pre barriers aren't working correctly at the moment + DisableIncrementalGC(runtime.rt()); // Enable or disable the JITs. - let rt_opts = unsafe { &mut *RuntimeOptionsRef(runtime.rt()) }; + let rt_opts = &mut *RuntimeOptionsRef(runtime.rt()); if let Some(val) = get_pref("js.baseline.enabled").as_boolean() { rt_opts.set_baseline_(val); } @@ -144,10 +137,10 @@ pub fn new_rt_and_cx() -> Runtime { rt_opts.set_nativeRegExp_(val); } if let Some(val) = get_pref("js.parallel_parsing.enabled").as_boolean() { - unsafe { JS_SetParallelParsingEnabled(runtime.rt(), val); } + JS_SetParallelParsingEnabled(runtime.rt(), val); } if let Some(val) = get_pref("js.offthread_compilation_enabled").as_boolean() { - unsafe { JS_SetOffthreadIonCompilationEnabled(runtime.rt(), val); } + JS_SetOffthreadIonCompilationEnabled(runtime.rt(), val); } if let Some(val) = get_pref("js.baseline.unsafe_eager_compilation.enabled").as_boolean() { let trigger: i32 = if val { @@ -155,11 +148,9 @@ pub fn new_rt_and_cx() -> Runtime { } else { -1 }; - unsafe { - JS_SetGlobalJitCompilerOption(runtime.rt(), - JSJitCompilerOption::JSJITCOMPILER_BASELINE_WARMUP_TRIGGER, - trigger as u32); - } + JS_SetGlobalJitCompilerOption(runtime.rt(), + JSJitCompilerOption::JSJITCOMPILER_BASELINE_WARMUP_TRIGGER, + trigger as u32); } if let Some(val) = get_pref("js.ion.unsafe_eager_compilation.enabled").as_boolean() { let trigger: i64 = if val { @@ -167,11 +158,9 @@ pub fn new_rt_and_cx() -> Runtime { } else { -1 }; - unsafe { - JS_SetGlobalJitCompilerOption(runtime.rt(), - JSJitCompilerOption::JSJITCOMPILER_ION_WARMUP_TRIGGER, - trigger as u32); - } + JS_SetGlobalJitCompilerOption(runtime.rt(), + JSJitCompilerOption::JSJITCOMPILER_ION_WARMUP_TRIGGER, + trigger as u32); } // TODO: handle js.discard_system_source.enabled // TODO: handle js.asyncstack.enabled (needs new Spidermonkey) @@ -182,9 +171,7 @@ pub fn new_rt_and_cx() -> Runtime { } // TODO: handle js.shared_memory.enabled if let Some(val) = get_pref("js.mem.high_water_mark").as_i64() { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_MAX_MALLOC_BYTES, val as u32 * 1024 * 1024); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_MAX_MALLOC_BYTES, val as u32 * 1024 * 1024); } if let Some(val) = get_pref("js.mem.max").as_i64() { let max = if val <= 0 || val >= 0x1000 { @@ -192,9 +179,7 @@ pub fn new_rt_and_cx() -> Runtime { } else { val * 1024 * 1024 }; - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_MAX_BYTES, max as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_MAX_BYTES, max as u32); } // NOTE: This is disabled above, so enabling it here will do nothing for now. if let Some(val) = get_pref("js.mem.gc.incremental.enabled").as_boolean() { @@ -210,101 +195,71 @@ pub fn new_rt_and_cx() -> Runtime { } else { JSGCMode::JSGC_MODE_GLOBAL }; - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_MODE, mode as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_MODE, mode as u32); } if let Some(val) = get_pref("js.mem.gc.incremental.slice_ms").as_i64() { if val >= 0 && val < 100000 { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_SLICE_TIME_BUDGET, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_SLICE_TIME_BUDGET, val as u32); } } if let Some(val) = get_pref("js.mem.gc.compacting.enabled").as_boolean() { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_COMPACTING_ENABLED, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_COMPACTING_ENABLED, val as u32); } if let Some(val) = get_pref("js.mem.gc.high_frequency_time_limit_ms").as_i64() { if val >= 0 && val < 10000 { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_HIGH_FREQUENCY_TIME_LIMIT, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_HIGH_FREQUENCY_TIME_LIMIT, val as u32); } } if let Some(val) = get_pref("js.mem.gc.dynamic_mark_slice.enabled").as_boolean() { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_DYNAMIC_MARK_SLICE, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_DYNAMIC_MARK_SLICE, val as u32); } // TODO: handle js.mem.gc.refresh_frame_slices.enabled if let Some(val) = get_pref("js.mem.gc.dynamic_heap_growth.enabled").as_boolean() { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_DYNAMIC_HEAP_GROWTH, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_DYNAMIC_HEAP_GROWTH, val as u32); } if let Some(val) = get_pref("js.mem.gc.low_frequency_heap_growth").as_i64() { if val >= 0 && val < 10000 { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_LOW_FREQUENCY_HEAP_GROWTH, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_LOW_FREQUENCY_HEAP_GROWTH, val as u32); } } if let Some(val) = get_pref("js.mem.gc.high_frequency_heap_growth_min").as_i64() { if val >= 0 && val < 10000 { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_HIGH_FREQUENCY_HEAP_GROWTH_MIN, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_HIGH_FREQUENCY_HEAP_GROWTH_MIN, val as u32); } } if let Some(val) = get_pref("js.mem.gc.high_frequency_heap_growth_max").as_i64() { if val >= 0 && val < 10000 { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_HIGH_FREQUENCY_HEAP_GROWTH_MAX, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_HIGH_FREQUENCY_HEAP_GROWTH_MAX, val as u32); } } if let Some(val) = get_pref("js.mem.gc.high_frequency_low_limit_mb").as_i64() { if val >= 0 && val < 10000 { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_HIGH_FREQUENCY_LOW_LIMIT, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_HIGH_FREQUENCY_LOW_LIMIT, val as u32); } } if let Some(val) = get_pref("js.mem.gc.high_frequency_high_limit_mb").as_i64() { if val >= 0 && val < 10000 { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_HIGH_FREQUENCY_HIGH_LIMIT, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_HIGH_FREQUENCY_HIGH_LIMIT, val as u32); } } if let Some(val) = get_pref("js.mem.gc.allocation_threshold_mb").as_i64() { if val >= 0 && val < 10000 { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_ALLOCATION_THRESHOLD, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_ALLOCATION_THRESHOLD, val as u32); } } if let Some(val) = get_pref("js.mem.gc.decommit_threshold_mb").as_i64() { if val >= 0 && val < 10000 { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_DECOMMIT_THRESHOLD, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_DECOMMIT_THRESHOLD, val as u32); } } if let Some(val) = get_pref("js.mem.gc.empty_chunk_count_min").as_i64() { if val >= 0 && val < 10000 { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_MIN_EMPTY_CHUNK_COUNT, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_MIN_EMPTY_CHUNK_COUNT, val as u32); } } if let Some(val) = get_pref("js.mem.gc.empty_chunk_count_max").as_i64() { if val >= 0 && val < 10000 { - unsafe { - JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_MAX_EMPTY_CHUNK_COUNT, val as u32); - } + JS_SetGCParameter(runtime.rt(), JSGCParamKey::JSGC_MAX_EMPTY_CHUNK_COUNT, val as u32); } } diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 78c9aefc409..22d1ddb0206 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -61,7 +61,7 @@ use layout_interface::{self, LayoutChan, NewLayoutThreadInfo, ScriptLayoutChan}; use mem::heap_size_of_self_and_children; use msg::constellation_msg::{ConstellationChan, LoadData}; use msg::constellation_msg::{PipelineId, PipelineNamespace}; -use msg::constellation_msg::{SubpageId, WindowSizeData}; +use msg::constellation_msg::{SubpageId, WindowSizeData, WindowSizeType}; use msg::webdriver_msg::WebDriverScriptCommand; use net_traits::LoadData as NetLoadData; use net_traits::image_cache_thread::{ImageCacheChan, ImageCacheResult, ImageCacheThread}; @@ -492,7 +492,7 @@ pub unsafe extern "C" fn shadow_check_callback(_cx: *mut JSContext, } impl ScriptThread { - pub fn page_fetch_complete(id: PipelineId, subpage: Option<SubpageId>, metadata: Metadata) + pub fn page_fetch_complete(id: PipelineId, subpage: Option<SubpageId>, metadata: Option<Metadata>) -> Option<ParserRoot> { SCRIPT_THREAD_ROOT.with(|root| { let script_thread = unsafe { &*root.borrow().unwrap() }; @@ -521,7 +521,7 @@ impl ScriptThread { port: Receiver<MainThreadScriptMsg>, chan: Sender<MainThreadScriptMsg>) -> ScriptThread { - let runtime = new_rt_and_cx(); + let runtime = unsafe { new_rt_and_cx() }; unsafe { JS_SetWrapObjectCallbacks(runtime.rt(), @@ -635,8 +635,8 @@ impl ScriptThread { } } - for (id, size) in resizes { - self.handle_event(id, ResizeEvent(size)); + for (id, (size, size_type)) in resizes { + self.handle_event(id, ResizeEvent(size, size_type)); } // Store new resizes, and gather all other events. @@ -689,9 +689,9 @@ impl ScriptThread { self.handle_new_layout(new_layout_info); }) } - FromConstellation(ConstellationControlMsg::Resize(id, size)) => { + FromConstellation(ConstellationControlMsg::Resize(id, size, size_type)) => { self.profile_event(ScriptThreadEventCategory::Resize, || { - self.handle_resize(id, size); + self.handle_resize(id, size, size_type); }) } FromConstellation(ConstellationControlMsg::Viewport(id, rect)) => { @@ -1020,10 +1020,10 @@ impl ScriptThread { } } - fn handle_resize(&self, id: PipelineId, size: WindowSizeData) { + fn handle_resize(&self, id: PipelineId, size: WindowSizeData, size_type: WindowSizeType) { if let Some(ref page) = self.find_subpage(id) { let window = page.window(); - window.set_resize_event(size); + window.set_resize_event(size, size_type); return; } let mut loads = self.incomplete_loads.borrow_mut(); @@ -1280,7 +1280,7 @@ impl ScriptThread { /// We have received notification that the response associated with a load has completed. /// Kick off the document and frame tree creation process using the result. fn handle_page_fetch_complete(&self, id: PipelineId, subpage: Option<SubpageId>, - metadata: Metadata) -> Option<ParserRoot> { + metadata: Option<Metadata>) -> Option<ParserRoot> { let idx = self.incomplete_loads.borrow().iter().position(|load| { load.pipeline_id == id && load.parent_info.map(|info| info.1) == subpage }); @@ -1289,7 +1289,7 @@ impl ScriptThread { match idx { Some(idx) => { let load = self.incomplete_loads.borrow_mut().remove(idx); - Some(self.load(metadata, load)) + metadata.map(|meta| self.load(meta, load)) } None => { assert!(self.closed_pipelines.borrow().contains(&id)); @@ -1670,8 +1670,8 @@ impl ScriptThread { } match event { - ResizeEvent(new_size) => { - self.handle_resize_event(pipeline_id, new_size); + ResizeEvent(new_size, size_type) => { + self.handle_resize_event(pipeline_id, new_size, size_type); } MouseButtonEvent(event_type, button, point) => { @@ -1831,7 +1831,7 @@ impl ScriptThread { } } - fn handle_resize_event(&self, pipeline_id: PipelineId, new_size: WindowSizeData) { + fn handle_resize_event(&self, pipeline_id: PipelineId, new_size: WindowSizeData, size_type: WindowSizeType) { let page = get_page(&self.root_page(), pipeline_id); let window = page.window(); window.set_window_size(new_size); @@ -1849,11 +1849,13 @@ impl ScriptThread { // http://dev.w3.org/csswg/cssom-view/#resizing-viewports // https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#event-type-resize - let uievent = UIEvent::new(window.r(), - DOMString::from("resize"), EventBubbles::DoesNotBubble, - EventCancelable::NotCancelable, Some(window.r()), - 0i32); - uievent.upcast::<Event>().fire(window.upcast()); + if size_type == WindowSizeType::Resize { + let uievent = UIEvent::new(window.r(), + DOMString::from("resize"), EventBubbles::DoesNotBubble, + EventCancelable::NotCancelable, Some(window.r()), + 0i32); + uievent.upcast::<Event>().fire(window.upcast()); + } } /// Initiate a non-blocking fetch for a specified resource. Stores the InProgressLoad diff --git a/components/script/timers.rs b/components/script/timers.rs index 7816106c9d7..473b2fc030c 100644 --- a/components/script/timers.rs +++ b/components/script/timers.rs @@ -15,7 +15,7 @@ use heapsize::HeapSizeOf; use ipc_channel::ipc::IpcSender; use js::jsapi::{HandleValue, Heap, RootedValue}; use js::jsval::{JSVal, UndefinedValue}; -use num::traits::Saturating; +use num_traits::Saturating; use script_traits::{MsDuration, precise_time_ms}; use script_traits::{TimerEvent, TimerEventId, TimerEventRequest, TimerSource}; use std::cell::Cell; diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index b8b0a34c77d..46c3e860643 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -41,7 +41,7 @@ use gfx_traits::Epoch; use gfx_traits::LayerId; use ipc_channel::ipc::{IpcReceiver, IpcSender}; use libc::c_void; -use msg::constellation_msg::{ConstellationChan, PanicMsg, PipelineId, WindowSizeData}; +use msg::constellation_msg::{ConstellationChan, PanicMsg, PipelineId, WindowSizeData, WindowSizeType}; use msg::constellation_msg::{Key, KeyModifiers, KeyState, LoadData}; use msg::constellation_msg::{PipelineNamespaceId, SubpageId}; use msg::webdriver_msg::WebDriverScriptCommand; @@ -109,7 +109,7 @@ pub enum ConstellationControlMsg { /// Gives a channel and ID to a layout thread, as well as the ID of that layout's parent AttachLayout(NewLayoutInfo), /// Window resized. Sends a DOM event eventually, but first we combine events. - Resize(PipelineId, WindowSizeData), + Resize(PipelineId, WindowSizeData, WindowSizeType), /// Notifies script that window has been resized but to not take immediate action. ResizeInactive(PipelineId, WindowSizeData), /// Notifies the script that a pipeline should be closed. @@ -220,7 +220,7 @@ pub enum MouseEventType { #[derive(Deserialize, Serialize)] pub enum CompositorEvent { /// The window was resized. - ResizeEvent(WindowSizeData), + ResizeEvent(WindowSizeData, WindowSizeType), /// A mouse button state changed. MouseButtonEvent(MouseEventType, MouseButton, Point2D<f32>), /// The mouse was moved over a point (or was moved out of the recognizable region). diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index fabc126fcfe..ed25d333ea3 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -12,7 +12,7 @@ dependencies = [ "devtools 0.0.1", "devtools_traits 0.0.1", "env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gaol 0.0.1 (git+https://github.com/servo/gaol)", "gfx 0.0.1", "gfx_tests 0.0.1", @@ -30,9 +30,9 @@ dependencies = [ "net_tests 0.0.1", "net_traits 0.0.1", "net_traits_tests 0.0.1", - "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugin_compiletest 0.0.1", "profile 0.0.1", + "profile_tests 0.0.1", "profile_traits 0.0.1", "script 0.0.1", "script_tests 0.0.1", @@ -73,10 +73,10 @@ name = "app_units" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -103,7 +103,7 @@ dependencies = [ "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -122,8 +122,8 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -163,13 +163,12 @@ version = "0.0.1" dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", "canvas_traits 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", - "layers 0.2.4 (git+https://github.com/servo/rust-layers)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "util 0.0.1", @@ -182,16 +181,14 @@ version = "0.0.1" dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", - "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "util 0.0.1", "webrender_traits 0.1.0 (git+https://github.com/servo/webrender_traits)", ] @@ -291,7 +288,7 @@ dependencies = [ "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "devtools_traits 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gaol 0.0.1 (git+https://github.com/servo/gaol)", "gfx 0.0.1", "gfx_traits 0.0.1", @@ -303,7 +300,7 @@ dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", @@ -325,7 +322,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -408,7 +405,6 @@ dependencies = [ "devtools_traits 0.0.1", "hyper 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", - "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "plugins 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -433,7 +429,6 @@ dependencies = [ "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", - "util 0.0.1", ] [[package]] @@ -564,7 +559,7 @@ name = "enum_primitive" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -578,14 +573,14 @@ dependencies = [ [[package]] name = "euclid" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -678,7 +673,7 @@ dependencies = [ "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gfx_traits 0.0.1", @@ -697,7 +692,7 @@ dependencies = [ "profile_traits 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "range 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -728,7 +723,7 @@ name = "gfx_traits" version = "0.0.1" dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.2.4 (git+https://github.com/servo/rust-layers)", @@ -736,7 +731,6 @@ dependencies = [ "plugins 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "util 0.0.1", ] [[package]] @@ -778,7 +772,7 @@ dependencies = [ "bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "compositing 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.2.4 (git+https://github.com/servo/rust-layers)", "msg 0.0.1", @@ -879,7 +873,7 @@ dependencies = [ "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", @@ -902,7 +896,7 @@ dependencies = [ "mime 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "solicit 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", @@ -922,7 +916,7 @@ dependencies = [ "gif 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "jpeg-decoder 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "png 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -933,7 +927,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -948,7 +942,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "leaky-cow 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -975,22 +969,22 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "js" version = "0.1.2" -source = "git+https://github.com/servo/rust-mozjs#6f1eb4ea7a84714bfab2806440c9fc8a9a261409" +source = "git+https://github.com/servo/rust-mozjs#efe805affa75d776316e9ea6113f85cdad1e82ed" dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "mozjs_sys 0.0.0 (git+https://github.com/servo/mozjs)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1020,7 +1014,7 @@ dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "glx 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1028,7 +1022,7 @@ dependencies = [ "io-surface 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-skia 0.20130412.6 (registry+https://github.com/rust-lang/crates.io-index)", "x11 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1043,7 +1037,7 @@ dependencies = [ "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", "gfx_traits 0.0.1", @@ -1058,11 +1052,10 @@ dependencies = [ "plugins 0.0.1", "profile_traits 0.0.1", "range 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script 0.0.1", "script_traits 0.0.1", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1250,14 +1243,14 @@ version = "0.0.1" dependencies = [ "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", "layers 0.2.4 (git+https://github.com/servo/rust-layers)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1283,7 +1276,7 @@ dependencies = [ "net_traits 0.0.1", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "threadpool 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "tinyfiledialogs 0.1.0 (git+https://github.com/jdm/tinyfiledialogs)", @@ -1363,14 +1356,71 @@ dependencies = [ [[package]] name = "num" -version = "0.1.31" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-bigint 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-complex 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-iter 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-rational 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-bigint" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-complex" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-integer" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-iter" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-rational" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-bigint 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] +name = "num-traits" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] name = "num_cpus" version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1418,7 +1468,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1550,7 +1600,7 @@ dependencies = [ "flate2 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "inflate 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1570,6 +1620,14 @@ dependencies = [ ] [[package]] +name = "profile_tests" +version = "0.0.1" +dependencies = [ + "profile 0.0.1", + "profile_traits 0.0.1", +] + +[[package]] name = "profile_traits" version = "0.0.1" dependencies = [ @@ -1608,7 +1666,7 @@ name = "quickersort" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1626,8 +1684,8 @@ version = "0.0.1" dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1670,7 +1728,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rustc-serialize" -version = "0.3.16" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1702,7 +1760,7 @@ dependencies = [ "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "devtools_traits 0.0.1", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1716,7 +1774,7 @@ dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "phf_macros 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1727,7 +1785,7 @@ dependencies = [ "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1762,7 +1820,7 @@ dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "devtools_traits 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1822,7 +1880,7 @@ name = "serde_json" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1903,7 +1961,7 @@ version = "0.20130412.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "expat-sys 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "glx 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1975,16 +2033,16 @@ dependencies = [ "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2002,7 +2060,7 @@ version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "plugins 0.0.1", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2018,14 +2076,13 @@ name = "style_traits" version = "0.0.1" dependencies = [ "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2155,7 +2212,7 @@ dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2191,7 +2248,7 @@ dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2204,7 +2261,7 @@ dependencies = [ "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2217,7 +2274,7 @@ name = "util_tests" version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "util 0.0.1", @@ -2295,7 +2352,7 @@ dependencies = [ "hyper 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2310,7 +2367,7 @@ dependencies = [ "msg 0.0.1", "plugins 0.0.1", "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", "uuid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2326,14 +2383,14 @@ dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "scoped_threadpool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2348,7 +2405,7 @@ dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2367,7 +2424,7 @@ dependencies = [ "net2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2428,13 +2485,13 @@ dependencies = [ [[package]] name = "xml5ever" version = "0.1.1" -source = "git+https://github.com/Ygg01/xml5ever#4900bbadef28c940a0cd73dc735d53709a2845c7" +source = "git+https://github.com/Ygg01/xml5ever#a51a6df18f384ecfb0a99b288c267178cf68f7f7" dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/components/servo/Cargo.toml b/components/servo/Cargo.toml index f62468c5151..b41979e41ac 100644 --- a/components/servo/Cargo.toml +++ b/components/servo/Cargo.toml @@ -33,6 +33,9 @@ path = "../../tests/unit/net" [dev-dependencies.net_traits_tests] path = "../../tests/unit/net_traits" +[dev-dependencies.profile_tests] +path = "../../tests/unit/profile" + [dev-dependencies.script_tests] path = "../../tests/unit/script" @@ -127,7 +130,7 @@ optional = true version = "0.1.3" optional = true -[dependencies.log] +[target.arm-linux-androideabi.dependencies.log] version = "0.3" features = ["release_max_level_info"] @@ -168,5 +171,4 @@ bitflags = "0.3" env_logger = "0.3" euclid = {version = "0.6.4", features = ["plugins"]} libc = "0.2" -offscreen_gl_context = "0.1.2" url = {version = "0.5.7", features = ["heap_size", "serde_serialization", "query_encoding"]} diff --git a/components/servo/main.rs b/components/servo/main.rs index b5e2812a595..214d9ee101d 100644 --- a/components/servo/main.rs +++ b/components/servo/main.rs @@ -21,14 +21,13 @@ #[macro_use] extern crate android_glue; extern crate env_logger; -extern crate gleam; // The window backed by glutin extern crate glutin_app as app; #[cfg(target_os = "android")] extern crate libc; +#[cfg(target_os = "android")] #[macro_use] extern crate log; -extern crate offscreen_gl_context; // The Servo engine extern crate servo; diff --git a/components/style/Cargo.toml b/components/style/Cargo.toml index 6aee2f66cfd..7160f796fa4 100644 --- a/components/style/Cargo.toml +++ b/components/style/Cargo.toml @@ -34,7 +34,7 @@ heapsize_plugin = "0.1.2" lazy_static = "0.1.16" log = "0.3.5" matches = "0.1" -num = "0.1.24" +num-traits = "0.1.32" rustc-serialize = "0.3" selectors = {version = "0.5", features = ["heap_size", "unstable"]} serde = {version = "0.7", features = ["nightly"]} diff --git a/components/style/attr.rs b/components/style/attr.rs index 43652c3dc8a..363c5b44f52 100644 --- a/components/style/attr.rs +++ b/components/style/attr.rs @@ -5,7 +5,7 @@ use app_units::Au; use cssparser::{self, Color, RGBA}; use euclid::num::Zero; -use num::ToPrimitive; +use num_traits::ToPrimitive; use std::ascii::AsciiExt; use std::ops::Deref; use std::str::FromStr; diff --git a/components/style/build.rs b/components/style/build.rs index c33d3aaf6cb..d5935bc2d81 100644 --- a/components/style/build.rs +++ b/components/style/build.rs @@ -3,10 +3,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use std::env; -use std::fs::File; -use std::io::Write; use std::path::Path; -use std::process::{Command, Stdio, exit}; +use std::process::{Command, exit}; #[cfg(windows)] fn find_python() -> String { @@ -31,25 +29,16 @@ fn find_python() -> String { } fn main() { - let python = match env::var("PYTHON") { - Ok(python_path) => python_path, - Err(_) => find_python(), - }; - let style = Path::new(file!()).parent().unwrap(); - let mako = style.join("Mako-0.9.1.zip"); - let template = style.join("properties.mako.rs"); + let python = env::var("PYTHON").ok().unwrap_or_else(find_python); + let script = Path::new(file!()).parent().unwrap().join("properties").join("build.py"); let product = if cfg!(feature = "gecko") { "gecko" } else { "servo" }; - let result = Command::new(python) - .env("PYTHONPATH", &mako) - .env("TEMPLATE", &template) - .env("PRODUCT", product) - .arg("generate_properties_rs.py") - .stderr(Stdio::inherit()) - .output() + let status = Command::new(python) + .arg(&script) + .arg(product) + .arg("style-crate") + .status() .unwrap(); - if !result.status.success() { + if !status.success() { exit(1) } - let out = env::var("OUT_DIR").unwrap(); - File::create(&Path::new(&out).join("properties.rs")).unwrap().write_all(&result.stdout).unwrap(); } diff --git a/components/style/generate_properties_rs.py b/components/style/generate_properties_rs.py deleted file mode 100644 index eceae10c28c..00000000000 --- a/components/style/generate_properties_rs.py +++ /dev/null @@ -1,17 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. - -import os -import sys - -from mako import exceptions -from mako.template import Template - -try: - template = Template(open(os.environ['TEMPLATE'], 'rb').read(), - input_encoding='utf8') - print(template.render(PRODUCT=os.environ['PRODUCT']).encode('utf8')) -except: - sys.stderr.write(exceptions.text_error_template().render().encode('utf8')) - sys.exit(1) diff --git a/components/style/lib.rs b/components/style/lib.rs index 951a32cd3ce..00d5d079066 100644 --- a/components/style/lib.rs +++ b/components/style/lib.rs @@ -19,6 +19,7 @@ #![recursion_limit = "500"] // For match_ignore_ascii_case in PropertyDeclaration::parse extern crate app_units; +#[allow(unused_extern_crates)] #[macro_use] extern crate bitflags; extern crate core; @@ -28,13 +29,15 @@ extern crate encoding; extern crate euclid; extern crate fnv; extern crate heapsize; +#[allow(unused_extern_crates)] #[macro_use] extern crate lazy_static; #[macro_use] extern crate log; +#[allow(unused_extern_crates)] #[macro_use] extern crate matches; -extern crate num; +extern crate num_traits; extern crate rustc_serialize; extern crate selectors; extern crate serde; diff --git a/components/style/list_properties.py b/components/style/list_properties.py deleted file mode 100644 index 78c6b84f2c4..00000000000 --- a/components/style/list_properties.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env python - -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. - -import os.path -import sys -import json - -style = os.path.dirname(__file__) -sys.path.insert(0, os.path.join(style, "Mako-0.9.1.zip")) -from mako.template import Template - -template = Template(filename=os.path.join(style, "properties.mako.rs"), input_encoding='utf8') -template.render(PRODUCT='servo') -properties = dict( - (p.name, { - "flag": p.experimental, - "shorthand": hasattr(p, "sub_properties") - }) - for p in template.module.LONGHANDS + template.module.SHORTHANDS -) - -json_dump = json.dumps(properties, indent=4) - -# -# Resolve path to doc directory and write CSS properties and JSON. -# -servo_doc_path = os.path.abspath(os.path.join(style, '../', '../', 'target', 'doc', 'servo')) - -# Ensure ./target/doc/servo exists -if not os.path.exists(servo_doc_path): - os.makedirs(servo_doc_path) - -with open(os.path.join(servo_doc_path, 'css-properties.json'), "w") as out_file: - out_file.write(json_dump) - -html_template = Template(filename=os.path.join(style, "properties.html.mako"), input_encoding='utf8') -with open(os.path.join(servo_doc_path, 'css-properties.html'), "w") as out_file: - out_file.write(html_template.render(properties=properties)) diff --git a/components/style/Mako-0.9.1.zip b/components/style/properties/Mako-0.9.1.zip Binary files differindex b7450e30012..b7450e30012 100644 --- a/components/style/Mako-0.9.1.zip +++ b/components/style/properties/Mako-0.9.1.zip diff --git a/components/style/properties/build.py b/components/style/properties/build.py new file mode 100644 index 00000000000..28a9b59019f --- /dev/null +++ b/components/style/properties/build.py @@ -0,0 +1,84 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import json +import os.path +import sys + +BASE = os.path.dirname(__file__) +sys.path.insert(0, os.path.join(BASE, "Mako-0.9.1.zip")) +sys.path.insert(0, BASE) # For importing `data.py` + +from mako import exceptions +from mako.lookup import TemplateLookup +from mako.template import Template + +import data + + +def main(): + usage = "Usage: %s [ servo | gecko ] [ style-crate | geckolib | html ]" % sys.argv[0] + if len(sys.argv) < 3: + abort(usage) + product = sys.argv[1] + output = sys.argv[2] + if product not in ["servo", "gecko"] or output not in ["style-crate", "geckolib", "html"]: + abort(usage) + + properties = data.PropertiesData(product=product) + rust = render(os.path.join(BASE, "properties.mako.rs"), product=product, data=properties) + if output == "style-crate": + write(os.environ["OUT_DIR"], "properties.rs", rust) + if output == "geckolib": + template = os.path.join(BASE, "..", "..", "..", "ports", "geckolib", "properties.mako.rs") + rust = render(template, data=properties) + write(os.environ["OUT_DIR"], "properties.rs", rust) + elif output == "html": + write_html(properties) + + +def abort(message): + sys.stderr.write(message + b"\n") + sys.exit(1) + + +def render(filename, **context): + try: + lookup = TemplateLookup(directories=[BASE]) + template = Template(open(filename, "rb").read(), + filename=filename, + input_encoding="utf8", + lookup=lookup, + strict_undefined=True) + # Uncomment to debug generated Python code: + # write("/tmp", "mako_%s.py" % os.path.basename(filename), template.code) + return template.render(**context).encode("utf8") + except: + # Uncomment to see a traceback in generated Python code: + # raise + abort(exceptions.text_error_template().render().encode("utf8")) + + +def write(directory, filename, content): + if not os.path.exists(directory): + os.makedirs(directory) + open(os.path.join(directory, filename), "wb").write(content) + + +def write_html(properties): + properties = dict( + (p.name, { + "flag": p.experimental, + "shorthand": hasattr(p, "sub_properties") + }) + for p in properties.longhands + properties.shorthands + ) + doc_servo = os.path.join(BASE, "..", "..", "..", "target", "doc", "servo") + html = render(os.path.join(BASE, "properties.html.mako"), properties=properties) + write(doc_servo, "css-properties.html", html) + write(doc_servo, "css-properties.json", json.dumps(properties, indent=4)) + + +if __name__ == "__main__": + main() diff --git a/components/style/properties/data.py b/components/style/properties/data.py new file mode 100644 index 00000000000..fd741f9713a --- /dev/null +++ b/components/style/properties/data.py @@ -0,0 +1,157 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import re + + +def to_rust_ident(name): + name = name.replace("-", "_") + if name in ["static", "super", "box", "move"]: # Rust keywords + name += "_" + return name + + +def to_camel_case(ident): + return re.sub("_([a-z])", lambda m: m.group(1).upper(), ident.strip("_").capitalize()) + + +class Keyword(object): + def __init__(self, name, values, gecko_constant_prefix=None, + extra_gecko_values=None, extra_servo_values=None): + self.name = name + self.values = values.split() + self.gecko_constant_prefix = gecko_constant_prefix or \ + "NS_STYLE_" + self.name.upper().replace("-", "_") + self.extra_gecko_values = (extra_gecko_values or "").split() + self.extra_servo_values = (extra_servo_values or "").split() + + def gecko_values(self): + return self.values + self.extra_gecko_values + + def servo_values(self): + return self.values + self.extra_servo_values + + def values_for(self, product): + if product == "gecko": + return self.gecko_values() + elif product == "servo": + return self.servo_values() + else: + raise Exception("Bad product: " + product) + + def gecko_constant(self, value): + return self.gecko_constant_prefix + "_" + value.replace("-moz-", "").replace("-", "_").upper() + + +class Longhand(object): + def __init__(self, style_struct, name, derived_from=None, keyword=None, + custom_cascade=False, experimental=False, internal=False, + need_clone=False, gecko_ffi_name=None): + self.name = name + self.keyword = keyword + self.ident = to_rust_ident(name) + self.camel_case = to_camel_case(self.ident) + self.style_struct = style_struct + self.experimental = ("layout.%s.enabled" % name) if experimental else None + self.custom_cascade = custom_cascade + self.internal = internal + self.need_clone = need_clone + self.gecko_ffi_name = gecko_ffi_name or "m" + self.camel_case + self.derived_from = (derived_from or "").split() + + +class Shorthand(object): + def __init__(self, name, sub_properties, experimental=False, internal=False): + self.name = name + self.ident = to_rust_ident(name) + self.camel_case = to_camel_case(self.ident) + self.derived_from = None + self.experimental = ("layout.%s.enabled" % name) if experimental else None + self.sub_properties = sub_properties + self.internal = internal + + +class Method(object): + def __init__(self, name, return_type=None, arg_types=None, is_mut=False): + self.name = name + self.return_type = return_type + self.arg_types = arg_types or [] + self.is_mut = is_mut + + def arg_list(self): + args = ["_: " + x for x in self.arg_types] + args = ["&mut self" if self.is_mut else "&self"] + args + return ", ".join(args) + + def signature(self): + sig = "fn %s(%s)" % (self.name, self.arg_list()) + if self.return_type: + sig = sig + " -> " + self.return_type + return sig + + def declare(self): + return self.signature() + ";" + + def stub(self): + return self.signature() + "{ unimplemented!() }" + + +class StyleStruct(object): + def __init__(self, name, inherited, gecko_ffi_name=None, additional_methods=None): + self.servo_struct_name = "Servo" + name + self.gecko_struct_name = "Gecko" + name + self.trait_name = name + self.trait_name_lower = name.lower() + self.ident = to_rust_ident(self.trait_name_lower) + self.longhands = [] + self.inherited = inherited + self.gecko_ffi_name = gecko_ffi_name + self.additional_methods = additional_methods or [] + + +class PropertiesData(object): + def __init__(self, product): + self.product = product + self.style_structs = [] + self.current_style_struct = None + self.longhands = [] + self.longhands_by_name = {} + self.derived_longhands = {} + self.shorthands = [] + + def new_style_struct(self, *args, **kwargs): + style_struct = StyleStruct(*args, **kwargs) + self.style_structs.append(style_struct) + self.current_style_struct = style_struct + + def active_style_structs(self): + return [s for s in self.style_structs if s.additional_methods or s.longhands] + + def switch_to_style_struct(self, name): + for style_struct in self.style_structs: + if style_struct.trait_name == name: + self.current_style_struct = style_struct + return + raise Exception("Failed to find the struct named " + name) + + def declare_longhand(self, name, products="gecko servo", **kwargs): + products = products.split() + if self.product not in products: + return + + longand = Longhand(self.current_style_struct, name, **kwargs) + self.current_style_struct.longhands.append(longand) + self.longhands.append(longand) + self.longhands_by_name[name] = longand + + for name in longand.derived_from: + self.derived_longhands.setdefault(name, []).append(longand) + + return longand + + def declare_shorthand(self, name, sub_properties, *args, **kwargs): + sub_properties = [self.longhands_by_name[s] for s in sub_properties] + shorthand = Shorthand(name, sub_properties, *args, **kwargs) + self.shorthands.append(shorthand) + return shorthand diff --git a/components/style/properties/helpers.mako.rs b/components/style/properties/helpers.mako.rs new file mode 100644 index 00000000000..8f1a7820e1f --- /dev/null +++ b/components/style/properties/helpers.mako.rs @@ -0,0 +1,191 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +<%! from data import Keyword, to_rust_ident %> + +<%def name="longhand(name, **kwargs)"> + <%call expr="raw_longhand(name, **kwargs)"> + ${caller.body()} + % if not data.longhands_by_name[name].derived_from: + pub fn parse_specified(context: &ParserContext, input: &mut Parser) + -> Result<DeclaredValue<SpecifiedValue>, ()> { + parse(context, input).map(DeclaredValue::Value) + } + % endif + </%call> +</%def> + +<%def name="predefined_type(name, type, initial_value, parse_method='parse', **kwargs)"> + <%call expr="longhand(name, **kwargs)"> + #[allow(unused_imports)] + use app_units::Au; + pub type SpecifiedValue = specified::${type}; + pub mod computed_value { + pub use values::computed::${type} as T; + } + #[inline] pub fn get_initial_value() -> computed_value::T { ${initial_value} } + #[inline] pub fn parse(_context: &ParserContext, input: &mut Parser) + -> Result<SpecifiedValue, ()> { + specified::${type}::${parse_method}(input) + } + </%call> +</%def> + +<%def name="raw_longhand(*args, **kwargs)"> + <% + property = data.declare_longhand(*args, **kwargs) + if property is None: + return "" + %> + pub mod ${property.ident} { + #![allow(unused_imports)] + % if not property.derived_from: + use cssparser::Parser; + use parser::ParserContext; + use properties::{CSSWideKeyword, DeclaredValue, Shorthand}; + % endif + use error_reporting::ParseErrorReporter; + use properties::longhands; + use properties::property_bit_field::PropertyBitField; + use properties::{ComputedValues, ServoComputedValues, PropertyDeclaration}; + use properties::style_struct_traits::${data.current_style_struct.trait_name}; + use properties::style_structs; + use std::boxed::Box as StdBox; + use std::collections::HashMap; + use std::sync::Arc; + use values::computed::{TContext, ToComputedValue}; + use values::{computed, specified}; + use string_cache::Atom; + ${caller.body()} + #[allow(unused_variables)] + pub fn cascade_property<C: ComputedValues>( + declaration: &PropertyDeclaration, + inherited_style: &C, + context: &mut computed::Context<C>, + seen: &mut PropertyBitField, + cacheable: &mut bool, + error_reporter: &mut StdBox<ParseErrorReporter + Send>) { + let declared_value = match *declaration { + PropertyDeclaration::${property.camel_case}(ref declared_value) => { + declared_value + } + _ => panic!("entered the wrong cascade_property() implementation"), + }; + % if not property.derived_from: + if seen.get_${property.ident}() { + return + } + seen.set_${property.ident}(); + { + let custom_props = context.style().custom_properties(); + ::properties::substitute_variables_${property.ident}( + declared_value, &custom_props, |value| match *value { + DeclaredValue::Value(ref specified_value) => { + let computed = specified_value.to_computed_value(context); + context.mutate_style().mutate_${data.current_style_struct.trait_name_lower}() + .set_${property.ident}(computed); + } + DeclaredValue::WithVariables { .. } => unreachable!(), + DeclaredValue::Initial => { + // We assume that it's faster to use copy_*_from rather than + // set_*(get_initial_value()); + let initial_struct = C::initial_values() + .get_${data.current_style_struct.trait_name_lower}(); + context.mutate_style().mutate_${data.current_style_struct.trait_name_lower}() + .copy_${property.ident}_from(initial_struct); + }, + DeclaredValue::Inherit => { + // This is a bit slow, but this is rare so it shouldn't + // matter. + // + // FIXME: is it still? + *cacheable = false; + let inherited_struct = + inherited_style.get_${data.current_style_struct.trait_name_lower}(); + context.mutate_style().mutate_${data.current_style_struct.trait_name_lower}() + .copy_${property.ident}_from(inherited_struct); + } + }, error_reporter + ); + } + + % if property.custom_cascade: + cascade_property_custom(declaration, + inherited_style, + context, + seen, + cacheable, + error_reporter); + % endif + % else: + // Do not allow stylesheets to set derived properties. + % endif + } + % if not property.derived_from: + pub fn parse_declared(context: &ParserContext, input: &mut Parser) + -> Result<DeclaredValue<SpecifiedValue>, ()> { + match input.try(CSSWideKeyword::parse) { + Ok(CSSWideKeyword::InheritKeyword) => Ok(DeclaredValue::Inherit), + Ok(CSSWideKeyword::InitialKeyword) => Ok(DeclaredValue::Initial), + Ok(CSSWideKeyword::UnsetKeyword) => Ok(DeclaredValue::${ + "Inherit" if data.current_style_struct.inherited else "Initial"}), + Err(()) => { + input.look_for_var_functions(); + let start = input.position(); + let specified = parse_specified(context, input); + if specified.is_err() { + while let Ok(_) = input.next() {} // Look for var() after the error. + } + let var = input.seen_var_functions(); + if specified.is_err() && var { + input.reset(start); + let (first_token_type, css) = try!( + ::custom_properties::parse_non_custom_with_var(input)); + return Ok(DeclaredValue::WithVariables { + css: css.into_owned(), + first_token_type: first_token_type, + base_url: context.base_url.clone(), + from_shorthand: None, + }) + } + specified + } + } + } + % endif + } +</%def> + +<%def name="single_keyword(name, values, **kwargs)"> + <%call expr="single_keyword_computed(name, values, **kwargs)"> + use values::computed::ComputedValueAsSpecified; + impl ComputedValueAsSpecified for SpecifiedValue {} + </%call> +</%def> + +<%def name="single_keyword_computed(name, values, **kwargs)"> + <% + keyword_kwargs = {a: kwargs.pop(a, None) for a in [ + 'gecko_constant_prefix', 'extra_gecko_values', 'extra_servo_values' + ]} + %> + <%call expr="longhand(name, keyword=Keyword(name, values, **keyword_kwargs), **kwargs)"> + pub use self::computed_value::T as SpecifiedValue; + ${caller.body()} + pub mod computed_value { + define_css_keyword_enum! { T: + % for value in data.longhands_by_name[name].keyword.values_for(product): + "${value}" => ${to_rust_ident(value)}, + % endfor + } + } + #[inline] pub fn get_initial_value() -> computed_value::T { + computed_value::T::${to_rust_ident(values.split()[0])} + } + pub fn parse(_context: &ParserContext, input: &mut Parser) + -> Result<SpecifiedValue, ()> { + computed_value::T::parse(input) + } + </%call> +</%def> diff --git a/components/style/properties/longhand/border.mako.rs b/components/style/properties/longhand/border.mako.rs new file mode 100644 index 00000000000..16e8bc7a6eb --- /dev/null +++ b/components/style/properties/longhand/border.mako.rs @@ -0,0 +1,64 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +<%namespace name="helpers" file="/helpers.mako.rs" /> + +<% from data import Method %> + +<% data.new_style_struct("Border", inherited=False, gecko_ffi_name="nsStyleBorder", + additional_methods=[Method("border_" + side + "_has_nonzero_width", + "bool") for side in ["top", "right", "bottom", "left"]]) %> + +% for side in ["top", "right", "bottom", "left"]: + ${helpers.predefined_type("border-%s-color" % side, "CSSColor", "::cssparser::Color::CurrentColor")} +% endfor + +% for side in ["top", "right", "bottom", "left"]: + ${helpers.predefined_type("border-%s-style" % side, "BorderStyle", "specified::BorderStyle::none", need_clone=True)} +% endfor + +% for side in ["top", "right", "bottom", "left"]: + <%helpers:longhand name="border-${side}-width"> + use app_units::Au; + use cssparser::ToCss; + use std::fmt; + + impl ToCss for SpecifiedValue { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + self.0.to_css(dest) + } + } + + #[inline] + pub fn parse(_context: &ParserContext, input: &mut Parser) + -> Result<SpecifiedValue, ()> { + specified::parse_border_width(input).map(SpecifiedValue) + } + #[derive(Debug, Clone, PartialEq, HeapSizeOf)] + pub struct SpecifiedValue(pub specified::Length); + pub mod computed_value { + use app_units::Au; + pub type T = Au; + } + #[inline] pub fn get_initial_value() -> computed_value::T { + Au::from_px(3) // medium + } + + impl ToComputedValue for SpecifiedValue { + type ComputedValue = computed_value::T; + + #[inline] + fn to_computed_value<Cx: TContext>(&self, context: &Cx) -> computed_value::T { + self.0.to_computed_value(context) + } + } + </%helpers:longhand> +% endfor + +// FIXME(#4126): when gfx supports painting it, make this Size2D<LengthOrPercentage> +% for corner in ["top-left", "top-right", "bottom-right", "bottom-left"]: + ${helpers.predefined_type("border-" + corner + "-radius", "BorderRadiusSize", + "computed::BorderRadiusSize::zero()", + "parse")} +% endfor diff --git a/components/style/properties/longhand/box.mako.rs b/components/style/properties/longhand/box.mako.rs new file mode 100644 index 00000000000..34d425ec16e --- /dev/null +++ b/components/style/properties/longhand/box.mako.rs @@ -0,0 +1,124 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +<%namespace name="helpers" file="/helpers.mako.rs" /> + +<% from data import Method, to_rust_ident %> + +<% data.new_style_struct("Box", + inherited=False, + gecko_ffi_name="nsStyleDisplay", + additional_methods=[Method("transition_count", "usize")]) %> + +// TODO(SimonSapin): don't parse `inline-table`, since we don't support it +<%helpers:longhand name="display" need_clone="True" custom_cascade="${product == 'servo'}"> + <% + values = """inline block inline-block + table inline-table table-row-group table-header-group table-footer-group + table-row table-column-group table-column table-cell table-caption + list-item flex + none + """.split() + experimental_values = set("flex".split()) + %> + pub use self::computed_value::T as SpecifiedValue; + use values::computed::{Context, ComputedValueAsSpecified}; + + pub mod computed_value { + #[allow(non_camel_case_types)] + #[derive(Clone, Eq, PartialEq, Copy, Hash, RustcEncodable, Debug, HeapSizeOf)] + #[derive(Deserialize, Serialize)] + pub enum T { + % for value in values: + ${to_rust_ident(value)}, + % endfor + } + + impl ::cssparser::ToCss for T { + fn to_css<W>(&self, dest: &mut W) -> ::std::fmt::Result + where W: ::std::fmt::Write { + match *self { + % for value in values: + T::${to_rust_ident(value)} => dest.write_str("${value}"), + % endfor + } + } + } + } + #[inline] pub fn get_initial_value() -> computed_value::T { + computed_value::T::${to_rust_ident(values[0])} + } + pub fn parse(_context: &ParserContext, input: &mut Parser) + -> Result<SpecifiedValue, ()> { + match_ignore_ascii_case! { try!(input.expect_ident()), + % for value in values: + "${value}" => { + % if value in experimental_values: + if !::util::prefs::get_pref("layout.${value}.enabled") + .as_boolean().unwrap_or(false) { + return Err(()) + } + % endif + Ok(computed_value::T::${to_rust_ident(value)}) + }, + % endfor + _ => Err(()) + } + } + + impl ComputedValueAsSpecified for SpecifiedValue {} + + % if product == "servo": + fn cascade_property_custom<C: ComputedValues>( + _declaration: &PropertyDeclaration, + _inherited_style: &C, + context: &mut computed::Context<C>, + _seen: &mut PropertyBitField, + _cacheable: &mut bool, + _error_reporter: &mut StdBox<ParseErrorReporter + Send>) { + longhands::_servo_display_for_hypothetical_box::derive_from_display(context); + longhands::_servo_text_decorations_in_effect::derive_from_display(context); + } + % endif + +</%helpers:longhand> + +${helpers.single_keyword("position", "static absolute relative fixed", need_clone=True, extra_gecko_values="sticky")} + +<%helpers:single_keyword_computed name="float" values="none left right" need_clone="True" gecko_ffi_name="mFloats"> + impl ToComputedValue for SpecifiedValue { + type ComputedValue = computed_value::T; + + #[inline] + fn to_computed_value<Cx: TContext>(&self, context: &Cx) -> computed_value::T { + let positioned = matches!(context.style().get_box().clone_position(), + longhands::position::SpecifiedValue::absolute | + longhands::position::SpecifiedValue::fixed); + if positioned { + SpecifiedValue::none + } else { + *self + } + } + } + +</%helpers:single_keyword_computed> + +${helpers.single_keyword("clear", "none left right both", gecko_ffi_name="mBreakType")} + +<%helpers:longhand name="-servo-display-for-hypothetical-box" derived_from="display" products="servo"> + pub use super::display::{SpecifiedValue, get_initial_value}; + pub use super::display::{parse}; + + pub mod computed_value { + pub type T = super::SpecifiedValue; + } + + #[inline] + pub fn derive_from_display<Cx: TContext>(context: &mut Cx) { + let d = context.style().get_box().clone_display(); + context.mutate_style().mutate_box().set__servo_display_for_hypothetical_box(d); + } + +</%helpers:longhand> diff --git a/components/style/properties/longhand/margin.mako.rs b/components/style/properties/longhand/margin.mako.rs new file mode 100644 index 00000000000..39411f1cff1 --- /dev/null +++ b/components/style/properties/longhand/margin.mako.rs @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +<%namespace name="helpers" file="/helpers.mako.rs" /> + +<% data.new_style_struct("Margin", inherited=False, gecko_ffi_name="nsStyleMargin") %> + +% for side in ["top", "right", "bottom", "left"]: + ${helpers.predefined_type("margin-" + side, "LengthOrPercentageOrAuto", + "computed::LengthOrPercentageOrAuto::Length(Au(0))")} +% endfor diff --git a/components/style/properties/longhand/outline.mako.rs b/components/style/properties/longhand/outline.mako.rs new file mode 100644 index 00000000000..0b36e664a23 --- /dev/null +++ b/components/style/properties/longhand/outline.mako.rs @@ -0,0 +1,63 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +<%namespace name="helpers" file="/helpers.mako.rs" /> + +<% from data import Method %> + +<% data.new_style_struct("Outline", + inherited=False, + gecko_ffi_name="nsStyleOutline", + additional_methods=[Method("outline_has_nonzero_width", "bool")]) %> + +// TODO(pcwalton): `invert` +${helpers.predefined_type("outline-color", "CSSColor", "::cssparser::Color::CurrentColor")} + +<%helpers:longhand name="outline-style" need_clone="True"> + pub use values::specified::BorderStyle as SpecifiedValue; + pub fn get_initial_value() -> SpecifiedValue { SpecifiedValue::none } + pub mod computed_value { + pub use values::specified::BorderStyle as T; + } + pub fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { + match SpecifiedValue::parse(input) { + Ok(SpecifiedValue::hidden) => Err(()), + result => result + } + } +</%helpers:longhand> + +<%helpers:longhand name="outline-width"> + use app_units::Au; + use cssparser::ToCss; + use std::fmt; + use values::AuExtensionMethods; + + impl ToCss for SpecifiedValue { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + self.0.to_css(dest) + } + } + + pub fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { + specified::parse_border_width(input).map(SpecifiedValue) + } + #[derive(Debug, Clone, PartialEq, HeapSizeOf)] + pub struct SpecifiedValue(pub specified::Length); + pub mod computed_value { + use app_units::Au; + pub type T = Au; + } + pub use super::border_top_width::get_initial_value; + impl ToComputedValue for SpecifiedValue { + type ComputedValue = computed_value::T; + + #[inline] + fn to_computed_value<Cx: TContext>(&self, context: &Cx) -> computed_value::T { + self.0.to_computed_value(context) + } + } +</%helpers:longhand> + +${helpers.predefined_type("outline-offset", "Length", "Au(0)")} diff --git a/components/style/properties/longhand/padding.mako.rs b/components/style/properties/longhand/padding.mako.rs new file mode 100644 index 00000000000..fda8265e13f --- /dev/null +++ b/components/style/properties/longhand/padding.mako.rs @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +<%namespace name="helpers" file="/helpers.mako.rs" /> + +<% data.new_style_struct("Padding", inherited=False, gecko_ffi_name="nsStylePadding") %> + +% for side in ["top", "right", "bottom", "left"]: + ${helpers.predefined_type("padding-" + side, "LengthOrPercentage", + "computed::LengthOrPercentage::Length(Au(0))", + "parse_non_negative")} +% endfor diff --git a/components/style/properties/longhand/position.mako.rs b/components/style/properties/longhand/position.mako.rs new file mode 100644 index 00000000000..8a945fa0ec2 --- /dev/null +++ b/components/style/properties/longhand/position.mako.rs @@ -0,0 +1,58 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +<%namespace name="helpers" file="/helpers.mako.rs" /> + +<% data.new_style_struct("Position", inherited=False, gecko_ffi_name="nsStylePosition") %> + +% for side in ["top", "right", "bottom", "left"]: + ${helpers.predefined_type(side, "LengthOrPercentageOrAuto", + "computed::LengthOrPercentageOrAuto::Auto")} +% endfor + +<%helpers:longhand name="z-index"> + use values::computed::ComputedValueAsSpecified; + + impl ComputedValueAsSpecified for SpecifiedValue {} + pub type SpecifiedValue = computed_value::T; + pub mod computed_value { + use cssparser::ToCss; + use std::fmt; + + #[derive(PartialEq, Clone, Eq, Copy, Debug, HeapSizeOf)] + pub enum T { + Auto, + Number(i32), + } + + impl ToCss for T { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + match *self { + T::Auto => dest.write_str("auto"), + T::Number(number) => write!(dest, "{}", number), + } + } + } + + impl T { + pub fn number_or_zero(self) -> i32 { + match self { + T::Auto => 0, + T::Number(value) => value, + } + } + } + } + #[inline] + pub fn get_initial_value() -> computed_value::T { + computed_value::T::Auto + } + fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { + if input.try(|input| input.expect_ident_matching("auto")).is_ok() { + Ok(computed_value::T::Auto) + } else { + specified::parse_integer(input).map(computed_value::T::Number) + } + } +</%helpers:longhand> diff --git a/components/style/properties.html.mako b/components/style/properties/properties.html.mako index d06524d3e13..d06524d3e13 100644 --- a/components/style/properties.html.mako +++ b/components/style/properties/properties.html.mako diff --git a/components/style/properties.mako.rs b/components/style/properties/properties.mako.rs index b68d47ad1a3..9fb8e132184 100644 --- a/components/style/properties.mako.rs +++ b/components/style/properties/properties.mako.rs @@ -8,6 +8,8 @@ // For example, Vec<&Foo> will be mangled as Vec&Foo>. To work around these issues, the code // can be escaped. In the above example, Vec<<&Foo> achieves the desired result of Vec<&Foo>. +<%namespace name="helpers" file="/helpers.mako.rs" /> + use std::ascii::AsciiExt; use std::boxed::Box as StdBox; use std::collections::HashSet; @@ -37,687 +39,56 @@ use values::specified::BorderStyle; use self::property_bit_field::PropertyBitField; <%! - -import re - -def to_rust_ident(name): - name = name.replace("-", "_") - if name in ["static", "super", "box", "move"]: # Rust keywords - name += "_" - return name - -def to_camel_case(ident): - return re.sub("_([a-z])", lambda m: m.group(1).upper(), ident.strip("_").capitalize()) - -class Keyword(object): - def __init__(self, name, values, gecko_constant_prefix=None, - extra_gecko_values=None, extra_servo_values=None, **kwargs): - self.name = name - self.values = values - self.gecko_constant_prefix = gecko_constant_prefix or "NS_STYLE_" + self.name.upper().replace("-", "_") - self.extra_gecko_values = (extra_gecko_values or "").split() - self.extra_servo_values = (extra_servo_values or "").split() - def gecko_values(self): - return self.values + self.extra_gecko_values - def servo_values(self): - return self.values + self.extra_servo_values - def values_for(self, product): - if product == "gecko": - return self.gecko_values() - elif product == "servo": - return self.servo_values() - else: - raise Exception("Bad product: " + product) - def gecko_constant(self, value): - return self.gecko_constant_prefix + "_" + value.upper().replace("-", "_") - -class Longhand(object): - def __init__(self, name, derived_from=None, keyword=None, - custom_cascade=False, experimental=False, internal=False, - gecko_ffi_name=None, **kwargs): - self.name = name - self.keyword = keyword - self.ident = to_rust_ident(name) - self.camel_case = to_camel_case(self.ident) - self.style_struct = THIS_STYLE_STRUCT - self.experimental = ("layout.%s.enabled" % name) if experimental else None - self.custom_cascade = custom_cascade - self.internal = internal - self.gecko_ffi_name = gecko_ffi_name or "m" + self.camel_case - self.derived_from = (derived_from or "").split() - -class Shorthand(object): - def __init__(self, name, sub_properties, experimental=False, internal=False): - self.name = name - self.ident = to_rust_ident(name) - self.camel_case = to_camel_case(self.ident) - self.derived_from = None - self.experimental = ("layout.%s.enabled" % name) if experimental else None - self.sub_properties = [LONGHANDS_BY_NAME[s] for s in sub_properties] - self.internal = internal - -class Method(object): - def __init__(self, name, return_type=None, arg_types=None, is_mut=False): - self.name = name - self.return_type = return_type - self.arg_types = arg_types or [] - self.is_mut = is_mut - def arg_list(self): - args = ["_: " + x for x in self.arg_types] - args = ["&mut self" if self.is_mut else "&self"] + args - return ", ".join(args) - def signature(self): - sig = "fn %s(%s)" % (self.name, self.arg_list()) - if self.return_type: - sig = sig + " -> " + self.return_type - return sig - def declare(self): - return self.signature() + ";" - def stub(self): - return self.signature() + "{ unimplemented!() }" - -class StyleStruct(object): - def __init__(self, name, inherited, gecko_ffi_name, additional_methods): - self.servo_struct_name = "Servo" + name - self.gecko_struct_name = "Gecko" + name - self.trait_name = name - self.trait_name_lower = name.lower() - self.ident = to_rust_ident(self.trait_name_lower) - self.longhands = [] - self.inherited = inherited - self.gecko_ffi_name = gecko_ffi_name - self.additional_methods = additional_methods or [] - -STYLE_STRUCTS = [] -THIS_STYLE_STRUCT = None -LONGHANDS = [] -LONGHANDS_BY_NAME = {} -DERIVED_LONGHANDS = {} -SHORTHANDS = [] -CONFIG = {} - -def set_product(p): - global CONFIG - CONFIG['product'] = p - -def new_style_struct(name, is_inherited, gecko_name=None, additional_methods=None): - global THIS_STYLE_STRUCT - - style_struct = StyleStruct(name, is_inherited, gecko_name, additional_methods) - STYLE_STRUCTS.append(style_struct) - THIS_STYLE_STRUCT = style_struct - return "" - -def active_style_structs(): - return filter(lambda s: s.additional_methods or s.longhands, STYLE_STRUCTS) - -def switch_to_style_struct(name): - global THIS_STYLE_STRUCT - - for style_struct in STYLE_STRUCTS: - if style_struct.trait_name == name: - THIS_STYLE_STRUCT = style_struct - return "" - raise Exception("Failed to find the struct named " + name) + from data import Method, Keyword, to_rust_ident %> -// Work around Mako's really annoying namespacing setup. -// -// The above code runs when the template is loaded, rather than when it's -// rendered, so it can create global variables, doesn't have access to -// arguments passed to render(). On the flip side, there are various situations, -// such as code in the body of a def-used-as-tag, where our python code has -// access to global variables but not to render() arguments. Hack around this -// by stashing render arguments in a global. -<% CONFIG['product'] = PRODUCT %> - pub mod longhands { use cssparser::Parser; use parser::ParserContext; use values::specified; - <%def name="raw_longhand(name, **kwargs)"> - <% - products = kwargs.pop("products", "gecko servo").split() - if not CONFIG["product"] in products: - return "" - - property = Longhand(name, **kwargs) - - property.style_struct = THIS_STYLE_STRUCT - THIS_STYLE_STRUCT.longhands.append(property) - LONGHANDS.append(property) - LONGHANDS_BY_NAME[name] = property - - for derived in property.derived_from: - DERIVED_LONGHANDS.setdefault(derived, []).append(property) - %> - pub mod ${property.ident} { - #![allow(unused_imports)] - % if not property.derived_from: - use cssparser::Parser; - use parser::ParserContext; - use properties::{CSSWideKeyword, DeclaredValue, Shorthand}; - % endif - use error_reporting::ParseErrorReporter; - use properties::longhands; - use properties::property_bit_field::PropertyBitField; - use properties::{ComputedValues, ServoComputedValues, PropertyDeclaration}; - use properties::style_struct_traits::${THIS_STYLE_STRUCT.trait_name}; - use properties::style_structs; - use std::boxed::Box as StdBox; - use std::collections::HashMap; - use std::sync::Arc; - use values::computed::{TContext, ToComputedValue}; - use values::{computed, specified}; - use string_cache::Atom; - ${caller.body()} - #[allow(unused_variables)] - pub fn cascade_property<C: ComputedValues>( - declaration: &PropertyDeclaration, - inherited_style: &C, - context: &mut computed::Context<C>, - seen: &mut PropertyBitField, - cacheable: &mut bool, - error_reporter: &mut StdBox<ParseErrorReporter + Send>) { - let declared_value = match *declaration { - PropertyDeclaration::${property.camel_case}(ref declared_value) => { - declared_value - } - _ => panic!("entered the wrong cascade_property() implementation"), - }; - % if not property.derived_from: - if seen.get_${property.ident}() { - return - } - seen.set_${property.ident}(); - { - let custom_props = context.style().custom_properties(); - ::properties::substitute_variables_${property.ident}( - declared_value, &custom_props, |value| match *value { - DeclaredValue::Value(ref specified_value) => { - let computed = specified_value.to_computed_value(context); - context.mutate_style().mutate_${THIS_STYLE_STRUCT.trait_name_lower}() - .set_${property.ident}(computed); - } - DeclaredValue::WithVariables { .. } => unreachable!(), - DeclaredValue::Initial => { - // We assume that it's faster to use copy_*_from rather than - // set_*(get_initial_value()); - let initial_struct = C::initial_values() - .get_${THIS_STYLE_STRUCT.trait_name_lower}(); - context.mutate_style().mutate_${THIS_STYLE_STRUCT.trait_name_lower}() - .copy_${property.ident}_from(initial_struct); - }, - DeclaredValue::Inherit => { - // This is a bit slow, but this is rare so it shouldn't - // matter. - // - // FIXME: is it still? - *cacheable = false; - let inherited_struct = inherited_style.get_${THIS_STYLE_STRUCT.trait_name_lower}(); - context.mutate_style().mutate_${THIS_STYLE_STRUCT.trait_name_lower}() - .copy_${property.ident}_from(inherited_struct); - } - }, error_reporter - ); - } - - % if property.custom_cascade: - cascade_property_custom(declaration, - inherited_style, - context, - seen, - cacheable, - error_reporter); - % endif - % else: - // Do not allow stylesheets to set derived properties. - % endif - } - % if not property.derived_from: - pub fn parse_declared(context: &ParserContext, input: &mut Parser) - -> Result<DeclaredValue<SpecifiedValue>, ()> { - match input.try(CSSWideKeyword::parse) { - Ok(CSSWideKeyword::InheritKeyword) => Ok(DeclaredValue::Inherit), - Ok(CSSWideKeyword::InitialKeyword) => Ok(DeclaredValue::Initial), - Ok(CSSWideKeyword::UnsetKeyword) => Ok(DeclaredValue::${ - "Inherit" if THIS_STYLE_STRUCT.inherited else "Initial"}), - Err(()) => { - input.look_for_var_functions(); - let start = input.position(); - let specified = parse_specified(context, input); - if specified.is_err() { - while let Ok(_) = input.next() {} // Look for var() after the error. - } - let var = input.seen_var_functions(); - if specified.is_err() && var { - input.reset(start); - let (first_token_type, css) = try!( - ::custom_properties::parse_non_custom_with_var(input)); - return Ok(DeclaredValue::WithVariables { - css: css.into_owned(), - first_token_type: first_token_type, - base_url: context.base_url.clone(), - from_shorthand: None, - }) - } - specified - } - } - } - % endif - } - </%def> - - <%def name="longhand(name, **kwargs)"> - <%call expr="raw_longhand(name, **kwargs)"> - ${caller.body()} - % if not LONGHANDS_BY_NAME[name].derived_from: - pub fn parse_specified(context: &ParserContext, input: &mut Parser) - -> Result<DeclaredValue<SpecifiedValue>, ()> { - parse(context, input).map(DeclaredValue::Value) - } - % endif - </%call> - </%def> - - <%def name="single_keyword_computed(name, values, **kwargs)"> - <%call expr="longhand(name, keyword=Keyword(name, values.split(), **kwargs), **kwargs)"> - pub use self::computed_value::T as SpecifiedValue; - ${caller.body()} - pub mod computed_value { - define_css_keyword_enum! { T: - % for value in LONGHANDS_BY_NAME[name].keyword.values_for(CONFIG['product']): - "${value}" => ${to_rust_ident(value)}, - % endfor - } - } - #[inline] pub fn get_initial_value() -> computed_value::T { - computed_value::T::${to_rust_ident(values.split()[0])} - } - pub fn parse(_context: &ParserContext, input: &mut Parser) - -> Result<SpecifiedValue, ()> { - computed_value::T::parse(input) - } - </%call> - </%def> - - <%def name="single_keyword(name, values, **kwargs)"> - <%call expr="single_keyword_computed(name, values, **kwargs)"> - use values::computed::ComputedValueAsSpecified; - impl ComputedValueAsSpecified for SpecifiedValue {} - </%call> - </%def> - - <%def name="predefined_type(name, type, initial_value, parse_method='parse', products='gecko servo')"> - <%self:longhand name="${name}" products="${products}"> - #[allow(unused_imports)] - use app_units::Au; - pub type SpecifiedValue = specified::${type}; - pub mod computed_value { - pub use values::computed::${type} as T; - } - #[inline] pub fn get_initial_value() -> computed_value::T { ${initial_value} } - #[inline] pub fn parse(_context: &ParserContext, input: &mut Parser) - -> Result<SpecifiedValue, ()> { - specified::${type}::${parse_method}(input) - } - </%self:longhand> - </%def> - - - // CSS 2.1, Section 8 - Box model - - ${new_style_struct("Margin", is_inherited=False, gecko_name="nsStyleMargin")} - - % for side in ["top", "right", "bottom", "left"]: - ${predefined_type("margin-" + side, "LengthOrPercentageOrAuto", - "computed::LengthOrPercentageOrAuto::Length(Au(0))")} - % endfor - - ${new_style_struct("Padding", is_inherited=False, gecko_name="nsStylePadding")} - - % for side in ["top", "right", "bottom", "left"]: - ${predefined_type("padding-" + side, "LengthOrPercentage", - "computed::LengthOrPercentage::Length(Au(0))", - "parse_non_negative")} - % endfor - - ${new_style_struct("Border", is_inherited=False, gecko_name="nsStyleBorder", - additional_methods=[Method("border_" + side + "_is_none_or_hidden_and_has_nonzero_width", - "bool") for side in ["top", "right", "bottom", "left"]])} - - % for side in ["top", "right", "bottom", "left"]: - ${predefined_type("border-%s-color" % side, "CSSColor", "::cssparser::Color::CurrentColor")} - % endfor - - % for side in ["top", "right", "bottom", "left"]: - ${predefined_type("border-%s-style" % side, "BorderStyle", "specified::BorderStyle::none")} - % endfor - - % for side in ["top", "right", "bottom", "left"]: - <%self:longhand name="border-${side}-width"> - use app_units::Au; - use cssparser::ToCss; - use std::fmt; - - impl ToCss for SpecifiedValue { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { - self.0.to_css(dest) - } - } - - #[inline] - pub fn parse(_context: &ParserContext, input: &mut Parser) - -> Result<SpecifiedValue, ()> { - specified::parse_border_width(input).map(SpecifiedValue) - } - #[derive(Debug, Clone, PartialEq, HeapSizeOf)] - pub struct SpecifiedValue(pub specified::Length); - pub mod computed_value { - use app_units::Au; - pub type T = Au; - } - #[inline] pub fn get_initial_value() -> computed_value::T { - Au::from_px(3) // medium - } - - impl ToComputedValue for SpecifiedValue { - type ComputedValue = computed_value::T; - - #[inline] - fn to_computed_value<Cx: TContext>(&self, context: &Cx) -> computed_value::T { - self.0.to_computed_value(context) - } - } - </%self:longhand> - % endfor - - // FIXME(#4126): when gfx supports painting it, make this Size2D<LengthOrPercentage> - % for corner in ["top-left", "top-right", "bottom-right", "bottom-left"]: - ${predefined_type("border-" + corner + "-radius", "BorderRadiusSize", - "computed::BorderRadiusSize::zero()", - "parse")} - % endfor - - ${new_style_struct("Outline", is_inherited=False, gecko_name="nsStyleOutline", - additional_methods=[Method("outline_is_none_or_hidden_and_has_nonzero_width", "bool")])} - - // TODO(pcwalton): `invert` - ${predefined_type("outline-color", "CSSColor", "::cssparser::Color::CurrentColor")} - - <%self:longhand name="outline-style"> - pub use values::specified::BorderStyle as SpecifiedValue; - pub fn get_initial_value() -> SpecifiedValue { SpecifiedValue::none } - pub mod computed_value { - pub use values::specified::BorderStyle as T; - } - pub fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { - match SpecifiedValue::parse(input) { - Ok(SpecifiedValue::hidden) => Err(()), - result => result - } - } - </%self:longhand> - - <%self:longhand name="outline-width"> - use app_units::Au; - use cssparser::ToCss; - use std::fmt; - use values::AuExtensionMethods; - - impl ToCss for SpecifiedValue { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { - self.0.to_css(dest) - } - } - - pub fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { - specified::parse_border_width(input).map(SpecifiedValue) - } - #[derive(Debug, Clone, PartialEq, HeapSizeOf)] - pub struct SpecifiedValue(pub specified::Length); - pub mod computed_value { - use app_units::Au; - pub type T = Au; - } - pub use super::border_top_width::get_initial_value; - impl ToComputedValue for SpecifiedValue { - type ComputedValue = computed_value::T; - - #[inline] - fn to_computed_value<Cx: TContext>(&self, context: &Cx) -> computed_value::T { - self.0.to_computed_value(context) - } - } - </%self:longhand> - - ${predefined_type("outline-offset", "Length", "Au(0)")} - - ${new_style_struct("Position", is_inherited=False, gecko_name="nsStylePosition")} - - % for side in ["top", "right", "bottom", "left"]: - ${predefined_type(side, "LengthOrPercentageOrAuto", - "computed::LengthOrPercentageOrAuto::Auto")} - % endfor - - // CSS 2.1, Section 9 - Visual formatting model - - ${new_style_struct("Box", is_inherited=False, gecko_name="nsStyleDisplay", - additional_methods=[Method("clone_display", - "longhands::display::computed_value::T"), - Method("clone_position", - "longhands::position::computed_value::T"), - Method("is_floated", "bool"), - Method("overflow_x_is_visible", "bool"), - Method("overflow_y_is_visible", "bool"), - Method("transition_count", "usize")])} - - // TODO(SimonSapin): don't parse `inline-table`, since we don't support it - <%self:longhand name="display" custom_cascade="${CONFIG['product'] == 'servo'}"> - <% - values = """inline block inline-block - table inline-table table-row-group table-header-group table-footer-group - table-row table-column-group table-column table-cell table-caption - list-item flex - none - """.split() - experimental_values = set("flex".split()) - %> - pub use self::computed_value::T as SpecifiedValue; - use values::computed::{Context, ComputedValueAsSpecified}; - - pub mod computed_value { - #[allow(non_camel_case_types)] - #[derive(Clone, Eq, PartialEq, Copy, Hash, RustcEncodable, Debug, HeapSizeOf)] - #[derive(Deserialize, Serialize)] - pub enum T { - % for value in values: - ${to_rust_ident(value)}, - % endfor - } - - impl ::cssparser::ToCss for T { - fn to_css<W>(&self, dest: &mut W) -> ::std::fmt::Result - where W: ::std::fmt::Write { - match *self { - % for value in values: - T::${to_rust_ident(value)} => dest.write_str("${value}"), - % endfor - } - } - } - } - #[inline] pub fn get_initial_value() -> computed_value::T { - computed_value::T::${to_rust_ident(values[0])} - } - pub fn parse(_context: &ParserContext, input: &mut Parser) - -> Result<SpecifiedValue, ()> { - match_ignore_ascii_case! { try!(input.expect_ident()), - % for value in values: - "${value}" => { - % if value in experimental_values: - if !::util::prefs::get_pref("layout.${value}.enabled") - .as_boolean().unwrap_or(false) { - return Err(()) - } - % endif - Ok(computed_value::T::${to_rust_ident(value)}) - }, - % endfor - _ => Err(()) - } - } - - impl ComputedValueAsSpecified for SpecifiedValue {} - - % if CONFIG["product"] == "servo": - fn cascade_property_custom<C: ComputedValues>( - _declaration: &PropertyDeclaration, - _inherited_style: &C, - context: &mut computed::Context<C>, - _seen: &mut PropertyBitField, - _cacheable: &mut bool, - _error_reporter: &mut StdBox<ParseErrorReporter + Send>) { - longhands::_servo_display_for_hypothetical_box::derive_from_display(context); - longhands::_servo_text_decorations_in_effect::derive_from_display(context); - } - % endif - - </%self:longhand> - - ${single_keyword("position", "static absolute relative fixed", extra_gecko_values="sticky")} - - <%self:single_keyword_computed name="float" values="none left right" gecko_ffi_name="mFloats"> - impl ToComputedValue for SpecifiedValue { - type ComputedValue = computed_value::T; - - #[inline] - fn to_computed_value<Cx: TContext>(&self, context: &Cx) -> computed_value::T { - let positioned = matches!(context.style().get_box().clone_position(), - longhands::position::SpecifiedValue::absolute | - longhands::position::SpecifiedValue::fixed); - if positioned { - SpecifiedValue::none - } else { - *self - } - } - } - - </%self:single_keyword_computed> - - ${single_keyword("clear", "none left right both", gecko_ffi_name="mBreakType")} - - <%self:longhand name="-servo-display-for-hypothetical-box" derived_from="display" products="servo"> - pub use super::display::{SpecifiedValue, get_initial_value}; - pub use super::display::{parse}; - - pub mod computed_value { - pub type T = super::SpecifiedValue; - } - - #[inline] - pub fn derive_from_display<Cx: TContext>(context: &mut Cx) { - let d = context.style().get_box().clone_display(); - context.mutate_style().mutate_box().set__servo_display_for_hypothetical_box(d); - } - - </%self:longhand> - - ${switch_to_style_struct("Position")} - - <%self:longhand name="z-index"> - use values::computed::ComputedValueAsSpecified; - - impl ComputedValueAsSpecified for SpecifiedValue {} - pub type SpecifiedValue = computed_value::T; - pub mod computed_value { - use cssparser::ToCss; - use std::fmt; - - #[derive(PartialEq, Clone, Eq, Copy, Debug, HeapSizeOf)] - pub enum T { - Auto, - Number(i32), - } - - impl ToCss for T { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { - match *self { - T::Auto => dest.write_str("auto"), - T::Number(number) => write!(dest, "{}", number), - } - } - } + <%include file="/longhand/border.mako.rs" /> + <%include file="/longhand/box.mako.rs" /> + <%include file="/longhand/margin.mako.rs" /> + <%include file="/longhand/outline.mako.rs" /> + <%include file="/longhand/padding.mako.rs" /> + <%include file="/longhand/position.mako.rs" /> - impl T { - pub fn number_or_zero(self) -> i32 { - match self { - T::Auto => 0, - T::Number(value) => value, - } - } - } - } - #[inline] - pub fn get_initial_value() -> computed_value::T { - computed_value::T::Auto - } - fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { - if input.try(|input| input.expect_ident_matching("auto")).is_ok() { - Ok(computed_value::T::Auto) - } else { - specified::parse_integer(input).map(computed_value::T::Number) - } - } - </%self:longhand> - - ${new_style_struct("InheritedBox", is_inherited=True, gecko_name="nsStyleVisibility", - additional_methods=[Method("clone_direction", - "longhands::direction::computed_value::T"), - Method("clone_writing_mode", - "longhands::writing_mode::computed_value::T"), - Method("clone_text_orientation", - "longhands::text_orientation::computed_value::T")])} + <% data.new_style_struct("InheritedBox", inherited=True, gecko_ffi_name="nsStyleVisibility") %> - ${single_keyword("direction", "ltr rtl")} + ${helpers.single_keyword("direction", "ltr rtl", need_clone=True)} // CSS 2.1, Section 10 - Visual formatting model details - ${switch_to_style_struct("Box")} + <% data.switch_to_style_struct("Box") %> - ${predefined_type("width", "LengthOrPercentageOrAuto", + ${helpers.predefined_type("width", "LengthOrPercentageOrAuto", "computed::LengthOrPercentageOrAuto::Auto", "parse_non_negative")} - ${predefined_type("height", "LengthOrPercentageOrAuto", + ${helpers.predefined_type("height", "LengthOrPercentageOrAuto", "computed::LengthOrPercentageOrAuto::Auto", "parse_non_negative")} - ${switch_to_style_struct("Position")} + <% data.switch_to_style_struct("Position") %> - ${predefined_type("min-width", "LengthOrPercentage", + ${helpers.predefined_type("min-width", "LengthOrPercentage", "computed::LengthOrPercentage::Length(Au(0))", "parse_non_negative")} - ${predefined_type("max-width", "LengthOrPercentageOrNone", + ${helpers.predefined_type("max-width", "LengthOrPercentageOrNone", "computed::LengthOrPercentageOrNone::None", "parse_non_negative")} - ${predefined_type("min-height", "LengthOrPercentage", + ${helpers.predefined_type("min-height", "LengthOrPercentage", "computed::LengthOrPercentage::Length(Au(0))", "parse_non_negative")} - ${predefined_type("max-height", "LengthOrPercentageOrNone", + ${helpers.predefined_type("max-height", "LengthOrPercentageOrNone", "computed::LengthOrPercentageOrNone::None", "parse_non_negative")} - ${new_style_struct("InheritedText", is_inherited=True, gecko_name="nsStyleText", - additional_methods=([Method("clone__servo_text_decorations_in_effect", - "longhands::_servo_text_decorations_in_effect::computed_value::T")] - if CONFIG["product"] == "servo" else []))} + <% data.new_style_struct("InheritedText", inherited=True, gecko_ffi_name="nsStyleText") %> - <%self:longhand name="line-height"> + <%helpers:longhand name="line-height"> use cssparser::ToCss; use std::fmt; use values::AuExtensionMethods; @@ -807,11 +178,11 @@ pub mod longhands { } } } - </%self:longhand> + </%helpers:longhand> - ${switch_to_style_struct("Box")} + <% data.switch_to_style_struct("Box") %> - <%self:longhand name="vertical-align"> + <%helpers:longhand name="vertical-align"> use cssparser::ToCss; use std::fmt; @@ -893,23 +264,24 @@ pub mod longhands { } } } - </%self:longhand> + </%helpers:longhand> // CSS 2.1, Section 11 - Visual effects // Non-standard, see https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-clip-box#Specifications - ${single_keyword("-servo-overflow-clip-box", "padding-box content-box", products="servo", + ${helpers.single_keyword("-servo-overflow-clip-box", "padding-box content-box", products="servo", internal=True)} - ${single_keyword("overflow-clip-box", "padding-box content-box", products="gecko", + ${helpers.single_keyword("overflow-clip-box", "padding-box content-box", products="gecko", internal=True)} // FIXME(pcwalton, #2742): Implement scrolling for `scroll` and `auto`. - ${single_keyword("overflow-x", "visible hidden scroll auto", gecko_constant_prefix="NS_STYLE_OVERFLOW")} + ${helpers.single_keyword("overflow-x", "visible hidden scroll auto", need_clone=True, + gecko_constant_prefix="NS_STYLE_OVERFLOW")} // FIXME(pcwalton, #2742): Implement scrolling for `scroll` and `auto`. - <%self:longhand name="overflow-y"> + <%helpers:longhand name="overflow-y" need_clone="True"> use super::overflow_x; use cssparser::ToCss; @@ -944,35 +316,35 @@ pub mod longhands { pub fn parse(context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue,()> { overflow_x::parse(context, input).map(SpecifiedValue) } - </%self:longhand> + </%helpers:longhand> // CSSOM View Module // https://www.w3.org/TR/cssom-view-1/ - ${single_keyword("scroll-behavior", "auto smooth", products="gecko")} + ${helpers.single_keyword("scroll-behavior", "auto smooth", products="gecko")} // Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type-x - ${single_keyword("scroll-snap-type-x", "none mandatory proximity", + ${helpers.single_keyword("scroll-snap-type-x", "none mandatory proximity", products="gecko", gecko_constant_prefix="NS_STYLE_SCROLL_SNAP_TYPE")} // Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type-y - ${single_keyword("scroll-snap-type-y", "none mandatory proximity", + ${helpers.single_keyword("scroll-snap-type-y", "none mandatory proximity", products="gecko", gecko_constant_prefix="NS_STYLE_SCROLL_SNAP_TYPE")} // Compositing and Blending Level 1 // http://www.w3.org/TR/compositing-1/ - ${single_keyword("isolation", "auto isolate", products="gecko")} + ${helpers.single_keyword("isolation", "auto isolate", products="gecko")} - ${switch_to_style_struct("InheritedBox")} + <% data.switch_to_style_struct("InheritedBox") %> // TODO: collapse. Well, do tables first. - ${single_keyword("visibility", "visible hidden", extra_gecko_values="collapse", + ${helpers.single_keyword("visibility", "visible hidden", extra_gecko_values="collapse", gecko_ffi_name="mVisible")} // CSS 2.1, Section 12 - Generated content, automatic numbering, and lists - ${new_style_struct("Counters", is_inherited=False, gecko_name="nsStyleContent")} + <% data.new_style_struct("Counters", inherited=False, gecko_ffi_name="nsStyleContent") %> - <%self:longhand name="content"> + <%helpers:longhand name="content"> use cssparser::Token; use std::ascii::AsciiExt; use values::computed::ComputedValueAsSpecified; @@ -1133,11 +505,11 @@ pub mod longhands { Err(()) } } - </%self:longhand> + </%helpers:longhand> - ${new_style_struct("List", is_inherited=True, gecko_name="nsStyleList")} + <% data.new_style_struct("List", inherited=True, gecko_ffi_name="nsStyleList") %> - ${single_keyword("list-style-position", "outside inside")} + ${helpers.single_keyword("list-style-position", "outside inside")} // TODO(pcwalton): Implement the full set of counter styles per CSS-COUNTER-STYLES [1] 6.1: // @@ -1145,14 +517,14 @@ pub mod longhands { // upper-roman // // [1]: http://dev.w3.org/csswg/css-counter-styles/ - ${single_keyword("list-style-type", """ + ${helpers.single_keyword("list-style-type", """ disc none circle square decimal arabic-indic bengali cambodian cjk-decimal devanagari gujarati gurmukhi kannada khmer lao malayalam mongolian myanmar oriya persian telugu thai tibetan lower-alpha upper-alpha cjk-earthly-branch cjk-heavenly-stem lower-greek hiragana hiragana-iroha katakana katakana-iroha disclosure-open disclosure-closed """)} - <%self:longhand name="list-style-image"> + <%helpers:longhand name="list-style-image"> use cssparser::{ToCss, Token}; use std::fmt; use url::Url; @@ -1215,9 +587,9 @@ pub mod longhands { pub fn get_initial_value() -> computed_value::T { computed_value::T(None) } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="quotes"> + <%helpers:longhand name="quotes"> use std::borrow::Cow; use std::fmt; use values::computed::ComputedValueAsSpecified; @@ -1281,11 +653,11 @@ pub mod longhands { Err(()) } } - </%self:longhand> + </%helpers:longhand> - ${switch_to_style_struct("Counters")} + <% data.switch_to_style_struct("Counters") %> - <%self:longhand name="counter-increment"> + <%helpers:longhand name="counter-increment"> use std::fmt; use super::content; use values::computed::ComputedValueAsSpecified; @@ -1352,34 +724,34 @@ pub mod longhands { Err(()) } } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="counter-reset"> + <%helpers:longhand name="counter-reset"> pub use super::counter_increment::{SpecifiedValue, computed_value, get_initial_value}; use super::counter_increment::{parse_common}; pub fn parse(_: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue,()> { parse_common(0, input) } - </%self:longhand> + </%helpers:longhand> // CSS 2.1, Section 13 - Paged media - ${switch_to_style_struct("Box")} + <% data.switch_to_style_struct("Box") %> - ${single_keyword("page-break-after", "auto always avoid left right", products="gecko")} - ${single_keyword("page-break-before", "auto always avoid left right", products="gecko")} - ${single_keyword("page-break-inside", "auto avoid", + ${helpers.single_keyword("page-break-after", "auto always avoid left right", products="gecko")} + ${helpers.single_keyword("page-break-before", "auto always avoid left right", products="gecko")} + ${helpers.single_keyword("page-break-inside", "auto avoid", products="gecko", gecko_ffi_name="mBreakInside", gecko_constant_prefix="NS_STYLE_PAGE_BREAK")} // CSS 2.1, Section 14 - Colors and Backgrounds - ${new_style_struct("Background", is_inherited=False, gecko_name="nsStyleBackground")} - ${predefined_type( + <% data.new_style_struct("Background", inherited=False, gecko_ffi_name="nsStyleBackground") %> + ${helpers.predefined_type( "background-color", "CSSColor", "::cssparser::Color::RGBA(::cssparser::RGBA { red: 0., green: 0., blue: 0., alpha: 0. }) /* transparent */")} - <%self:longhand name="background-image"> + <%helpers:longhand name="background-image"> use cssparser::ToCss; use std::fmt; use values::specified::Image; @@ -1437,9 +809,9 @@ pub mod longhands { } } } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="background-position"> + <%helpers:longhand name="background-position"> use cssparser::ToCss; use std::fmt; use values::AuExtensionMethods; @@ -1550,17 +922,17 @@ pub mod longhands { .unwrap_or(specified::PositionComponent::Center); SpecifiedValue::new(first, second) } - </%self:longhand> + </%helpers:longhand> - ${single_keyword("background-repeat", "repeat repeat-x repeat-y no-repeat")} + ${helpers.single_keyword("background-repeat", "repeat repeat-x repeat-y no-repeat")} - ${single_keyword("background-attachment", "scroll fixed")} + ${helpers.single_keyword("background-attachment", "scroll fixed")} - ${single_keyword("background-clip", "border-box padding-box content-box")} + ${helpers.single_keyword("background-clip", "border-box padding-box content-box")} - ${single_keyword("background-origin", "padding-box border-box content-box")} + ${helpers.single_keyword("background-origin", "padding-box border-box content-box")} - <%self:longhand name="background-size"> + <%helpers:longhand name="background-size"> use cssparser::{ToCss, Token}; use std::ascii::AsciiExt; use std::fmt; @@ -1694,13 +1066,11 @@ pub mod longhands { height: height, })) } - </%self:longhand> + </%helpers:longhand> - ${new_style_struct("Color", is_inherited=True, gecko_name="nsStyleColor", - additional_methods=[Method("clone_color", - "longhands::color::computed_value::T")])} + <% data.new_style_struct("Color", inherited=True, gecko_ffi_name="nsStyleColor") %> - <%self:raw_longhand name="color"> + <%helpers:raw_longhand name="color" need_clone="True"> use cssparser::Color as CSSParserColor; use cssparser::RGBA; use values::specified::{CSSColor, CSSRGBA}; @@ -1734,18 +1104,13 @@ pub mod longhands { authored: value.authored, })) } - </%self:raw_longhand> + </%helpers:raw_longhand> // CSS 2.1, Section 15 - Fonts - ${new_style_struct("Font", is_inherited=True, gecko_name="nsStyleFont", - additional_methods=[Method("clone_font_size", - "longhands::font_size::computed_value::T"), - Method("clone_font_weight", - "longhands::font_weight::computed_value::T"), - Method("compute_font_hash", is_mut=True)])} - - <%self:longhand name="font-family"> + <% data.new_style_struct("Font", inherited=True, gecko_ffi_name="nsStyleFont", + additional_methods=[Method("compute_font_hash", is_mut=True)]) %> + <%helpers:longhand name="font-family"> use self::computed_value::FontFamily; use values::computed::ComputedValueAsSpecified; pub use self::computed_value::T as SpecifiedValue; @@ -1852,13 +1217,13 @@ pub mod longhands { } Ok(FontFamily::FamilyName(Atom::from(value))) } - </%self:longhand> + </%helpers:longhand> - ${single_keyword("font-style", "normal italic oblique")} - ${single_keyword("font-variant", "normal small-caps")} + ${helpers.single_keyword("font-style", "normal italic oblique")} + ${helpers.single_keyword("font-variant", "normal small-caps")} - <%self:longhand name="font-weight"> + <%helpers:longhand name="font-weight" need_clone="True"> use cssparser::ToCss; use std::fmt; @@ -1974,9 +1339,9 @@ pub mod longhands { } } } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="font-size"> + <%helpers:longhand name="font-size" need_clone="True"> use app_units::Au; use cssparser::ToCss; use std::fmt; @@ -2039,19 +1404,19 @@ pub mod longhands { }) .map(SpecifiedValue) } - </%self:longhand> + </%helpers:longhand> - ${single_keyword("font-stretch", + ${helpers.single_keyword("font-stretch", "normal ultra-condensed extra-condensed condensed semi-condensed semi-expanded \ expanded extra-expanded ultra-expanded")} - ${single_keyword("font-kerning", "auto none normal", products="gecko")} + ${helpers.single_keyword("font-kerning", "auto none normal", products="gecko")} // CSS 2.1, Section 16 - Text - ${switch_to_style_struct("InheritedText")} + <% data.switch_to_style_struct("InheritedText") %> - <%self:longhand name="text-align"> + <%helpers:longhand name="text-align"> pub use self::computed_value::T as SpecifiedValue; use values::computed::ComputedValueAsSpecified; impl ComputedValueAsSpecified for SpecifiedValue {} @@ -2101,9 +1466,9 @@ pub mod longhands { -> Result<SpecifiedValue, ()> { computed_value::T::parse(input) } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="letter-spacing"> + <%helpers:longhand name="letter-spacing"> use cssparser::ToCss; use std::fmt; use values::AuExtensionMethods; @@ -2163,9 +1528,9 @@ pub mod longhands { specified::Length::parse_non_negative(input).map(SpecifiedValue::Specified) } } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="word-spacing"> + <%helpers:longhand name="word-spacing"> use cssparser::ToCss; use std::fmt; use values::AuExtensionMethods; @@ -2225,32 +1590,32 @@ pub mod longhands { specified::Length::parse_non_negative(input).map(SpecifiedValue::Specified) } } - </%self:longhand> + </%helpers:longhand> - ${predefined_type("text-indent", "LengthOrPercentage", "computed::LengthOrPercentage::Length(Au(0))")} + ${helpers.predefined_type("text-indent", "LengthOrPercentage", "computed::LengthOrPercentage::Length(Au(0))")} // Also known as "word-wrap" (which is more popular because of IE), but this is the preferred // name per CSS-TEXT 6.2. - ${single_keyword("overflow-wrap", "normal break-word", gecko_ffi_name="mWordWrap", + ${helpers.single_keyword("overflow-wrap", "normal break-word", gecko_ffi_name="mWordWrap", gecko_constant_prefix="NS_STYLE_WORDWRAP")} // TODO(pcwalton): Support `word-break: keep-all` once we have better CJK support. - ${single_keyword("word-break", "normal break-all", extra_gecko_values="keep-all", + ${helpers.single_keyword("word-break", "normal break-all", extra_gecko_values="keep-all", gecko_constant_prefix="NS_STYLE_WORDBREAK")} // TODO(pcwalton): Support `text-justify: distribute`. - ${single_keyword("text-justify", "auto none inter-word", products="servo")} + ${helpers.single_keyword("text-justify", "auto none inter-word", products="servo")} - ${new_style_struct("Text", is_inherited=False, gecko_name="nsStyleTextReset", + <% data.new_style_struct("Text", inherited=False, gecko_ffi_name="nsStyleTextReset", additional_methods=[Method("has_underline", "bool"), Method("has_overline", "bool"), - Method("has_line_through", "bool")])} + Method("has_line_through", "bool")]) %> - ${single_keyword("text-overflow", "clip ellipsis")} + ${helpers.single_keyword("text-overflow", "clip ellipsis")} - ${single_keyword("unicode-bidi", "normal embed isolate bidi-override isolate-override plaintext")} + ${helpers.single_keyword("unicode-bidi", "normal embed isolate bidi-override isolate-override plaintext")} - <%self:longhand name="text-decoration" custom_cascade="${CONFIG['product'] == 'servo'}"> + <%helpers:longhand name="text-decoration" custom_cascade="${product == 'servo'}"> use cssparser::ToCss; use std::fmt; use values::computed::ComputedValueAsSpecified; @@ -2325,7 +1690,7 @@ pub mod longhands { if !empty { Ok(result) } else { Err(()) } } - % if CONFIG["product"] == "servo": + % if product == "servo": fn cascade_property_custom<C: ComputedValues>( _declaration: &PropertyDeclaration, _inherited_style: &C, @@ -2336,15 +1701,15 @@ pub mod longhands { longhands::_servo_text_decorations_in_effect::derive_from_text_decoration(context); } % endif - </%self:longhand> + </%helpers:longhand> - ${single_keyword("text-decoration-style", "-moz-none solid double dotted dashed wavy", + ${helpers.single_keyword("text-decoration-style", "-moz-none solid double dotted dashed wavy", products="gecko")} - ${switch_to_style_struct("InheritedText")} + <% data.switch_to_style_struct("InheritedText") %> - <%self:longhand name="-servo-text-decorations-in-effect" - derived_from="display text-decoration" products="servo"> + <%helpers:longhand name="-servo-text-decorations-in-effect" + derived_from="display text-decoration" need_clone="True" products="servo"> use cssparser::{RGBA, ToCss}; use std::fmt; @@ -2422,10 +1787,10 @@ pub mod longhands { let derived = derive(context); context.mutate_style().mutate_inheritedtext().set__servo_text_decorations_in_effect(derived); } - </%self:longhand> + </%helpers:longhand> - <%self:single_keyword_computed name="white-space" values="normal pre nowrap pre-wrap pre-line", - gecko_constant_prefix="NS_STYLE_WHITESPACE"> + <%helpers:single_keyword_computed name="white-space" values="normal pre nowrap pre-wrap pre-line", + gecko_constant_prefix="NS_STYLE_WHITESPACE"> use values::computed::ComputedValueAsSpecified; impl ComputedValueAsSpecified for SpecifiedValue {} @@ -2460,38 +1825,38 @@ pub mod longhands { } } } - </%self:single_keyword_computed> + </%helpers:single_keyword_computed> // TODO(pcwalton): `full-width` - ${single_keyword("text-transform", "none capitalize uppercase lowercase", + ${helpers.single_keyword("text-transform", "none capitalize uppercase lowercase", extra_gecko_values="full-width")} - ${single_keyword("text-rendering", "auto optimizespeed optimizelegibility geometricprecision")} + ${helpers.single_keyword("text-rendering", "auto optimizespeed optimizelegibility geometricprecision")} // CSS Text Module Level 3 // https://www.w3.org/TR/css-text-3/ - ${single_keyword("hyphens", "none manual auto", products="gecko")} + ${helpers.single_keyword("hyphens", "none manual auto", products="gecko")} // CSS Ruby Layout Module Level 1 // https://www.w3.org/TR/css-ruby-1/ - ${single_keyword("ruby-align", "start center space-between space-around", products="gecko")} + ${helpers.single_keyword("ruby-align", "start center space-between space-around", products="gecko")} - ${single_keyword("ruby-position", "over under", products="gecko")} + ${helpers.single_keyword("ruby-position", "over under", products="gecko")} // CSS 2.1, Section 17 - Tables - ${new_style_struct("Table", is_inherited=False, gecko_name="nsStyleTable")} + <% data.new_style_struct("Table", inherited=False, gecko_ffi_name="nsStyleTable") %> - ${single_keyword("table-layout", "auto fixed", gecko_ffi_name="mLayoutStrategy")} + ${helpers.single_keyword("table-layout", "auto fixed", gecko_ffi_name="mLayoutStrategy")} - ${new_style_struct("InheritedTable", is_inherited=True, gecko_name="nsStyleTableBorder")} + <% data.new_style_struct("InheritedTable", inherited=True, gecko_ffi_name="nsStyleTableBorder") %> - ${single_keyword("border-collapse", "separate collapse", gecko_constant_prefix="NS_STYLE_BORDER")} + ${helpers.single_keyword("border-collapse", "separate collapse", gecko_constant_prefix="NS_STYLE_BORDER")} - ${single_keyword("empty-cells", "show hide", gecko_constant_prefix="NS_STYLE_TABLE_EMPTY_CELLS")} + ${helpers.single_keyword("empty-cells", "show hide", gecko_constant_prefix="NS_STYLE_TABLE_EMPTY_CELLS")} - ${single_keyword("caption-side", "top bottom", extra_gecko_values="right left top-outside bottom-outside")} + ${helpers.single_keyword("caption-side", "top bottom", extra_gecko_values="right left top-outside bottom-outside")} - <%self:longhand name="border-spacing"> + <%helpers:longhand name="border-spacing"> use app_units::Au; use values::AuExtensionMethods; @@ -2578,41 +1943,46 @@ pub mod longhands { (None, Some(_)) => panic!("shouldn't happen"), } } - </%self:longhand> + </%helpers:longhand> // CSS Fragmentation Module Level 3 // https://www.w3.org/TR/css-break-3/ - ${switch_to_style_struct("Border")} + <% data.switch_to_style_struct("Border") %> - ${single_keyword("box-decoration-break", "slice clone", products="gecko")} + ${helpers.single_keyword("box-decoration-break", "slice clone", products="gecko")} // CSS Writing Modes Level 3 // http://dev.w3.org/csswg/css-writing-modes/ - ${switch_to_style_struct("InheritedBox")} + <% data.switch_to_style_struct("InheritedBox") %> - ${single_keyword("writing-mode", "horizontal-tb vertical-rl vertical-lr", experimental=True)} + ${helpers.single_keyword("writing-mode", "horizontal-tb vertical-rl vertical-lr", + experimental=True, need_clone=True)} // FIXME(SimonSapin): Add 'mixed' and 'upright' (needs vertical text support) // FIXME(SimonSapin): initial (first) value should be 'mixed', when that's implemented - ${single_keyword("text-orientation", "sideways sideways-left sideways-right", experimental=True)} + // FIXME(bholley): sideways-right is needed as an alias to sideways in gecko. + ${helpers.single_keyword("text-orientation", "sideways", + experimental=True, need_clone=True, + extra_gecko_values="mixed upright", + extra_servo_values="sideways-right sideways-left")} // CSS Color Module Level 4 // https://drafts.csswg.org/css-color/ - ${single_keyword("color-adjust", "economy exact", products="gecko")} + ${helpers.single_keyword("color-adjust", "economy exact", products="gecko")} // CSS Basic User Interface Module Level 3 // http://dev.w3.org/csswg/css-ui/ - ${switch_to_style_struct("Box")} + <% data.switch_to_style_struct("Box") %> - ${single_keyword("resize", "none both horizontal vertical", products="gecko")} + ${helpers.single_keyword("resize", "none both horizontal vertical", products="gecko")} - ${switch_to_style_struct("Position")} + <% data.switch_to_style_struct("Position") %> - ${single_keyword("box-sizing", "content-box border-box")} + ${helpers.single_keyword("box-sizing", "content-box border-box")} - ${new_style_struct("Pointing", is_inherited=True, gecko_name="nsStyleUserInterface")} + <% data.new_style_struct("Pointing", inherited=True, gecko_ffi_name="nsStyleUserInterface") %> - <%self:longhand name="cursor"> + <%helpers:longhand name="cursor"> pub use self::computed_value::T as SpecifiedValue; use values::computed::ComputedValueAsSpecified; @@ -2654,17 +2024,17 @@ pub mod longhands { .map(SpecifiedValue::SpecifiedCursor) } } - </%self:longhand> + </%helpers:longhand> // NB: `pointer-events: auto` (and use of `pointer-events` in anything that isn't SVG, in fact) // is nonstandard, slated for CSS4-UI. // TODO(pcwalton): SVG-only values. - ${single_keyword("pointer-events", "auto none")} + ${helpers.single_keyword("pointer-events", "auto none")} - ${new_style_struct("Column", is_inherited=False, gecko_name="nsStyleColumn")} + <% data.new_style_struct("Column", inherited=False, gecko_ffi_name="nsStyleColumn") %> - <%self:longhand name="column-width" experimental="True"> + <%helpers:longhand name="column-width" experimental="True"> use cssparser::ToCss; use std::fmt; use values::AuExtensionMethods; @@ -2724,9 +2094,9 @@ pub mod longhands { specified::Length::parse_non_negative(input).map(SpecifiedValue::Specified) } } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="column-count" experimental="True"> + <%helpers:longhand name="column-count" experimental="True"> use cssparser::ToCss; use std::fmt; @@ -2789,9 +2159,9 @@ pub mod longhands { Ok(SpecifiedValue::Specified(count as u32)) } } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="column-gap" experimental="True"> + <%helpers:longhand name="column-gap" experimental="True"> use cssparser::ToCss; use std::fmt; use values::AuExtensionMethods; @@ -2851,12 +2221,12 @@ pub mod longhands { specified::Length::parse_non_negative(input).map(SpecifiedValue::Specified) } } - </%self:longhand> + </%helpers:longhand> // Box-shadow, etc. - ${new_style_struct("Effects", is_inherited=False, gecko_name="nsStyleEffects")} + <% data.new_style_struct("Effects", inherited=False, gecko_ffi_name="nsStyleEffects") %> - <%self:longhand name="opacity"> + <%helpers:longhand name="opacity"> use cssparser::ToCss; use std::fmt; use values::CSSFloat; @@ -2895,9 +2265,9 @@ pub mod longhands { fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { specified::parse_number(input).map(SpecifiedValue) } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="box-shadow"> + <%helpers:longhand name="box-shadow"> use cssparser::{self, ToCss}; use std::fmt; use values::AuExtensionMethods; @@ -3103,9 +2473,9 @@ pub mod longhands { inset: inset, }) } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="clip"> + <%helpers:longhand name="clip"> use cssparser::ToCss; use std::fmt; use values::AuExtensionMethods; @@ -3256,11 +2626,11 @@ pub mod longhands { Err(()) } } - </%self:longhand> + </%helpers:longhand> - ${switch_to_style_struct("InheritedText")} + <% data.switch_to_style_struct("InheritedText") %> - <%self:longhand name="text-shadow"> + <%helpers:longhand name="text-shadow"> use cssparser::{self, ToCss}; use std::fmt; use values::AuExtensionMethods; @@ -3436,11 +2806,11 @@ pub mod longhands { }).collect()) } } - </%self:longhand> + </%helpers:longhand> - ${switch_to_style_struct("Effects")} + <% data.switch_to_style_struct("Effects") %> - <%self:longhand name="filter"> + <%helpers:longhand name="filter"> //pub use self::computed_value::T as SpecifiedValue; use cssparser::ToCss; use std::fmt; @@ -3670,9 +3040,9 @@ pub mod longhands { }).collect() } } } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="transform"> + <%helpers:longhand name="transform"> use app_units::Au; use values::CSSFloat; @@ -4125,7 +3495,7 @@ pub mod longhands { computed_value::T(Some(result)) } } - </%self:longhand> + </%helpers:longhand> pub struct OriginParseResult { horizontal: Option<specified::LengthOrPercentage>, @@ -4210,13 +3580,13 @@ pub mod longhands { } } - ${single_keyword("backface-visibility", "visible hidden")} + ${helpers.single_keyword("backface-visibility", "visible hidden")} - ${single_keyword("transform-box", "border-box fill-box view-box", products="gecko")} + ${helpers.single_keyword("transform-box", "border-box fill-box view-box", products="gecko")} - ${single_keyword("transform-style", "auto flat preserve-3d")} + ${helpers.single_keyword("transform-style", "auto flat preserve-3d")} - <%self:longhand name="transform-origin"> + <%helpers:longhand name="transform-origin"> use app_units::Au; use values::AuExtensionMethods; use values::specified::{Length, LengthOrPercentage, Percentage}; @@ -4292,13 +3662,13 @@ pub mod longhands { } } } - </%self:longhand> + </%helpers:longhand> - ${predefined_type("perspective", + ${helpers.predefined_type("perspective", "LengthOrNone", "computed::LengthOrNone::None")} - <%self:longhand name="perspective-origin"> + <%helpers:longhand name="perspective-origin"> use values::specified::{LengthOrPercentage, Percentage}; use cssparser::ToCss; @@ -4366,9 +3736,9 @@ pub mod longhands { } } } - </%self:longhand> + </%helpers:longhand> - ${single_keyword("mix-blend-mode", + ${helpers.single_keyword("mix-blend-mode", """normal multiply screen overlay darken lighten color-dodge color-burn hard-light soft-light difference exclusion hue saturation color luminosity""", gecko_constant_prefix="NS_STYLE_BLEND")} @@ -4376,13 +3746,13 @@ pub mod longhands { // CSS Image Values and Replaced Content Module Level 3 // https://drafts.csswg.org/css-images-3/ - ${switch_to_style_struct("Position")} + <% data.switch_to_style_struct("Position") %> - ${single_keyword("object-fit", "fill contain cover none scale-down", products="gecko")} + ${helpers.single_keyword("object-fit", "fill contain cover none scale-down", products="gecko")} - ${switch_to_style_struct("InheritedBox")} + <% data.switch_to_style_struct("InheritedBox") %> - <%self:longhand name="image-rendering"> + <%helpers:longhand name="image-rendering"> pub mod computed_value { use cssparser::ToCss; @@ -4435,12 +3805,12 @@ pub mod longhands { *self } } - </%self:longhand> + </%helpers:longhand> - ${switch_to_style_struct("Box")} + <% data.switch_to_style_struct("Box") %> // TODO(pcwalton): Multiple transitions. - <%self:longhand name="transition-duration"> + <%helpers:longhand name="transition-duration"> use values::specified::Time; pub use self::computed_value::T as SpecifiedValue; @@ -4499,11 +3869,11 @@ pub mod longhands { pub fn parse(_: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue,()> { Ok(SpecifiedValue(try!(input.parse_comma_separated(parse_one)))) } - </%self:longhand> + </%helpers:longhand> // TODO(pcwalton): Lots more timing functions. // TODO(pcwalton): Multiple transitions. - <%self:longhand name="transition-timing-function"> + <%helpers:longhand name="transition-timing-function"> use self::computed_value::{StartEnd, TransitionTimingFunction}; use euclid::point::Point2D; @@ -4696,10 +4066,10 @@ pub mod longhands { pub fn parse(_: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue,()> { Ok(SpecifiedValue(try!(input.parse_comma_separated(parse_one)))) } - </%self:longhand> + </%helpers:longhand> // TODO(pcwalton): Lots more properties. - <%self:longhand name="transition-property"> + <%helpers:longhand name="transition-property"> use self::computed_value::TransitionProperty; pub use self::computed_value::SingleComputedValue as SingleSpecifiedValue; @@ -4951,25 +4321,25 @@ pub mod longhands { (*self).clone() } } - </%self:longhand> + </%helpers:longhand> - <%self:longhand name="transition-delay"> + <%helpers:longhand name="transition-delay"> pub use properties::longhands::transition_duration::{SingleSpecifiedValue, SpecifiedValue}; pub use properties::longhands::transition_duration::{computed_value}; pub use properties::longhands::transition_duration::{get_initial_single_value}; pub use properties::longhands::transition_duration::{get_initial_value, parse, parse_one}; - </%self:longhand> + </%helpers:longhand> // CSS Flexible Box Layout Module Level 1 // http://www.w3.org/TR/css3-flexbox/ - ${switch_to_style_struct("Position")} + <% data.switch_to_style_struct("Position") %> // Flex container properties - ${single_keyword("flex-direction", "row row-reverse column column-reverse", experimental=True)} + ${helpers.single_keyword("flex-direction", "row row-reverse column column-reverse", experimental=True)} // https://drafts.csswg.org/css-flexbox/#propdef-order - <%self:longhand name="order"> + <%helpers:longhand name="order"> use values::computed::ComputedValueAsSpecified; impl ComputedValueAsSpecified for SpecifiedValue {} @@ -4988,49 +4358,49 @@ pub mod longhands { fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { specified::parse_integer(input) } - </%self:longhand> + </%helpers:longhand> - ${single_keyword("flex-wrap", "nowrap wrap wrap-reverse", products="gecko")} + ${helpers.single_keyword("flex-wrap", "nowrap wrap wrap-reverse", products="gecko")} // SVG 1.1 (Second Edition) // https://www.w3.org/TR/SVG/ - ${new_style_struct("SVGInherited", is_inherited=True, gecko_name="nsStyleSVG")} + <% data.new_style_struct("SVGInherited", inherited=True, gecko_ffi_name="nsStyleSVG") %> // Section 10 - Text - ${single_keyword("text-anchor", "start middle end", products="gecko")} + ${helpers.single_keyword("text-anchor", "start middle end", products="gecko")} // Section 11 - Painting: Filling, Stroking and Marker Symbols - ${single_keyword("color-interpolation", "auto sRGB linearRGB", products="gecko")} + ${helpers.single_keyword("color-interpolation", "auto sRGB linearRGB", products="gecko")} - ${single_keyword("color-interpolation-filters", "auto sRGB linearRGB", + ${helpers.single_keyword("color-interpolation-filters", "auto sRGB linearRGB", products="gecko", gecko_constant_prefix="NS_STYLE_COLOR_INTERPOLATION")} - ${single_keyword("fill-rule", "nonzero evenodd", products="gecko")} + ${helpers.single_keyword("fill-rule", "nonzero evenodd", products="gecko")} - ${single_keyword("shape-rendering", "auto optimizeSpeed crispEdges geometricPrecision", + ${helpers.single_keyword("shape-rendering", "auto optimizeSpeed crispEdges geometricPrecision", products="gecko")} - ${single_keyword("stroke-linecap", "butt round square", products="gecko")} + ${helpers.single_keyword("stroke-linecap", "butt round square", products="gecko")} - ${single_keyword("stroke-linejoin", "miter round bevel", products="gecko")} + ${helpers.single_keyword("stroke-linejoin", "miter round bevel", products="gecko")} // Section 14 - Clipping, Masking and Compositing - ${single_keyword("clip-rule", "nonzero evenodd", + ${helpers.single_keyword("clip-rule", "nonzero evenodd", products="gecko", gecko_constant_prefix="NS_STYLE_FILL_RULE")} - ${new_style_struct("SVG", is_inherited=False, gecko_name="nsStyleSVGReset")} + <% data.new_style_struct("SVG", inherited=False, gecko_ffi_name="nsStyleSVGReset") %> - ${single_keyword("dominant-baseline", + ${helpers.single_keyword("dominant-baseline", """auto use-script no-change reset-size ideographic alphabetic hanging mathematical central middle text-after-edge text-before-edge""", products="gecko")} - ${single_keyword("vector-effect", "none non-scaling-stroke", products="gecko")} + ${helpers.single_keyword("vector-effect", "none non-scaling-stroke", products="gecko")} // CSS Masking Module Level 1 // https://www.w3.org/TR/css-masking-1/ - ${single_keyword("mask-type", "luminance alpha", products="gecko")} + ${helpers.single_keyword("mask-type", "luminance alpha", products="gecko")} } @@ -5041,8 +4411,7 @@ pub mod shorthands { <%def name="shorthand(name, sub_properties, experimental=False)"> <% - shorthand = Shorthand(name, sub_properties.split(), experimental=experimental) - SHORTHANDS.append(shorthand) + shorthand = data.declare_shorthand(name, sub_properties.split(), experimental=experimental) %> pub mod ${shorthand.ident} { use cssparser::Parser; @@ -5754,13 +5123,13 @@ pub mod shorthands { mod property_bit_field { pub struct PropertyBitField { - storage: [u32; (${len(LONGHANDS)} - 1 + 32) / 32] + storage: [u32; (${len(data.longhands)} - 1 + 32) / 32] } impl PropertyBitField { #[inline] pub fn new() -> PropertyBitField { - PropertyBitField { storage: [0; (${len(LONGHANDS)} - 1 + 32) / 32] } + PropertyBitField { storage: [0; (${len(data.longhands)} - 1 + 32) / 32] } } #[inline] @@ -5771,7 +5140,7 @@ mod property_bit_field { fn set(&mut self, bit: usize) { self.storage[bit / 32] |= 1 << (bit % 32) } - % for i, property in enumerate(LONGHANDS): + % for i, property in enumerate(data.longhands): % if not property.derived_from: #[allow(non_snake_case)] #[inline] @@ -5788,7 +5157,7 @@ mod property_bit_field { } } -% for property in LONGHANDS: +% for property in data.longhands: % if not property.derived_from: #[allow(non_snake_case)] fn substitute_variables_${property.ident}<F>( @@ -5838,7 +5207,7 @@ mod property_bit_field { None => { longhands::${property.ident}::parse_specified(&context, input) } - % for shorthand in SHORTHANDS: + % for shorthand in data.shorthands: % if property in shorthand.sub_properties: Some(Shorthand::${shorthand.camel_case}) => { shorthands::${shorthand.ident}::parse_value(&context, input) @@ -5958,7 +5327,7 @@ fn deduplicate_property_declarations(declarations: Vec<PropertyDeclaration>) let mut seen_custom = Vec::new(); for declaration in declarations.into_iter().rev() { match declaration { - % for property in LONGHANDS: + % for property in data.longhands: PropertyDeclaration::${property.camel_case}(..) => { % if not property.derived_from: if seen.get_${property.ident}() { @@ -6003,7 +5372,7 @@ impl CSSWideKeyword { #[derive(Clone, Copy, Eq, PartialEq, Debug, HeapSizeOf)] pub enum Shorthand { - % for property in SHORTHANDS: + % for property in data.shorthands: ${property.camel_case}, % endfor } @@ -6011,7 +5380,7 @@ pub enum Shorthand { impl Shorthand { pub fn from_name(name: &str) -> Option<Shorthand> { match_ignore_ascii_case! { name, - % for property in SHORTHANDS: + % for property in data.shorthands: "${property.name}" => Some(Shorthand::${property.camel_case}), % endfor _ => None @@ -6019,7 +5388,7 @@ impl Shorthand { } pub fn longhands(&self) -> &'static [&'static str] { - % for property in SHORTHANDS: + % for property in data.shorthands: static ${property.ident.upper()}: &'static [&'static str] = &[ % for sub in property.sub_properties: "${sub.name}", @@ -6027,7 +5396,7 @@ impl Shorthand { ]; % endfor match *self { - % for property in SHORTHANDS: + % for property in data.shorthands: Shorthand::${property.camel_case} => ${property.ident.upper()}, % endfor } @@ -6067,7 +5436,7 @@ impl<T: ToCss> ToCss for DeclaredValue<T> { #[derive(PartialEq, Clone, Debug, HeapSizeOf)] pub enum PropertyDeclaration { - % for property in LONGHANDS: + % for property in data.longhands: ${property.camel_case}(DeclaredValue<longhands::${property.ident}::SpecifiedValue>), % endfor Custom(::custom_properties::Name, DeclaredValue<::custom_properties::SpecifiedValue>), @@ -6117,7 +5486,7 @@ impl fmt::Display for PropertyDeclarationName { impl PropertyDeclaration { pub fn name(&self) -> PropertyDeclarationName { match *self { - % for property in LONGHANDS: + % for property in data.longhands: PropertyDeclaration::${property.camel_case}(..) => % if not property.derived_from: PropertyDeclarationName::Longhand("${property.name}"), @@ -6133,7 +5502,7 @@ impl PropertyDeclaration { pub fn value(&self) -> String { match *self { - % for property in LONGHANDS: + % for property in data.longhands: PropertyDeclaration::${property.camel_case} % if not property.derived_from: (ref value) => value.to_css_string(), @@ -6150,7 +5519,7 @@ impl PropertyDeclaration { // ↓ pub fn with_variables_from_shorthand(&self, shorthand: Shorthand) -> Option< &str> { match *self { - % for property in LONGHANDS: + % for property in data.longhands: PropertyDeclaration::${property.camel_case}(ref value) => match *value { DeclaredValue::WithVariables { ref css, from_shorthand: Some(s), .. } if s == shorthand => { @@ -6167,7 +5536,7 @@ impl PropertyDeclaration { /// https://drafts.csswg.org/css-variables/#variables-in-shorthands pub fn with_variables(&self) -> bool { match *self { - % for property in LONGHANDS: + % for property in data.longhands: PropertyDeclaration::${property.camel_case}(ref value) => match *value { DeclaredValue::WithVariables { .. } => true, _ => false, @@ -6182,7 +5551,7 @@ impl PropertyDeclaration { pub fn matches(&self, name: &str) -> bool { match *self { - % for property in LONGHANDS: + % for property in data.longhands: PropertyDeclaration::${property.camel_case}(..) => % if not property.derived_from: name.eq_ignore_ascii_case("${property.name}"), @@ -6212,7 +5581,7 @@ impl PropertyDeclaration { return PropertyDeclarationParseResult::ValidOrIgnoredDeclaration; } match_ignore_ascii_case! { name, - % for property in LONGHANDS: + % for property in data.longhands: % if not property.derived_from: "${property.name}" => { % if property.internal: @@ -6238,7 +5607,7 @@ impl PropertyDeclaration { "${property.name}" => PropertyDeclarationParseResult::UnknownProperty, % endif % endfor - % for shorthand in SHORTHANDS: + % for shorthand in data.shorthands: "${shorthand.name}" => { % if shorthand.internal: if context.stylesheet_origin != Origin::UserAgent { @@ -6292,13 +5661,17 @@ impl PropertyDeclaration { pub mod style_struct_traits { use super::longhands; - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): pub trait ${style_struct.trait_name}: Clone { % for longhand in style_struct.longhands: #[allow(non_snake_case)] fn set_${longhand.ident}(&mut self, v: longhands::${longhand.ident}::computed_value::T); #[allow(non_snake_case)] fn copy_${longhand.ident}_from(&mut self, other: &Self); + % if longhand.need_clone: + #[allow(non_snake_case)] + fn clone_${longhand.ident}(&self) -> longhands::${longhand.ident}::computed_value::T; + % endif % endfor % for additional in style_struct.additional_methods: #[allow(non_snake_case)] @@ -6313,7 +5686,7 @@ pub mod style_structs { use super::longhands; use std::hash::{Hash, Hasher}; - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): % if style_struct.trait_name == "Font": #[derive(Clone, HeapSizeOf, Debug)] % else: @@ -6350,8 +5723,10 @@ pub mod style_structs { % endfor % if style_struct.trait_name == "Border": % for side in ["top", "right", "bottom", "left"]: - fn border_${side}_is_none_or_hidden_and_has_nonzero_width(&self) -> bool { - self.border_${side}_style.none_or_hidden() && + fn clone_border_${side}_style(&self) -> longhands::border_${side}_style::computed_value::T { + self.border_${side}_style.clone() + } + fn border_${side}_has_nonzero_width(&self) -> bool { self.border_${side}_width != ::app_units::Au(0) } % endfor @@ -6362,14 +5737,14 @@ pub mod style_structs { fn clone_position(&self) -> longhands::position::computed_value::T { self.position.clone() } - fn is_floated(&self) -> bool { - self.float != longhands::float::SpecifiedValue::none + fn clone_float(&self) -> longhands::float::computed_value::T { + self.float.clone() } - fn overflow_x_is_visible(&self) -> bool { - self.overflow_x == longhands::overflow_x::computed_value::T::visible + fn clone_overflow_x(&self) -> longhands::overflow_x::computed_value::T { + self.overflow_x.clone() } - fn overflow_y_is_visible(&self) -> bool { - self.overflow_y.0 == longhands::overflow_x::computed_value::T::visible + fn clone_overflow_y(&self) -> longhands::overflow_y::computed_value::T { + self.overflow_y.clone() } fn transition_count(&self) -> usize { self.transition_property.0.len() @@ -6403,14 +5778,17 @@ pub mod style_structs { fn clone_text_orientation(&self) -> longhands::text_orientation::computed_value::T { self.text_orientation.clone() } - % elif style_struct.trait_name == "InheritedText" and CONFIG["product"] == "servo": + % elif style_struct.trait_name == "InheritedText" and product == "servo": fn clone__servo_text_decorations_in_effect(&self) -> longhands::_servo_text_decorations_in_effect::computed_value::T { self._servo_text_decorations_in_effect.clone() } % elif style_struct.trait_name == "Outline": - fn outline_is_none_or_hidden_and_has_nonzero_width(&self) -> bool { - self.outline_style.none_or_hidden() && self.outline_width != ::app_units::Au(0) + fn clone_outline_style(&self) -> longhands::outline_style::computed_value::T { + self.outline_style.clone() + } + fn outline_has_nonzero_width(&self) -> bool { + self.outline_width != ::app_units::Au(0) } % elif style_struct.trait_name == "Text": fn has_underline(&self) -> bool { @@ -6429,7 +5807,7 @@ pub mod style_structs { } pub trait ComputedValues : Clone + Send + Sync + 'static { - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): type Concrete${style_struct.trait_name}: style_struct_traits::${style_struct.trait_name}; % endfor @@ -6444,7 +5822,7 @@ pub trait ComputedValues : Clone + Send + Sync + 'static { shareable: bool, writing_mode: WritingMode, root_font_size: Au, - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): ${style_struct.ident}: Arc<Self::Concrete${style_struct.trait_name}>, % endfor ) -> Self; @@ -6453,7 +5831,7 @@ pub trait ComputedValues : Clone + Send + Sync + 'static { fn do_cascade_property<F: FnOnce(&Vec<Option<CascadePropertyFn<Self>>>)>(f: F); - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): fn clone_${style_struct.trait_name_lower}(&self) -> Arc<Self::Concrete${style_struct.trait_name}>; fn get_${style_struct.trait_name_lower}<'a>(&'a self) -> @@ -6471,7 +5849,7 @@ pub trait ComputedValues : Clone + Send + Sync + 'static { #[derive(Clone, HeapSizeOf)] pub struct ServoComputedValues { - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): ${style_struct.ident}: Arc<style_structs::${style_struct.servo_struct_name}>, % endfor custom_properties: Option<Arc<::custom_properties::ComputedValuesMap>>, @@ -6481,7 +5859,7 @@ pub struct ServoComputedValues { } impl ComputedValues for ServoComputedValues { - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): type Concrete${style_struct.trait_name} = style_structs::${style_struct.servo_struct_name}; % endfor @@ -6492,7 +5870,7 @@ impl ComputedValues for ServoComputedValues { shareable: bool, writing_mode: WritingMode, root_font_size: Au, - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): ${style_struct.ident}: Arc<style_structs::${style_struct.servo_struct_name}>, % endfor ) -> Self { @@ -6501,7 +5879,7 @@ impl ComputedValues for ServoComputedValues { shareable: shareable, writing_mode: writing_mode, root_font_size: root_font_size, - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): ${style_struct.ident}: ${style_struct.ident}, % endfor } @@ -6513,7 +5891,7 @@ impl ComputedValues for ServoComputedValues { CASCADE_PROPERTY.with(|x| f(x)); } - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): #[inline] fn clone_${style_struct.trait_name_lower}(&self) -> Arc<Self::Concrete${style_struct.trait_name}> { @@ -6715,7 +6093,7 @@ impl ServoComputedValues { pub fn computed_value_to_string(&self, name: &str) -> Result<String, ()> { match name { - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): % for longhand in style_struct.longhands: "${longhand.name}" => Ok(self.${style_struct.ident}.${longhand.ident}.to_css_string()), % endfor @@ -6752,10 +6130,17 @@ pub fn get_writing_mode<S: style_struct_traits::InheritedBox>(inheritedbox_style }, } match inheritedbox_style.clone_text_orientation() { + % if product == "servo": computed_values::text_orientation::T::sideways_right => {}, computed_values::text_orientation::T::sideways_left => { flags.insert(logical_geometry::FLAG_VERTICAL_LR); }, + % elif product == "gecko": + // FIXME(bholley): Need to make sure these are correct when we add + // full writing-mode support. + computed_values::text_orientation::T::mixed => {}, + computed_values::text_orientation::T::upright => {}, + % endif computed_values::text_orientation::T::sideways => { if flags.intersects(logical_geometry::FLAG_VERTICAL_LR) { flags.insert(logical_geometry::FLAG_SIDEWAYS_LEFT); @@ -6769,7 +6154,7 @@ pub fn get_writing_mode<S: style_struct_traits::InheritedBox>(inheritedbox_style /// The initial values for all style structs as defined by the specification. lazy_static! { pub static ref INITIAL_SERVO_VALUES: ServoComputedValues = ServoComputedValues { - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): ${style_struct.ident}: Arc::new(style_structs::${style_struct.servo_struct_name} { % for longhand in style_struct.longhands: ${longhand.ident}: longhands::${longhand.ident}::get_initial_value(), @@ -6807,7 +6192,7 @@ fn cascade_with_cached_declarations<C: ComputedValues>( shareable, WritingMode::empty(), parent_style.root_font_size(), - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): % if style_struct.inherited: parent_style % else: @@ -6824,7 +6209,7 @@ fn cascade_with_cached_declarations<C: ComputedValues>( // Declarations are already stored in reverse order. for declaration in sub_list.declarations.iter() { match *declaration { - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): % for property in style_struct.longhands: % if not property.derived_from: PropertyDeclaration::${property.camel_case}(ref @@ -6867,8 +6252,8 @@ fn cascade_with_cached_declarations<C: ComputedValues>( ); % endif - % if property.name in DERIVED_LONGHANDS: - % for derived in DERIVED_LONGHANDS[property.name]: + % if property.name in data.derived_longhands: + % for derived in data.derived_longhands[property.name]: longhands::${derived.ident} ::derive_from_${property.ident}(&mut context); % endfor @@ -6905,7 +6290,7 @@ pub type CascadePropertyFn<C /*: ComputedValues */> = pub fn make_cascade_vec<C: ComputedValues>() -> Vec<Option<CascadePropertyFn<C>>> { let mut result: Vec<Option<CascadePropertyFn<C>>> = Vec::new(); - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): % for property in style_struct.longhands: let discriminant; unsafe { @@ -7000,7 +6385,7 @@ pub fn cascade<C: ComputedValues>( shareable, WritingMode::empty(), inherited_style.root_font_size(), - % for style_struct in active_style_structs(): + % for style_struct in data.active_style_structs(): % if style_struct.inherited: inherited_style % else: @@ -7069,7 +6454,7 @@ pub fn cascade<C: ComputedValues>( let positioned = matches!(style.get_box().clone_position(), longhands::position::SpecifiedValue::absolute | longhands::position::SpecifiedValue::fixed); - let floated = style.get_box().is_floated(); + let floated = style.get_box().clone_float() != longhands::float::SpecifiedValue::none; if positioned || floated || is_root_element { use computed_values::display::T; @@ -7090,7 +6475,7 @@ pub fn cascade<C: ComputedValues>( if let Some(computed_display) = computed_display { let box_ = style.mutate_box(); box_.set_display(computed_display); - % if CONFIG["product"] == "servo": + % if product == "servo": box_.set__servo_display_for_hypothetical_box(if is_root_element { computed_display } else { @@ -7103,7 +6488,8 @@ pub fn cascade<C: ComputedValues>( { use computed_values::overflow_x::T as overflow; use computed_values::overflow_y; - match (style.get_box().overflow_x_is_visible(), style.get_box().overflow_y_is_visible()) { + match (style.get_box().clone_overflow_x() == longhands::overflow_x::computed_value::T::visible, + style.get_box().clone_overflow_y().0 == longhands::overflow_x::computed_value::T::visible) { (true, true) => {} (true, _) => { style.mutate_box().set_overflow_x(overflow::auto); @@ -7118,13 +6504,15 @@ pub fn cascade<C: ComputedValues>( // The initial value of border-*-width may be changed at computed value time. % for side in ["top", "right", "bottom", "left"]: // Like calling to_computed_value, which wouldn't type check. - if style.get_border().border_${side}_is_none_or_hidden_and_has_nonzero_width() { + if style.get_border().clone_border_${side}_style().none_or_hidden() && + style.get_border().border_${side}_has_nonzero_width() { style.mutate_border().set_border_${side}_width(Au(0)); } % endfor // The initial value of outline width may be changed at computed value time. - if style.get_outline().outline_is_none_or_hidden_and_has_nonzero_width() { + if style.get_outline().clone_outline_style().none_or_hidden() && + style.get_outline().outline_has_nonzero_width() { style.mutate_outline().set_outline_width(Au(0)); } @@ -7320,7 +6708,7 @@ pub fn modify_style_for_inline_absolute_hypothetical_fragment(style: &mut Arc<Se pub fn is_supported_property(property: &str) -> bool { match_ignore_ascii_case! { property, - % for property in SHORTHANDS + LONGHANDS: + % for property in data.shorthands + data.longhands: "${property.name}" => true, % endfor _ => property.starts_with("--") @@ -7331,12 +6719,12 @@ pub fn is_supported_property(property: &str) -> bool { macro_rules! css_properties_accessors { ($macro_name: ident) => { $macro_name! { - % for property in SHORTHANDS + LONGHANDS: + % for property in data.shorthands + data.longhands: % if not property.derived_from and not property.internal: % if '-' in property.name: [${property.ident.capitalize()}, Set${property.ident.capitalize()}, "${property.name}"], % endif - % if property != LONGHANDS[-1]: + % if property != data.longhands[-1]: [${property.camel_case}, Set${property.camel_case}, "${property.name}"], % else: [${property.camel_case}, Set${property.camel_case}, "${property.name}"] @@ -7351,7 +6739,7 @@ macro_rules! css_properties_accessors { macro_rules! longhand_properties_idents { ($macro_name: ident) => { $macro_name! { - % for property in LONGHANDS: + % for property in data.longhands: ${property.ident} % endfor } diff --git a/components/style/viewport.rs b/components/style/viewport.rs index 2b5d9ea3175..2f8377102c9 100644 --- a/components/style/viewport.rs +++ b/components/style/viewport.rs @@ -512,7 +512,7 @@ impl MaybeNew for ViewportConstraints { rule: &ViewportRule) -> Option<ViewportConstraints> { - use num::{Float, ToPrimitive}; + use num_traits::{Float, ToPrimitive}; use std::cmp; if rule.declarations.is_empty() { diff --git a/components/style_traits/Cargo.toml b/components/style_traits/Cargo.toml index 366799438f4..e7119079d5b 100644 --- a/components/style_traits/Cargo.toml +++ b/components/style_traits/Cargo.toml @@ -21,7 +21,6 @@ heapsize = "0.3.0" heapsize_plugin = "0.1.2" lazy_static = "0.1.10" log = "0.3.5" -num = "0.1.24" rustc-serialize = "0.3" selectors = {version = "0.5", features = ["heap_size"]} serde = "0.7" diff --git a/components/util/lib.rs b/components/util/lib.rs index 5eb530f1b19..b4998b0580c 100644 --- a/components/util/lib.rs +++ b/components/util/lib.rs @@ -18,6 +18,7 @@ #![deny(unsafe_code)] extern crate app_units; +#[allow(unused_extern_crates)] #[macro_use] extern crate bitflags; extern crate deque; @@ -27,6 +28,7 @@ extern crate heapsize; extern crate ipc_channel; #[cfg(feature = "non-geckolib")] extern crate js; +#[allow(unused_extern_crates)] #[macro_use] extern crate lazy_static; extern crate libc; diff --git a/components/util/resource_files.rs b/components/util/resource_files.rs index 06e8a428361..58d6a17441c 100644 --- a/components/util/resource_files.rs +++ b/components/util/resource_files.rs @@ -2,6 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#[cfg(not(target_os = "android"))] use std::env; use std::fs::File; use std::io::{self, Read}; diff --git a/components/webdriver_server/lib.rs b/components/webdriver_server/lib.rs index 03ea0291caf..25275c1bc13 100644 --- a/components/webdriver_server/lib.rs +++ b/components/webdriver_server/lib.rs @@ -14,8 +14,6 @@ extern crate compositing; extern crate hyper; extern crate image; extern crate ipc_channel; -#[macro_use] -extern crate log; extern crate msg; extern crate regex; extern crate rustc_serialize; diff --git a/etc/ci/upload_docs.sh b/etc/ci/upload_docs.sh index 2aea0fcea00..aac1374ceda 100755 --- a/etc/ci/upload_docs.sh +++ b/etc/ci/upload_docs.sh @@ -12,7 +12,7 @@ cd "$(dirname $0)/../.." # etc/doc.servo.org/index.html overwrites $(mach rust-root)/doc/index.html cp etc/doc.servo.org/* target/doc/ -python components/style/list_properties.py +python components/style/properties/build.py servo html ghp-import -n target/doc git push -qf https://${TOKEN}@github.com/servo/doc.servo.org.git gh-pages diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index 3816313b2cb..b766c6025cd 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -10,7 +10,7 @@ dependencies = [ "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "devtools 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "glutin_app 0.0.1", @@ -58,10 +58,10 @@ name = "app_units" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -88,7 +88,7 @@ dependencies = [ "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -107,8 +107,8 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -148,13 +148,12 @@ version = "0.0.1" dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", "canvas_traits 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", - "layers 0.2.4 (git+https://github.com/servo/rust-layers)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "util 0.0.1", @@ -167,16 +166,14 @@ version = "0.0.1" dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", - "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "util 0.0.1", "webrender_traits 0.1.0 (git+https://github.com/servo/webrender_traits)", ] @@ -261,7 +258,7 @@ dependencies = [ "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "devtools_traits 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gaol 0.0.1 (git+https://github.com/servo/gaol)", "gfx 0.0.1", "gfx_traits 0.0.1", @@ -273,7 +270,7 @@ dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", @@ -295,7 +292,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -378,7 +375,6 @@ dependencies = [ "devtools_traits 0.0.1", "hyper 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", - "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "plugins 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -403,7 +399,6 @@ dependencies = [ "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", - "util 0.0.1", ] [[package]] @@ -493,7 +488,7 @@ name = "enum_primitive" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -507,14 +502,14 @@ dependencies = [ [[package]] name = "euclid" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -607,7 +602,7 @@ dependencies = [ "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gfx_traits 0.0.1", @@ -626,7 +621,7 @@ dependencies = [ "profile_traits 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "range 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -648,7 +643,7 @@ name = "gfx_traits" version = "0.0.1" dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.2.4 (git+https://github.com/servo/rust-layers)", @@ -656,7 +651,6 @@ dependencies = [ "plugins 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "util 0.0.1", ] [[package]] @@ -698,7 +692,7 @@ dependencies = [ "bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "compositing 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.2.4 (git+https://github.com/servo/rust-layers)", "msg 0.0.1", @@ -799,7 +793,7 @@ dependencies = [ "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", @@ -822,7 +816,7 @@ dependencies = [ "mime 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "solicit 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", @@ -842,7 +836,7 @@ dependencies = [ "gif 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "jpeg-decoder 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "png 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -853,7 +847,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -868,7 +862,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "leaky-cow 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -895,22 +889,22 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "js" version = "0.1.2" -source = "git+https://github.com/servo/rust-mozjs#6f1eb4ea7a84714bfab2806440c9fc8a9a261409" +source = "git+https://github.com/servo/rust-mozjs#efe805affa75d776316e9ea6113f85cdad1e82ed" dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "mozjs_sys 0.0.0 (git+https://github.com/servo/mozjs)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -940,7 +934,7 @@ dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "glx 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -948,7 +942,7 @@ dependencies = [ "io-surface 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-skia 0.20130412.6 (registry+https://github.com/rust-lang/crates.io-index)", "x11 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -963,7 +957,7 @@ dependencies = [ "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", "gfx_traits 0.0.1", @@ -978,11 +972,10 @@ dependencies = [ "plugins 0.0.1", "profile_traits 0.0.1", "range 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script 0.0.1", "script_traits 0.0.1", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1163,14 +1156,14 @@ version = "0.0.1" dependencies = [ "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", "layers 0.2.4 (git+https://github.com/servo/rust-layers)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1196,7 +1189,7 @@ dependencies = [ "net_traits 0.0.1", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "threadpool 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "tinyfiledialogs 0.1.0 (git+https://github.com/jdm/tinyfiledialogs)", @@ -1250,14 +1243,71 @@ dependencies = [ [[package]] name = "num" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "num-bigint 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-complex 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-iter 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-rational 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-bigint" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] +name = "num-complex" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-integer" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-iter" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-rational" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-bigint 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-traits" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] name = "num_cpus" version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1305,7 +1355,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1428,7 +1478,7 @@ dependencies = [ "flate2 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "inflate 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1484,7 +1534,7 @@ name = "quickersort" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1502,8 +1552,8 @@ version = "0.0.1" dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1546,7 +1596,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rustc-serialize" -version = "0.3.16" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1578,7 +1628,7 @@ dependencies = [ "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "devtools_traits 0.0.1", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1592,7 +1642,7 @@ dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "phf_macros 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1603,7 +1653,7 @@ dependencies = [ "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1627,7 +1677,7 @@ dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "devtools_traits 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1687,7 +1737,7 @@ name = "serde_json" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1711,7 +1761,7 @@ dependencies = [ "devtools 0.0.1", "devtools_traits 0.0.1", "env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gaol 0.0.1 (git+https://github.com/servo/gaol)", "gfx 0.0.1", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1724,7 +1774,6 @@ dependencies = [ "msg 0.0.1", "net 0.0.1", "net_traits 0.0.1", - "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "profile 0.0.1", "profile_traits 0.0.1", "script 0.0.1", @@ -1806,7 +1855,7 @@ version = "0.20130412.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "expat-sys 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "glx 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1878,16 +1927,16 @@ dependencies = [ "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1904,14 +1953,13 @@ name = "style_traits" version = "0.0.1" dependencies = [ "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2041,7 +2089,7 @@ dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2077,7 +2125,7 @@ dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2090,7 +2138,7 @@ dependencies = [ "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2170,7 +2218,7 @@ dependencies = [ "hyper 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2185,7 +2233,7 @@ dependencies = [ "msg 0.0.1", "plugins 0.0.1", "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", "uuid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2201,14 +2249,14 @@ dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "scoped_threadpool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2223,7 +2271,7 @@ dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2242,7 +2290,7 @@ dependencies = [ "net2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2303,13 +2351,13 @@ dependencies = [ [[package]] name = "xml5ever" version = "0.1.1" -source = "git+https://github.com/Ygg01/xml5ever#4900bbadef28c940a0cd73dc735d53709a2845c7" +source = "git+https://github.com/Ygg01/xml5ever#a51a6df18f384ecfb0a99b288c267178cf68f7f7" dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/geckolib/Cargo.lock b/ports/geckolib/Cargo.lock index 679dd09f4c5..9cc2870eef9 100644 --- a/ports/geckolib/Cargo.lock +++ b/ports/geckolib/Cargo.lock @@ -5,7 +5,7 @@ dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", @@ -26,10 +26,10 @@ name = "app_units" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -45,8 +45,8 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -153,14 +153,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "euclid" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -237,14 +237,71 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "num" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "num-bigint 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-complex 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-iter 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-rational 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-bigint" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-complex" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-integer" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-iter" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-rational" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-bigint 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] +name = "num-traits" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] name = "num_cpus" version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -301,7 +358,7 @@ name = "quickersort" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -315,7 +372,7 @@ dependencies = [ [[package]] name = "rustc-serialize" -version = "0.3.16" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -384,16 +441,16 @@ dependencies = [ "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -410,14 +467,13 @@ name = "style_traits" version = "0.0.1" dependencies = [ "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -470,7 +526,7 @@ dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -484,7 +540,7 @@ dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -496,7 +552,7 @@ dependencies = [ "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/geckolib/build.rs b/ports/geckolib/build.rs index 0e19e988884..17da2b459e4 100644 --- a/ports/geckolib/build.rs +++ b/ports/geckolib/build.rs @@ -3,10 +3,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use std::env; -use std::fs::File; -use std::io::Write; use std::path::Path; -use std::process::{Command, Stdio, exit}; +use std::process::{Command, exit}; #[cfg(windows)] fn find_python() -> String { @@ -31,32 +29,25 @@ fn find_python() -> String { } fn main() { - let python = match env::var("PYTHON") { - Ok(python_path) => python_path, - Err(_) => find_python(), - }; + let python = env::var("PYTHON").ok().unwrap_or_else(find_python); // Mako refuses to load templates outside the scope of the current working directory, // so we need to run it from the top source directory. let geckolib_dir = Path::new(file!()).parent().unwrap(); let top_dir = geckolib_dir.join("..").join(".."); - let style_template = Path::new("components/style/properties.mako.rs"); - let geckolib_template = Path::new("ports/geckolib/properties.mako.rs"); - let mako = Path::new("components/style/Mako-0.9.1.zip"); - - let result = Command::new(python) - .current_dir(top_dir) - .env("PYTHONPATH", &mako) - .env("STYLE_TEMPLATE", &style_template) - .env("GECKOLIB_TEMPLATE", &geckolib_template) - .arg("ports/geckolib/generate_properties_rs.py") - .stderr(Stdio::inherit()) - .output() + let properties_dir = Path::new("components").join("style").join("properties"); + println!("cargo:rerun-if-changed={}", top_dir.join(&properties_dir).to_str().unwrap()); + println!("cargo:rerun-if-changed={}", geckolib_dir.join("properties.mako.rs").to_str().unwrap()); + + let status = Command::new(python) + .current_dir(&top_dir) + .arg(&properties_dir.join("build.py")) + .arg("gecko") + .arg("geckolib") + .status() .unwrap(); - if !result.status.success() { + if !status.success() { exit(1) } - let out = env::var("OUT_DIR").unwrap(); - File::create(&Path::new(&out).join("properties.rs")).unwrap().write_all(&result.stdout).unwrap(); } diff --git a/ports/geckolib/gecko_style_structs.rs b/ports/geckolib/gecko_style_structs.rs index cda95f7be86..039f1b1320a 100644 --- a/ports/geckolib/gecko_style_structs.rs +++ b/ports/geckolib/gecko_style_structs.rs @@ -1,6 +1,6 @@ /* automatically generated by rust-bindgen */ -#[derive(Copy, Clone, Debug)] +#[derive(Copy, Debug)] pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>); impl <T> __BindgenUnionField<T> { #[inline] @@ -14,6 +14,10 @@ impl <T> ::std::default::Default for __BindgenUnionField<T> { #[inline] fn default() -> Self { Self::new() } } +impl <T> ::std::clone::Clone for __BindgenUnionField<T> { + #[inline] + fn clone(&self) -> Self { Self::new() } +} pub const NS_ERROR_MODULE_XPCOM: ::std::os::raw::c_uint = 1; pub const NS_ERROR_MODULE_BASE: ::std::os::raw::c_uint = 2; pub const NS_ERROR_MODULE_GFX: ::std::os::raw::c_uint = 3; @@ -196,6 +200,7 @@ pub const NS_STYLE_IMAGELAYER_ATTACHMENT_LOCAL: ::std::os::raw::c_uint = 2; pub const NS_STYLE_IMAGELAYER_CLIP_BORDER: ::std::os::raw::c_uint = 0; pub const NS_STYLE_IMAGELAYER_CLIP_PADDING: ::std::os::raw::c_uint = 1; pub const NS_STYLE_IMAGELAYER_CLIP_CONTENT: ::std::os::raw::c_uint = 2; +pub const NS_STYLE_IMAGELAYER_CLIP_TEXT: ::std::os::raw::c_uint = 3; pub const NS_STYLE_IMAGELAYER_CLIP_MOZ_ALMOST_PADDING: ::std::os::raw::c_uint = 127; @@ -1343,7 +1348,7 @@ pub type nsASingleFragmentCString = nsCSubstring; * @see nsTAString */ #[repr(C)] -#[derive(Copy, Clone, Debug)] +#[derive(Debug, Copy, Clone)] pub struct nsReadingIterator<CharT> { pub mStart: *const CharT, pub mEnd: *const CharT, @@ -1353,7 +1358,7 @@ pub struct nsReadingIterator<CharT> { * @see nsTAString */ #[repr(C)] -#[derive(Copy, Clone, Debug)] +#[derive(Debug, Copy, Clone)] pub struct nsWritingIterator<CharT> { pub mStart: *mut CharT, pub mEnd: *mut CharT, @@ -1374,6 +1379,7 @@ impl ::std::clone::Clone for nsDefaultStringComparator { fn clone(&self) -> Self { *self } } #[repr(C)] +#[derive(Debug)] pub struct nsAString_internal { pub mData: *mut ::std::os::raw::c_ushort, pub mLength: ::std::os::raw::c_uint, @@ -1411,6 +1417,7 @@ impl ::std::clone::Clone for nsDefaultCStringComparator { fn clone(&self) -> Self { *self } } #[repr(C)] +#[derive(Debug)] pub struct nsACString_internal { pub mData: *mut ::std::os::raw::c_char, pub mLength: ::std::os::raw::c_uint, @@ -1482,6 +1489,7 @@ fn bindgen_test_layout_nsCSubstringTuple() { assert_eq!(::std::mem::align_of::<nsCSubstringTuple>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsString { pub _base: nsAString_internal, } @@ -1505,6 +1513,7 @@ fn bindgen_test_layout_nsString() { assert_eq!(::std::mem::align_of::<nsString>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsFixedString { pub _base: nsString, pub mFixedCapacity: ::std::os::raw::c_uint, @@ -1531,11 +1540,11 @@ fn bindgen_test_layout_nsAutoString() { pub enum Dont_Instantiate_nsTArray_of { } pub enum Instead_Use_nsTArray_of { } #[repr(C)] -#[derive(Copy, Clone, Debug)] pub struct nsTArrayElementTraits<> { pub _phantom0: ::std::marker::PhantomData<nsAutoString>, } #[repr(C)] +#[derive(Debug)] pub struct nsXPIDLString { pub _base: nsString, } @@ -1545,6 +1554,7 @@ fn bindgen_test_layout_nsXPIDLString() { assert_eq!(::std::mem::align_of::<nsXPIDLString>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsGetterCopies { pub mString: *mut nsAString_internal, pub mData: *mut ::std::os::raw::c_ushort, @@ -1555,6 +1565,7 @@ fn bindgen_test_layout_nsGetterCopies() { assert_eq!(::std::mem::align_of::<nsGetterCopies>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsAdoptingString { pub _base: nsXPIDLString, } @@ -1564,6 +1575,7 @@ fn bindgen_test_layout_nsAdoptingString() { assert_eq!(::std::mem::align_of::<nsAdoptingString>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCString { pub _base: nsACString_internal, } @@ -1587,6 +1599,7 @@ fn bindgen_test_layout_nsCString() { assert_eq!(::std::mem::align_of::<nsCString>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsFixedCString { pub _base: nsCString, pub mFixedCapacity: ::std::os::raw::c_uint, @@ -1611,6 +1624,7 @@ fn bindgen_test_layout_nsAutoCString() { assert_eq!(::std::mem::align_of::<nsAutoCString>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsXPIDLCString { pub _base: nsCString, } @@ -1620,6 +1634,7 @@ fn bindgen_test_layout_nsXPIDLCString() { assert_eq!(::std::mem::align_of::<nsXPIDLCString>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCGetterCopies { pub mString: *mut nsACString_internal, pub mData: *mut ::std::os::raw::c_char, @@ -1630,6 +1645,7 @@ fn bindgen_test_layout_nsCGetterCopies() { assert_eq!(::std::mem::align_of::<nsCGetterCopies>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsAdoptingCString { pub _base: nsXPIDLCString, } @@ -1782,6 +1798,7 @@ pub enum nsCSSScannerExclude { eCSSScannerExclude_WhitespaceAndComments = 2, } #[repr(C)] +#[derive(Debug)] pub struct nsCSSScanner { pub mBuffer: *const ::std::os::raw::c_ushort, pub mOffset: u32, @@ -1848,16 +1865,13 @@ fn bindgen_test_layout_nsCSSGridTemplateAreaScanner() { * A "unique identifier". This is modeled after OSF DCE UUIDs. */ #[repr(C)] -#[derive(Debug, Copy)] +#[derive(Debug)] pub struct nsID { pub m0: u32, pub m1: u16, pub m2: u16, pub m3: [u8; 8usize], } -impl ::std::clone::Clone for nsID { - fn clone(&self) -> Self { *self } -} #[test] fn bindgen_test_layout_nsID() { assert_eq!(::std::mem::size_of::<nsID>() , 16usize); @@ -1953,6 +1967,7 @@ fn bindgen_test_layout_nsAutoRefCnt() { assert_eq!(::std::mem::align_of::<nsAutoRefCnt>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct ThreadSafeAutoRefCnt { pub mValue: u64, } @@ -1990,29 +2005,30 @@ fn bindgen_test_layout_QITableEntry() { assert_eq!(::std::mem::align_of::<QITableEntry>() , 8usize); } #[repr(C)] -#[derive(Copy, Clone, Debug)] +#[derive(Debug, Copy, Clone)] pub struct RefPtrTraits<U> { pub _phantom0: ::std::marker::PhantomData<U>, } #[repr(C)] +#[derive(Debug)] pub struct RefPtr<T> { pub mRawPtr: *mut T, } #[repr(C)] -#[derive(Copy, Clone, Debug)] +#[derive(Debug)] pub struct RefPtr_Proxy<T, R, Args> { pub mRawPtr: *mut T, pub _phantom0: ::std::marker::PhantomData<R>, pub _phantom1: ::std::marker::PhantomData<Args>, } #[repr(C)] -#[derive(Copy, Clone, Debug)] +#[derive(Debug, Copy, Clone)] pub struct RefPtr_ConstRemovingRefPtrTraits<T, U> { pub _phantom0: ::std::marker::PhantomData<T>, pub _phantom1: ::std::marker::PhantomData<U>, } #[repr(C)] -#[derive(Copy, Clone, Debug)] +#[derive(Debug, Copy, Clone)] pub struct RefPtrGetterAddRefs<T> { pub mTargetSmartPtr: *mut RefPtr<T>, pub _phantom0: ::std::marker::PhantomData<T>, @@ -2117,6 +2133,7 @@ fn bindgen_test_layout_nsGetServiceByContractIDWithError() { * template<class T> class Foo<T*> : private Foo<void*> { ... }; */ #[repr(C)] +#[derive(Debug)] pub struct nsCOMPtr_base { pub mRawPtr: *mut nsISupports, } @@ -2126,6 +2143,7 @@ fn bindgen_test_layout_nsCOMPtr_base() { assert_eq!(::std::mem::align_of::<nsCOMPtr_base>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCOMPtr<T> { pub mRawPtr: *mut T, } @@ -2145,28 +2163,30 @@ pub struct nsCOMPtr<T> { * This type should be a nested class inside |nsCOMPtr<T>|. */ #[repr(C)] +#[derive(Debug)] pub struct nsGetterAddRefs<T> { pub mTargetSmartPtr: *mut nsCOMPtr<T>, pub _phantom0: ::std::marker::PhantomData<T>, } #[repr(C)] +#[derive(Debug)] pub struct nsAutoPtr<T> { pub mRawPtr: *mut T, } #[repr(C)] -#[derive(Copy, Clone, Debug)] +#[derive(Debug, Copy, Clone)] pub struct nsAutoPtr_Ptr<T> { pub mPtr: *mut T, } #[repr(C)] -#[derive(Copy, Clone, Debug)] +#[derive(Debug)] pub struct nsAutoPtr_Proxy<T, R, Args> { pub mRawPtr: *mut T, pub _phantom0: ::std::marker::PhantomData<R>, pub _phantom1: ::std::marker::PhantomData<Args>, } #[repr(C)] -#[derive(Copy, Clone, Debug)] +#[derive(Debug, Copy, Clone)] pub struct nsAutoPtrGetterTransfers<T> { pub mTargetSmartPtr: *mut nsAutoPtr<T>, pub _phantom0: ::std::marker::PhantomData<T>, @@ -2186,6 +2206,7 @@ fn bindgen_test_layout_PLDHashEntryHdr() { assert_eq!(::std::mem::align_of::<PLDHashEntryHdr>() , 4usize); } #[repr(C)] +#[derive(Debug)] pub struct Checker { pub mState: u32, pub mIsWritable: u32, @@ -2202,13 +2223,12 @@ pub struct PLDHashTable { pub mEntrySize: u32, pub mEntryCount: u32, pub mRemovedCount: u32, - pub mEntryStore: PLDHashTable_EntryStore, + pub mEntryStore: [u64; 2usize], pub mChecker: Checker, } #[repr(C)] pub struct PLDHashTable_EntryStore { - pub mEntryStore: *mut ::std::os::raw::c_char, - pub mGeneration: u32, + pub _bindgen_opaque_blob: [u64; 2usize], } #[test] fn bindgen_test_layout_PLDHashTable_EntryStore() { @@ -2216,6 +2236,7 @@ fn bindgen_test_layout_PLDHashTable_EntryStore() { assert_eq!(::std::mem::align_of::<PLDHashTable_EntryStore>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct PLDHashTable_Iterator { pub mTable: *mut PLDHashTable, pub mStart: *mut ::std::os::raw::c_char, @@ -2346,17 +2367,13 @@ pub struct nsTHashtable<EntryType> { pub _phantom0: ::std::marker::PhantomData<EntryType>, } #[repr(C)] +#[derive(Debug)] pub struct nsTHashtable_Iterator<EntryType> { pub _base: PLDHashTable_Iterator, pub _phantom0: ::std::marker::PhantomData<EntryType>, } #[repr(C)] pub struct nsDataHashtable; -#[test] -fn bindgen_test_layout_nsDataHashtable() { - assert_eq!(::std::mem::size_of::<nsDataHashtable>() , 0usize); - assert_eq!(::std::mem::align_of::<nsDataHashtable>() , 0usize); -} pub enum CSSVariableResolver { } #[repr(C)] pub struct CSSVariableValues { @@ -2364,6 +2381,7 @@ pub struct CSSVariableValues { pub mVariables: u64, } #[repr(C)] +#[derive(Debug)] pub struct CSSVariableValues_Variable { pub mVariableName: nsString, pub mValue: nsString, @@ -2396,6 +2414,337 @@ pub enum SheetType { Count = 10, Unknown = -1, } +pub enum _cairo_surface { } +pub type cairo_surface_t = _cairo_surface; +pub enum _cairo_user_data_key { } +pub type cairo_user_data_key_t = _cairo_user_data_key; +pub type thebes_destroy_func_t = + ::std::option::Option<unsafe extern "C" fn(data: + *mut ::std::os::raw::c_void)>; +/** + * Currently needs to be 'double' for Cairo compatibility. Could + * become 'float', perhaps, in some configurations. + */ +pub type gfxFloat = f64; +/** + * Priority of a line break opportunity. + * + * eNoBreak The line has no break opportunities + * eWordWrapBreak The line has a break opportunity only within a word. With + * word-wrap: break-word we will break at this point only if + * there are no other break opportunities in the line. + * eNormalBreak The line has a break opportunity determined by the standard + * line-breaking algorithm. + * + * Future expansion: split eNormalBreak into multiple priorities, e.g. + * punctuation break and whitespace break (bug 389710). + * As and when we implement it, text-wrap: unrestricted will + * mean that priorities are ignored and all line-break + * opportunities are equal. + * + * @see gfxTextRun::BreakAndMeasureText + * @see nsLineLayout::NotifyOptionalBreakPosition + */ +#[repr(i32)] +#[derive(Debug, Copy, Clone)] +pub enum gfxBreakPriority { + eNoBreak = 0, + eWordWrapBreak = 1, + eNormalBreak = 2, +} +#[repr(i32)] +#[derive(Debug, Copy, Clone)] +pub enum gfxSurfaceType { + Image = 0, + PDF = 1, + PS = 2, + Xlib = 3, + Xcb = 4, + Glitz = 5, + Quartz = 6, + Win32 = 7, + BeOS = 8, + DirectFB = 9, + SVG = 10, + OS2 = 11, + Win32Printing = 12, + QuartzImage = 13, + Script = 14, + QPainter = 15, + Recording = 16, + VG = 17, + GL = 18, + DRM = 19, + Tee = 20, + XML = 21, + Skia = 22, + Subsurface = 23, + Max = 24, +} +#[repr(i32)] +#[derive(Debug, Copy, Clone)] +pub enum gfxContentType { + COLOR = 4096, + ALPHA = 8192, + COLOR_ALPHA = 12288, + SENTINEL = 65535, +} +pub type Float = f32; +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum SurfaceType { + DATA = 0, + D2D1_BITMAP = 1, + D2D1_DRAWTARGET = 2, + CAIRO = 3, + CAIRO_IMAGE = 4, + COREGRAPHICS_IMAGE = 5, + COREGRAPHICS_CGCONTEXT = 6, + SKIA = 7, + DUAL_DT = 8, + D2D1_1_IMAGE = 9, + RECORDING = 10, + TILED = 11, +} +pub const A8R8G8B8_UINT32: SurfaceFormat = SurfaceFormat::B8G8R8A8; +pub const X8R8G8B8_UINT32: SurfaceFormat = SurfaceFormat::B8G8R8X8; +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum SurfaceFormat { + B8G8R8A8 = 0, + B8G8R8X8 = 1, + R8G8B8A8 = 2, + R8G8B8X8 = 3, + A8R8G8B8 = 4, + X8R8G8B8 = 5, + R5G6B5_UINT16 = 6, + A8 = 7, + YUV = 8, + NV12 = 9, + YUV422 = 10, + UNKNOWN = 11, +} +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum FilterType { + BLEND = 0, + TRANSFORM = 1, + MORPHOLOGY = 2, + COLOR_MATRIX = 3, + FLOOD = 4, + TILE = 5, + TABLE_TRANSFER = 6, + DISCRETE_TRANSFER = 7, + LINEAR_TRANSFER = 8, + GAMMA_TRANSFER = 9, + CONVOLVE_MATRIX = 10, + DISPLACEMENT_MAP = 11, + TURBULENCE = 12, + ARITHMETIC_COMBINE = 13, + COMPOSITE = 14, + DIRECTIONAL_BLUR = 15, + GAUSSIAN_BLUR = 16, + POINT_DIFFUSE = 17, + POINT_SPECULAR = 18, + SPOT_DIFFUSE = 19, + SPOT_SPECULAR = 20, + DISTANT_DIFFUSE = 21, + DISTANT_SPECULAR = 22, + CROP = 23, + PREMULTIPLY = 24, + UNPREMULTIPLY = 25, +} +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum DrawTargetType { + SOFTWARE_RASTER = 0, + HARDWARE_RASTER = 1, + VECTOR = 2, +} +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum BackendType { + NONE = 0, + DIRECT2D = 1, + COREGRAPHICS = 2, + COREGRAPHICS_ACCELERATED = 3, + CAIRO = 4, + SKIA = 5, + RECORDING = 6, + DIRECT2D1_1 = 7, +} +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum FontType { + DWRITE = 0, + GDI = 1, + MAC = 2, + SKIA = 3, + CAIRO = 4, + COREGRAPHICS = 5, +} +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum NativeSurfaceType { + D3D10_TEXTURE = 0, + CAIRO_CONTEXT = 1, + CGCONTEXT = 2, + CGCONTEXT_ACCELERATED = 3, + OPENGL_TEXTURE = 4, +} +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum NativeFontType { + DWRITE_FONT_FACE = 0, + GDI_FONT_FACE = 1, + MAC_FONT_FACE = 2, + SKIA_FONT_FACE = 3, + CAIRO_FONT_FACE = 4, +} +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum FontStyle { NORMAL = 0, ITALIC = 1, BOLD = 2, BOLD_ITALIC = 3, } +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum FontHinting { NONE = 0, LIGHT = 1, NORMAL = 2, FULL = 3, } +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum CompositionOp { + OP_OVER = 0, + OP_ADD = 1, + OP_ATOP = 2, + OP_OUT = 3, + OP_IN = 4, + OP_SOURCE = 5, + OP_DEST_IN = 6, + OP_DEST_OUT = 7, + OP_DEST_OVER = 8, + OP_DEST_ATOP = 9, + OP_XOR = 10, + OP_MULTIPLY = 11, + OP_SCREEN = 12, + OP_OVERLAY = 13, + OP_DARKEN = 14, + OP_LIGHTEN = 15, + OP_COLOR_DODGE = 16, + OP_COLOR_BURN = 17, + OP_HARD_LIGHT = 18, + OP_SOFT_LIGHT = 19, + OP_DIFFERENCE = 20, + OP_EXCLUSION = 21, + OP_HUE = 22, + OP_SATURATION = 23, + OP_COLOR = 24, + OP_LUMINOSITY = 25, + OP_COUNT = 26, +} +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum Axis { X_AXIS = 0, Y_AXIS = 1, BOTH = 2, } +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum ExtendMode { + CLAMP = 0, + REPEAT = 1, + REPEAT_X = 2, + REPEAT_Y = 3, + REFLECT = 4, +} +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum FillRule { FILL_WINDING = 0, FILL_EVEN_ODD = 1, } +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum AntialiasMode { NONE = 0, GRAY = 1, SUBPIXEL = 2, DEFAULT = 3, } +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum Filter { GOOD = 0, LINEAR = 1, POINT = 2, SENTINEL = 3, } +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum PatternType { + COLOR = 0, + SURFACE = 1, + LINEAR_GRADIENT = 2, + RADIAL_GRADIENT = 3, +} +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum JoinStyle { BEVEL = 0, ROUND = 1, MITER = 2, MITER_OR_BEVEL = 3, } +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum CapStyle { BUTT = 0, ROUND = 1, SQUARE = 2, } +#[repr(i8)] +#[derive(Debug, Copy, Clone)] +pub enum SamplingBounds { UNBOUNDED = 0, BOUNDED = 1, } +#[repr(C)] +#[derive(Debug, Copy)] +pub struct Color { + pub r: Float, + pub g: Float, + pub b: Float, + pub a: Float, +} +impl ::std::clone::Clone for Color { + fn clone(&self) -> Self { *self } +} +#[test] +fn bindgen_test_layout_Color() { + assert_eq!(::std::mem::size_of::<Color>() , 16usize); + assert_eq!(::std::mem::align_of::<Color>() , 4usize); +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct GradientStop { + pub offset: Float, + pub color: Color, +} +impl ::std::clone::Clone for GradientStop { + fn clone(&self) -> Self { *self } +} +#[test] +fn bindgen_test_layout_GradientStop() { + assert_eq!(::std::mem::size_of::<GradientStop>() , 20usize); + assert_eq!(::std::mem::align_of::<GradientStop>() , 4usize); +} +#[repr(i32)] +#[derive(Debug, Copy, Clone)] +pub enum JobStatus { Complete = 0, Wait = 1, Yield = 2, Error = 3, } +pub type gfxImageFormat = SurfaceFormat; +#[repr(C)] +#[derive(Debug, Copy)] +pub struct RectCorner; +#[repr(u32)] +#[derive(Debug, Copy, Clone)] +pub enum RectCorner_Types_h_unnamed_5 { + TopLeft = 0, + TopRight = 1, + BottomRight = 2, + BottomLeft = 3, + Count = 4, +} +impl ::std::clone::Clone for RectCorner { + fn clone(&self) -> Self { *self } +} +#[repr(u32)] +#[derive(Debug, Copy, Clone)] +pub enum Side { + eSideTop = 0, + eSideRight = 1, + eSideBottom = 2, + eSideLeft = 3, +} +#[repr(u32)] +#[derive(Debug, Copy, Clone)] +pub enum SideBits { + eSideBitsNone = 0, + eSideBitsTop = 1, + eSideBitsRight = 2, + eSideBitsBottom = 4, + eSideBitsLeft = 8, + eSideBitsTopBottom = 5, + eSideBitsLeftRight = 10, + eSideBitsAll = 15, +} pub type nscoord = i32; #[repr(C)] pub struct nsIntPoint { @@ -2518,6 +2867,7 @@ pub enum QuotedName { eQuotedName = 0, eUnquotedName = 1, } * a font type indicated named family or which generic family */ #[repr(C)] +#[derive(Debug)] pub struct FontFamilyName { pub mType: FontFamilyType, pub mName: nsString, @@ -2557,6 +2907,7 @@ fn bindgen_test_layout_gfxFontFeature() { assert_eq!(::std::mem::align_of::<gfxFontFeature>() , 4usize); } #[repr(C)] +#[derive(Debug)] pub struct gfxAlternateValue { pub alternate: u32, pub value: nsString, @@ -2655,11 +3006,11 @@ impl ::std::clone::Clone for nsIURI { fn clone(&self) -> Self { *self } } pub const eCSSProperty_COUNT_DUMMY: nsCSSProperty = - nsCSSProperty::eCSSProperty__x_text_zoom; -pub const eCSSProperty__moz_outline_radius: nsCSSProperty = + nsCSSProperty::eCSSProperty_z_index; +pub const eCSSProperty_all: nsCSSProperty = nsCSSProperty::eCSSProperty_COUNT_no_shorthands; pub const eCSSProperty_COUNT_DUMMY2: nsCSSProperty = - nsCSSProperty::eCSSProperty__moz_transform; + nsCSSProperty::eCSSProperty_transition; pub const eCSSPropertyAlias_MozTransformOrigin: nsCSSProperty = nsCSSProperty::eCSSProperty_COUNT; pub const eCSSProperty_COUNT_DUMMY3: nsCSSProperty = @@ -2670,48 +3021,48 @@ pub const eCSSPropertyExtra_no_properties: nsCSSProperty = #[derive(Debug, Copy, Clone)] pub enum nsCSSProperty { eCSSProperty_UNKNOWN = -1, - eCSSProperty_appearance = 0, - eCSSProperty__moz_outline_radius_topLeft = 1, - eCSSProperty__moz_outline_radius_topRight = 2, - eCSSProperty__moz_outline_radius_bottomRight = 3, - eCSSProperty__moz_outline_radius_bottomLeft = 4, - eCSSProperty__moz_tab_size = 5, - eCSSProperty__x_system_font = 6, - eCSSProperty_animation_delay = 7, - eCSSProperty_animation_direction = 8, - eCSSProperty_animation_duration = 9, - eCSSProperty_animation_fill_mode = 10, - eCSSProperty_animation_iteration_count = 11, - eCSSProperty_animation_name = 12, - eCSSProperty_animation_play_state = 13, - eCSSProperty_animation_timing_function = 14, - eCSSProperty_background_attachment = 15, - eCSSProperty_background_clip = 16, - eCSSProperty_background_color = 17, - eCSSProperty_background_image = 18, - eCSSProperty_background_blend_mode = 19, - eCSSProperty_background_origin = 20, - eCSSProperty_background_position = 21, - eCSSProperty_background_repeat = 22, - eCSSProperty_background_size = 23, - eCSSProperty_binding = 24, - eCSSProperty_block_size = 25, - eCSSProperty_border_block_end_color = 26, - eCSSProperty_border_block_end_style = 27, - eCSSProperty_border_block_end_width = 28, - eCSSProperty_border_block_start_color = 29, - eCSSProperty_border_block_start_style = 30, - eCSSProperty_border_block_start_width = 31, - eCSSProperty_border_bottom_color = 32, - eCSSProperty_border_bottom_colors = 33, + eCSSProperty_align_content = 0, + eCSSProperty_align_items = 1, + eCSSProperty_align_self = 2, + eCSSProperty_animation_delay = 3, + eCSSProperty_animation_direction = 4, + eCSSProperty_animation_duration = 5, + eCSSProperty_animation_fill_mode = 6, + eCSSProperty_animation_iteration_count = 7, + eCSSProperty_animation_name = 8, + eCSSProperty_animation_play_state = 9, + eCSSProperty_animation_timing_function = 10, + eCSSProperty_appearance = 11, + eCSSProperty_backface_visibility = 12, + eCSSProperty_background_attachment = 13, + eCSSProperty_background_blend_mode = 14, + eCSSProperty_background_clip = 15, + eCSSProperty_background_color = 16, + eCSSProperty_background_image = 17, + eCSSProperty_background_origin = 18, + eCSSProperty_background_position = 19, + eCSSProperty_background_repeat = 20, + eCSSProperty_background_size = 21, + eCSSProperty_binding = 22, + eCSSProperty_block_size = 23, + eCSSProperty_border_block_end_color = 24, + eCSSProperty_border_block_end_style = 25, + eCSSProperty_border_block_end_width = 26, + eCSSProperty_border_block_start_color = 27, + eCSSProperty_border_block_start_style = 28, + eCSSProperty_border_block_start_width = 29, + eCSSProperty_border_bottom_color = 30, + eCSSProperty_border_bottom_colors = 31, + eCSSProperty_border_bottom_left_radius = 32, + eCSSProperty_border_bottom_right_radius = 33, eCSSProperty_border_bottom_style = 34, eCSSProperty_border_bottom_width = 35, eCSSProperty_border_collapse = 36, - eCSSProperty_border_image_source = 37, - eCSSProperty_border_image_slice = 38, - eCSSProperty_border_image_width = 39, - eCSSProperty_border_image_outset = 40, - eCSSProperty_border_image_repeat = 41, + eCSSProperty_border_image_outset = 37, + eCSSProperty_border_image_repeat = 38, + eCSSProperty_border_image_slice = 39, + eCSSProperty_border_image_source = 40, + eCSSProperty_border_image_width = 41, eCSSProperty_border_inline_end_color = 42, eCSSProperty_border_inline_end_style = 43, eCSSProperty_border_inline_end_width = 44, @@ -2729,290 +3080,290 @@ pub enum nsCSSProperty { eCSSProperty_border_spacing = 56, eCSSProperty_border_top_color = 57, eCSSProperty_border_top_colors = 58, - eCSSProperty_border_top_style = 59, - eCSSProperty_border_top_width = 60, - eCSSProperty_border_top_left_radius = 61, - eCSSProperty_border_top_right_radius = 62, - eCSSProperty_border_bottom_right_radius = 63, - eCSSProperty_border_bottom_left_radius = 64, - eCSSProperty_bottom = 65, - eCSSProperty_box_decoration_break = 66, - eCSSProperty_box_shadow = 67, - eCSSProperty_box_sizing = 68, - eCSSProperty_caption_side = 69, - eCSSProperty_clear = 70, - eCSSProperty_clip = 71, - eCSSProperty_color = 72, - eCSSProperty_color_adjust = 73, - eCSSProperty__moz_column_count = 74, - eCSSProperty__moz_column_fill = 75, - eCSSProperty__moz_column_width = 76, - eCSSProperty__moz_column_gap = 77, - eCSSProperty__moz_column_rule_color = 78, - eCSSProperty__moz_column_rule_style = 79, - eCSSProperty__moz_column_rule_width = 80, - eCSSProperty_contain = 81, - eCSSProperty_content = 82, - eCSSProperty__moz_control_character_visibility = 83, - eCSSProperty_counter_increment = 84, - eCSSProperty_counter_reset = 85, - eCSSProperty_cursor = 86, - eCSSProperty_direction = 87, - eCSSProperty_display = 88, - eCSSProperty_empty_cells = 89, - eCSSProperty_align_content = 90, - eCSSProperty_align_items = 91, - eCSSProperty_align_self = 92, - eCSSProperty_flex_basis = 93, - eCSSProperty_flex_direction = 94, - eCSSProperty_webkit_box_orient = 95, - eCSSProperty_flex_grow = 96, - eCSSProperty_flex_shrink = 97, - eCSSProperty_flex_wrap = 98, - eCSSProperty_order = 99, - eCSSProperty_justify_content = 100, - eCSSProperty_justify_items = 101, - eCSSProperty_justify_self = 102, - eCSSProperty_float = 103, - eCSSProperty_float_edge = 104, - eCSSProperty_font_family = 105, - eCSSProperty_font_feature_settings = 106, - eCSSProperty_font_kerning = 107, - eCSSProperty_font_language_override = 108, - eCSSProperty_font_size = 109, - eCSSProperty_font_size_adjust = 110, - eCSSProperty_osx_font_smoothing = 111, - eCSSProperty_font_stretch = 112, - eCSSProperty_font_style = 113, - eCSSProperty_font_synthesis = 114, - eCSSProperty_font_variant_alternates = 115, - eCSSProperty_font_variant_caps = 116, - eCSSProperty_font_variant_east_asian = 117, - eCSSProperty_font_variant_ligatures = 118, - eCSSProperty_font_variant_numeric = 119, - eCSSProperty_font_variant_position = 120, - eCSSProperty_font_weight = 121, - eCSSProperty_force_broken_image_icon = 122, - eCSSProperty_grid_auto_flow = 123, - eCSSProperty_grid_auto_columns = 124, - eCSSProperty_grid_auto_rows = 125, - eCSSProperty_grid_template_areas = 126, - eCSSProperty_grid_template_columns = 127, - eCSSProperty_grid_template_rows = 128, - eCSSProperty_grid_column_start = 129, - eCSSProperty_grid_column_end = 130, - eCSSProperty_grid_row_start = 131, - eCSSProperty_grid_row_end = 132, - eCSSProperty_grid_column_gap = 133, - eCSSProperty_grid_row_gap = 134, - eCSSProperty_height = 135, - eCSSProperty_image_orientation = 136, - eCSSProperty_image_region = 137, - eCSSProperty_ime_mode = 138, - eCSSProperty_inline_size = 139, - eCSSProperty_left = 140, - eCSSProperty_letter_spacing = 141, - eCSSProperty_line_height = 142, - eCSSProperty_list_style_image = 143, - eCSSProperty_list_style_position = 144, - eCSSProperty_list_style_type = 145, - eCSSProperty_margin_block_end = 146, - eCSSProperty_margin_block_start = 147, - eCSSProperty_margin_bottom = 148, - eCSSProperty_margin_inline_end = 149, - eCSSProperty_margin_inline_start = 150, - eCSSProperty_margin_left = 151, - eCSSProperty_margin_right = 152, - eCSSProperty_margin_top = 153, - eCSSProperty_marker_offset = 154, - eCSSProperty_max_block_size = 155, - eCSSProperty_max_height = 156, - eCSSProperty_max_inline_size = 157, - eCSSProperty_max_width = 158, - eCSSProperty__moz_min_font_size_ratio = 159, - eCSSProperty_min_height = 160, - eCSSProperty_min_block_size = 161, - eCSSProperty_min_inline_size = 162, - eCSSProperty_min_width = 163, - eCSSProperty_mix_blend_mode = 164, - eCSSProperty_isolation = 165, - eCSSProperty_object_fit = 166, - eCSSProperty_object_position = 167, - eCSSProperty_offset_block_end = 168, - eCSSProperty_offset_block_start = 169, - eCSSProperty_offset_inline_end = 170, - eCSSProperty_offset_inline_start = 171, - eCSSProperty_opacity = 172, - eCSSProperty_orient = 173, - eCSSProperty_outline_color = 174, - eCSSProperty_outline_style = 175, - eCSSProperty_outline_width = 176, - eCSSProperty_outline_offset = 177, - eCSSProperty_overflow_clip_box = 178, - eCSSProperty_overflow_x = 179, - eCSSProperty_overflow_y = 180, - eCSSProperty_padding_block_end = 181, - eCSSProperty_padding_block_start = 182, - eCSSProperty_padding_bottom = 183, - eCSSProperty_padding_inline_end = 184, - eCSSProperty_padding_inline_start = 185, - eCSSProperty_padding_left = 186, - eCSSProperty_padding_right = 187, - eCSSProperty_padding_top = 188, - eCSSProperty_page_break_after = 189, - eCSSProperty_page_break_before = 190, - eCSSProperty_page_break_inside = 191, - eCSSProperty_paint_order = 192, - eCSSProperty_pointer_events = 193, - eCSSProperty_position = 194, - eCSSProperty_quotes = 195, - eCSSProperty_resize = 196, - eCSSProperty_right = 197, - eCSSProperty_ruby_align = 198, - eCSSProperty_ruby_position = 199, - eCSSProperty_scroll_behavior = 200, - eCSSProperty_scroll_snap_coordinate = 201, - eCSSProperty_scroll_snap_destination = 202, - eCSSProperty_scroll_snap_points_x = 203, - eCSSProperty_scroll_snap_points_y = 204, - eCSSProperty_scroll_snap_type_x = 205, - eCSSProperty_scroll_snap_type_y = 206, - eCSSProperty_table_layout = 207, - eCSSProperty_text_align = 208, - eCSSProperty_text_align_last = 209, - eCSSProperty_text_combine_upright = 210, - eCSSProperty_text_decoration_color = 211, - eCSSProperty_text_decoration_line = 212, - eCSSProperty_text_decoration_style = 213, - eCSSProperty_text_emphasis_color = 214, - eCSSProperty_text_emphasis_position = 215, - eCSSProperty_text_emphasis_style = 216, - eCSSProperty__webkit_text_fill_color = 217, - eCSSProperty_text_indent = 218, - eCSSProperty_text_orientation = 219, - eCSSProperty_text_overflow = 220, - eCSSProperty_text_shadow = 221, - eCSSProperty_text_size_adjust = 222, - eCSSProperty_text_transform = 223, - eCSSProperty_transform = 224, - eCSSProperty_transform_box = 225, - eCSSProperty_transform_origin = 226, - eCSSProperty_perspective_origin = 227, - eCSSProperty_perspective = 228, - eCSSProperty_transform_style = 229, - eCSSProperty_backface_visibility = 230, - eCSSProperty_top = 231, - eCSSProperty__moz_top_layer = 232, - eCSSProperty_touch_action = 233, - eCSSProperty_transition_delay = 234, - eCSSProperty_transition_duration = 235, - eCSSProperty_transition_property = 236, - eCSSProperty_transition_timing_function = 237, - eCSSProperty_unicode_bidi = 238, - eCSSProperty_user_focus = 239, - eCSSProperty_user_input = 240, - eCSSProperty_user_modify = 241, - eCSSProperty_user_select = 242, - eCSSProperty_vertical_align = 243, - eCSSProperty_visibility = 244, - eCSSProperty_white_space = 245, - eCSSProperty_width = 246, - eCSSProperty__moz_window_dragging = 247, - eCSSProperty__moz_window_shadow = 248, - eCSSProperty_word_break = 249, - eCSSProperty_word_spacing = 250, - eCSSProperty_word_wrap = 251, - eCSSProperty_hyphens = 252, - eCSSProperty_writing_mode = 253, - eCSSProperty_z_index = 254, - eCSSProperty_box_align = 255, - eCSSProperty_box_direction = 256, - eCSSProperty_box_flex = 257, - eCSSProperty_box_orient = 258, - eCSSProperty_box_pack = 259, - eCSSProperty_box_ordinal_group = 260, - eCSSProperty_stack_sizing = 261, - eCSSProperty_script_level = 262, - eCSSProperty_script_size_multiplier = 263, - eCSSProperty_script_min_size = 264, - eCSSProperty_math_variant = 265, - eCSSProperty_math_display = 266, - eCSSProperty_clip_path = 267, - eCSSProperty_clip_rule = 268, - eCSSProperty_color_interpolation = 269, - eCSSProperty_color_interpolation_filters = 270, - eCSSProperty_dominant_baseline = 271, - eCSSProperty_fill = 272, - eCSSProperty_fill_opacity = 273, - eCSSProperty_fill_rule = 274, - eCSSProperty_filter = 275, - eCSSProperty_flood_color = 276, - eCSSProperty_flood_opacity = 277, - eCSSProperty_image_rendering = 278, - eCSSProperty_lighting_color = 279, - eCSSProperty_marker_end = 280, - eCSSProperty_marker_mid = 281, - eCSSProperty_marker_start = 282, - eCSSProperty_mask = 283, - eCSSProperty_mask_type = 284, - eCSSProperty_shape_rendering = 285, - eCSSProperty_stop_color = 286, - eCSSProperty_stop_opacity = 287, - eCSSProperty_stroke = 288, - eCSSProperty_stroke_dasharray = 289, - eCSSProperty_stroke_dashoffset = 290, - eCSSProperty_stroke_linecap = 291, - eCSSProperty_stroke_linejoin = 292, - eCSSProperty_stroke_miterlimit = 293, - eCSSProperty_stroke_opacity = 294, - eCSSProperty_stroke_width = 295, - eCSSProperty_text_anchor = 296, - eCSSProperty_text_rendering = 297, - eCSSProperty_vector_effect = 298, - eCSSProperty_will_change = 299, - eCSSProperty__x_lang = 300, - eCSSProperty__x_span = 301, - eCSSProperty__x_text_zoom = 302, + eCSSProperty_border_top_left_radius = 59, + eCSSProperty_border_top_right_radius = 60, + eCSSProperty_border_top_style = 61, + eCSSProperty_border_top_width = 62, + eCSSProperty_bottom = 63, + eCSSProperty_box_align = 64, + eCSSProperty_box_decoration_break = 65, + eCSSProperty_box_direction = 66, + eCSSProperty_box_flex = 67, + eCSSProperty_box_ordinal_group = 68, + eCSSProperty_box_orient = 69, + eCSSProperty_webkit_box_orient = 70, + eCSSProperty_box_pack = 71, + eCSSProperty_box_shadow = 72, + eCSSProperty_box_sizing = 73, + eCSSProperty_caption_side = 74, + eCSSProperty_clear = 75, + eCSSProperty_clip = 76, + eCSSProperty_clip_path = 77, + eCSSProperty_clip_rule = 78, + eCSSProperty_color = 79, + eCSSProperty_color_adjust = 80, + eCSSProperty_color_interpolation = 81, + eCSSProperty_color_interpolation_filters = 82, + eCSSProperty__moz_column_count = 83, + eCSSProperty__moz_column_fill = 84, + eCSSProperty__moz_column_gap = 85, + eCSSProperty__moz_column_rule_color = 86, + eCSSProperty__moz_column_rule_style = 87, + eCSSProperty__moz_column_rule_width = 88, + eCSSProperty__moz_column_width = 89, + eCSSProperty_contain = 90, + eCSSProperty_content = 91, + eCSSProperty__moz_control_character_visibility = 92, + eCSSProperty_counter_increment = 93, + eCSSProperty_counter_reset = 94, + eCSSProperty_cursor = 95, + eCSSProperty_direction = 96, + eCSSProperty_display = 97, + eCSSProperty_dominant_baseline = 98, + eCSSProperty_empty_cells = 99, + eCSSProperty_fill = 100, + eCSSProperty_fill_opacity = 101, + eCSSProperty_fill_rule = 102, + eCSSProperty_filter = 103, + eCSSProperty_flex_basis = 104, + eCSSProperty_flex_direction = 105, + eCSSProperty_flex_grow = 106, + eCSSProperty_flex_shrink = 107, + eCSSProperty_flex_wrap = 108, + eCSSProperty_float = 109, + eCSSProperty_float_edge = 110, + eCSSProperty_flood_color = 111, + eCSSProperty_flood_opacity = 112, + eCSSProperty_font_family = 113, + eCSSProperty_font_feature_settings = 114, + eCSSProperty_font_kerning = 115, + eCSSProperty_font_language_override = 116, + eCSSProperty_font_size = 117, + eCSSProperty_font_size_adjust = 118, + eCSSProperty_font_stretch = 119, + eCSSProperty_font_style = 120, + eCSSProperty_font_synthesis = 121, + eCSSProperty_font_variant_alternates = 122, + eCSSProperty_font_variant_caps = 123, + eCSSProperty_font_variant_east_asian = 124, + eCSSProperty_font_variant_ligatures = 125, + eCSSProperty_font_variant_numeric = 126, + eCSSProperty_font_variant_position = 127, + eCSSProperty_font_weight = 128, + eCSSProperty_force_broken_image_icon = 129, + eCSSProperty_grid_auto_columns = 130, + eCSSProperty_grid_auto_flow = 131, + eCSSProperty_grid_auto_rows = 132, + eCSSProperty_grid_column_end = 133, + eCSSProperty_grid_column_gap = 134, + eCSSProperty_grid_column_start = 135, + eCSSProperty_grid_row_end = 136, + eCSSProperty_grid_row_gap = 137, + eCSSProperty_grid_row_start = 138, + eCSSProperty_grid_template_areas = 139, + eCSSProperty_grid_template_columns = 140, + eCSSProperty_grid_template_rows = 141, + eCSSProperty_height = 142, + eCSSProperty_hyphens = 143, + eCSSProperty_image_orientation = 144, + eCSSProperty_image_region = 145, + eCSSProperty_image_rendering = 146, + eCSSProperty_ime_mode = 147, + eCSSProperty_inline_size = 148, + eCSSProperty_isolation = 149, + eCSSProperty_justify_content = 150, + eCSSProperty_justify_items = 151, + eCSSProperty_justify_self = 152, + eCSSProperty__x_lang = 153, + eCSSProperty_left = 154, + eCSSProperty_letter_spacing = 155, + eCSSProperty_lighting_color = 156, + eCSSProperty_line_height = 157, + eCSSProperty_list_style_image = 158, + eCSSProperty_list_style_position = 159, + eCSSProperty_list_style_type = 160, + eCSSProperty_margin_block_end = 161, + eCSSProperty_margin_block_start = 162, + eCSSProperty_margin_bottom = 163, + eCSSProperty_margin_inline_end = 164, + eCSSProperty_margin_inline_start = 165, + eCSSProperty_margin_left = 166, + eCSSProperty_margin_right = 167, + eCSSProperty_margin_top = 168, + eCSSProperty_marker_end = 169, + eCSSProperty_marker_mid = 170, + eCSSProperty_marker_offset = 171, + eCSSProperty_marker_start = 172, + eCSSProperty_mask = 173, + eCSSProperty_mask_type = 174, + eCSSProperty_math_display = 175, + eCSSProperty_math_variant = 176, + eCSSProperty_max_block_size = 177, + eCSSProperty_max_height = 178, + eCSSProperty_max_inline_size = 179, + eCSSProperty_max_width = 180, + eCSSProperty_min_block_size = 181, + eCSSProperty__moz_min_font_size_ratio = 182, + eCSSProperty_min_height = 183, + eCSSProperty_min_inline_size = 184, + eCSSProperty_min_width = 185, + eCSSProperty_mix_blend_mode = 186, + eCSSProperty_object_fit = 187, + eCSSProperty_object_position = 188, + eCSSProperty_offset_block_end = 189, + eCSSProperty_offset_block_start = 190, + eCSSProperty_offset_inline_end = 191, + eCSSProperty_offset_inline_start = 192, + eCSSProperty_opacity = 193, + eCSSProperty_order = 194, + eCSSProperty_orient = 195, + eCSSProperty_osx_font_smoothing = 196, + eCSSProperty_outline_color = 197, + eCSSProperty_outline_offset = 198, + eCSSProperty__moz_outline_radius_bottomLeft = 199, + eCSSProperty__moz_outline_radius_bottomRight = 200, + eCSSProperty__moz_outline_radius_topLeft = 201, + eCSSProperty__moz_outline_radius_topRight = 202, + eCSSProperty_outline_style = 203, + eCSSProperty_outline_width = 204, + eCSSProperty_overflow_clip_box = 205, + eCSSProperty_overflow_x = 206, + eCSSProperty_overflow_y = 207, + eCSSProperty_padding_block_end = 208, + eCSSProperty_padding_block_start = 209, + eCSSProperty_padding_bottom = 210, + eCSSProperty_padding_inline_end = 211, + eCSSProperty_padding_inline_start = 212, + eCSSProperty_padding_left = 213, + eCSSProperty_padding_right = 214, + eCSSProperty_padding_top = 215, + eCSSProperty_page_break_after = 216, + eCSSProperty_page_break_before = 217, + eCSSProperty_page_break_inside = 218, + eCSSProperty_paint_order = 219, + eCSSProperty_perspective = 220, + eCSSProperty_perspective_origin = 221, + eCSSProperty_pointer_events = 222, + eCSSProperty_position = 223, + eCSSProperty_quotes = 224, + eCSSProperty_resize = 225, + eCSSProperty_right = 226, + eCSSProperty_ruby_align = 227, + eCSSProperty_ruby_position = 228, + eCSSProperty_script_level = 229, + eCSSProperty_script_min_size = 230, + eCSSProperty_script_size_multiplier = 231, + eCSSProperty_scroll_behavior = 232, + eCSSProperty_scroll_snap_coordinate = 233, + eCSSProperty_scroll_snap_destination = 234, + eCSSProperty_scroll_snap_points_x = 235, + eCSSProperty_scroll_snap_points_y = 236, + eCSSProperty_scroll_snap_type_x = 237, + eCSSProperty_scroll_snap_type_y = 238, + eCSSProperty_shape_rendering = 239, + eCSSProperty__x_span = 240, + eCSSProperty_stack_sizing = 241, + eCSSProperty_stop_color = 242, + eCSSProperty_stop_opacity = 243, + eCSSProperty_stroke = 244, + eCSSProperty_stroke_dasharray = 245, + eCSSProperty_stroke_dashoffset = 246, + eCSSProperty_stroke_linecap = 247, + eCSSProperty_stroke_linejoin = 248, + eCSSProperty_stroke_miterlimit = 249, + eCSSProperty_stroke_opacity = 250, + eCSSProperty_stroke_width = 251, + eCSSProperty__x_system_font = 252, + eCSSProperty__moz_tab_size = 253, + eCSSProperty_table_layout = 254, + eCSSProperty_text_align = 255, + eCSSProperty_text_align_last = 256, + eCSSProperty_text_anchor = 257, + eCSSProperty_text_combine_upright = 258, + eCSSProperty_text_decoration_color = 259, + eCSSProperty_text_decoration_line = 260, + eCSSProperty_text_decoration_style = 261, + eCSSProperty_text_emphasis_color = 262, + eCSSProperty_text_emphasis_position = 263, + eCSSProperty_text_emphasis_style = 264, + eCSSProperty__webkit_text_fill_color = 265, + eCSSProperty_text_indent = 266, + eCSSProperty_text_orientation = 267, + eCSSProperty_text_overflow = 268, + eCSSProperty_text_rendering = 269, + eCSSProperty_text_shadow = 270, + eCSSProperty_text_size_adjust = 271, + eCSSProperty_text_transform = 272, + eCSSProperty__x_text_zoom = 273, + eCSSProperty_top = 274, + eCSSProperty__moz_top_layer = 275, + eCSSProperty_touch_action = 276, + eCSSProperty_transform = 277, + eCSSProperty_transform_box = 278, + eCSSProperty_transform_origin = 279, + eCSSProperty_transform_style = 280, + eCSSProperty_transition_delay = 281, + eCSSProperty_transition_duration = 282, + eCSSProperty_transition_property = 283, + eCSSProperty_transition_timing_function = 284, + eCSSProperty_unicode_bidi = 285, + eCSSProperty_user_focus = 286, + eCSSProperty_user_input = 287, + eCSSProperty_user_modify = 288, + eCSSProperty_user_select = 289, + eCSSProperty_vector_effect = 290, + eCSSProperty_vertical_align = 291, + eCSSProperty_visibility = 292, + eCSSProperty_white_space = 293, + eCSSProperty_width = 294, + eCSSProperty_will_change = 295, + eCSSProperty__moz_window_dragging = 296, + eCSSProperty__moz_window_shadow = 297, + eCSSProperty_word_break = 298, + eCSSProperty_word_spacing = 299, + eCSSProperty_word_wrap = 300, + eCSSProperty_writing_mode = 301, + eCSSProperty_z_index = 302, eCSSProperty_COUNT_no_shorthands = 303, - eCSSProperty_all = 304, - eCSSProperty_animation = 305, - eCSSProperty_background = 306, - eCSSProperty_border = 307, - eCSSProperty_border_block_end = 308, - eCSSProperty_border_block_start = 309, - eCSSProperty_border_bottom = 310, - eCSSProperty_border_color = 311, - eCSSProperty_border_image = 312, - eCSSProperty_border_inline_end = 313, - eCSSProperty_border_inline_start = 314, - eCSSProperty_border_left = 315, + eCSSProperty_animation = 304, + eCSSProperty_background = 305, + eCSSProperty_border = 306, + eCSSProperty_border_block_end = 307, + eCSSProperty_border_block_start = 308, + eCSSProperty_border_bottom = 309, + eCSSProperty_border_color = 310, + eCSSProperty_border_image = 311, + eCSSProperty_border_inline_end = 312, + eCSSProperty_border_inline_start = 313, + eCSSProperty_border_left = 314, + eCSSProperty_border_radius = 315, eCSSProperty_border_right = 316, eCSSProperty_border_style = 317, eCSSProperty_border_top = 318, eCSSProperty_border_width = 319, - eCSSProperty_border_radius = 320, + eCSSProperty__moz_column_rule = 320, eCSSProperty__moz_columns = 321, - eCSSProperty__moz_column_rule = 322, - eCSSProperty_flex = 323, - eCSSProperty_flex_flow = 324, - eCSSProperty_font = 325, - eCSSProperty_font_variant = 326, - eCSSProperty_grid = 327, + eCSSProperty_flex = 322, + eCSSProperty_flex_flow = 323, + eCSSProperty_font = 324, + eCSSProperty_font_variant = 325, + eCSSProperty_grid = 326, + eCSSProperty_grid_area = 327, eCSSProperty_grid_column = 328, - eCSSProperty_grid_row = 329, - eCSSProperty_grid_area = 330, - eCSSProperty_grid_gap = 331, - eCSSProperty_list_style = 332, - eCSSProperty_margin = 333, + eCSSProperty_grid_gap = 329, + eCSSProperty_grid_row = 330, + eCSSProperty_list_style = 331, + eCSSProperty_margin = 332, + eCSSProperty_marker = 333, eCSSProperty_outline = 334, - eCSSProperty_overflow = 335, - eCSSProperty_padding = 336, - eCSSProperty_scroll_snap_type = 337, - eCSSProperty_text_decoration = 338, - eCSSProperty_text_emphasis = 339, - eCSSProperty_transition = 340, - eCSSProperty_marker = 341, - eCSSProperty__moz_transform = 342, + eCSSProperty__moz_outline_radius = 335, + eCSSProperty_overflow = 336, + eCSSProperty_padding = 337, + eCSSProperty_scroll_snap_type = 338, + eCSSProperty_text_decoration = 339, + eCSSProperty_text_emphasis = 340, + eCSSProperty__moz_transform = 341, + eCSSProperty_transition = 342, eCSSProperty_COUNT = 343, eCSSPropertyAlias_MozPerspectiveOrigin = 344, eCSSPropertyAlias_MozPerspective = 345, @@ -3151,6 +3502,7 @@ pub type nscolor = u32; * count is 1. */ #[repr(C)] +#[derive(Debug)] pub struct nsStringBuffer { pub mRefCount: u32, pub mStorageSize: u32, @@ -3180,6 +3532,7 @@ fn bindgen_test_layout_ImageValue() { assert_eq!(::std::mem::align_of::<ImageValue>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct GridNamedArea { pub mName: nsString, pub mColumnStart: u32, @@ -3302,16 +3655,17 @@ pub enum nsCSSUnit { eCSSUnit_FlexFraction = 4000, } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValue { pub mUnit: nsCSSUnit, - pub mValue: nsCSSValue_nsCSSValue_h_unnamed_7, + pub mValue: nsCSSValue_nsCSSValue_h_unnamed_8, } #[repr(u32)] #[derive(Debug, Copy, Clone)] pub enum nsCSSValue_Serialization { eNormalized = 0, eAuthorSpecified = 1, } #[repr(C)] -#[derive(Copy, Debug)] -pub struct nsCSSValue_nsCSSValue_h_unnamed_7 { +#[derive(Debug, Copy)] +pub struct nsCSSValue_nsCSSValue_h_unnamed_8 { pub mInt: __BindgenUnionField<i32>, pub mFloat: __BindgenUnionField<f32>, pub mString: __BindgenUnionField<*mut nsStringBuffer>, @@ -3334,15 +3688,15 @@ pub struct nsCSSValue_nsCSSValue_h_unnamed_7 { pub mFontFamilyList: __BindgenUnionField<*mut FontFamilyListRefCnt>, pub _bindgen_data_: u64, } -impl nsCSSValue_nsCSSValue_h_unnamed_7 { } -impl ::std::clone::Clone for nsCSSValue_nsCSSValue_h_unnamed_7 { +impl nsCSSValue_nsCSSValue_h_unnamed_8 { } +impl ::std::clone::Clone for nsCSSValue_nsCSSValue_h_unnamed_8 { fn clone(&self) -> Self { *self } } #[test] -fn bindgen_test_layout_nsCSSValue_nsCSSValue_h_unnamed_7() { - assert_eq!(::std::mem::size_of::<nsCSSValue_nsCSSValue_h_unnamed_7>() , +fn bindgen_test_layout_nsCSSValue_nsCSSValue_h_unnamed_8() { + assert_eq!(::std::mem::size_of::<nsCSSValue_nsCSSValue_h_unnamed_8>() , 8usize); - assert_eq!(::std::mem::align_of::<nsCSSValue_nsCSSValue_h_unnamed_7>() , + assert_eq!(::std::mem::align_of::<nsCSSValue_nsCSSValue_h_unnamed_8>() , 8usize); } #[test] @@ -3351,6 +3705,7 @@ fn bindgen_test_layout_nsCSSValue() { assert_eq!(::std::mem::align_of::<nsCSSValue>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct Array { pub mRefCnt: usize, pub mCount: usize, @@ -3362,6 +3717,7 @@ fn bindgen_test_layout_Array() { assert_eq!(::std::mem::align_of::<Array>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValueList { pub mValue: nsCSSValue, pub mNext: *mut nsCSSValueList, @@ -3372,6 +3728,7 @@ fn bindgen_test_layout_nsCSSValueList() { assert_eq!(::std::mem::align_of::<nsCSSValueList>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValueList_heap { pub _base: nsCSSValueList, pub mRefCnt: nsAutoRefCnt, @@ -3383,6 +3740,7 @@ fn bindgen_test_layout_nsCSSValueList_heap() { assert_eq!(::std::mem::align_of::<nsCSSValueList_heap>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValueSharedList { pub mRefCnt: nsAutoRefCnt, pub _mOwningThread: nsAutoOwningThread, @@ -3394,6 +3752,7 @@ fn bindgen_test_layout_nsCSSValueSharedList() { assert_eq!(::std::mem::align_of::<nsCSSValueSharedList>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSRect { pub mTop: nsCSSValue, pub mRight: nsCSSValue, @@ -3406,6 +3765,7 @@ fn bindgen_test_layout_nsCSSRect() { assert_eq!(::std::mem::align_of::<nsCSSRect>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSRect_heap { pub _base: nsCSSRect, pub mRefCnt: nsAutoRefCnt, @@ -3417,6 +3777,7 @@ fn bindgen_test_layout_nsCSSRect_heap() { assert_eq!(::std::mem::align_of::<nsCSSRect_heap>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValuePair { pub mXValue: nsCSSValue, pub mYValue: nsCSSValue, @@ -3427,6 +3788,7 @@ fn bindgen_test_layout_nsCSSValuePair() { assert_eq!(::std::mem::align_of::<nsCSSValuePair>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValuePair_heap { pub _base: nsCSSValuePair, pub mRefCnt: nsAutoRefCnt, @@ -3438,6 +3800,7 @@ fn bindgen_test_layout_nsCSSValuePair_heap() { assert_eq!(::std::mem::align_of::<nsCSSValuePair_heap>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValueTriplet { pub mXValue: nsCSSValue, pub mYValue: nsCSSValue, @@ -3449,6 +3812,7 @@ fn bindgen_test_layout_nsCSSValueTriplet() { assert_eq!(::std::mem::align_of::<nsCSSValueTriplet>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValueTriplet_heap { pub _base: nsCSSValueTriplet, pub mRefCnt: nsAutoRefCnt, @@ -3460,6 +3824,7 @@ fn bindgen_test_layout_nsCSSValueTriplet_heap() { assert_eq!(::std::mem::align_of::<nsCSSValueTriplet_heap>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValuePairList { pub mXValue: nsCSSValue, pub mYValue: nsCSSValue, @@ -3471,6 +3836,7 @@ fn bindgen_test_layout_nsCSSValuePairList() { assert_eq!(::std::mem::align_of::<nsCSSValuePairList>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValuePairList_heap { pub _base: nsCSSValuePairList, pub mRefCnt: nsAutoRefCnt, @@ -3482,6 +3848,7 @@ fn bindgen_test_layout_nsCSSValuePairList_heap() { assert_eq!(::std::mem::align_of::<nsCSSValuePairList_heap>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValueGradientStop { pub mLocation: nsCSSValue, pub mColor: nsCSSValue, @@ -3530,6 +3897,7 @@ fn bindgen_test_layout_nsCSSValueTokenStream() { assert_eq!(::std::mem::align_of::<nsCSSValueTokenStream>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSValueFloatColor { pub mRefCnt: nsAutoRefCnt, pub _mOwningThread: nsAutoOwningThread, @@ -3544,6 +3912,7 @@ fn bindgen_test_layout_nsCSSValueFloatColor() { assert_eq!(::std::mem::align_of::<nsCSSValueFloatColor>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSCornerSizes { pub mTopLeft: nsCSSValue, pub mTopRight: nsCSSValue, @@ -3616,7 +3985,7 @@ pub struct _vftable_nsIRequest { } #[repr(u32)] #[derive(Debug, Copy, Clone)] -pub enum nsIRequest_nsIRequest_h_unnamed_8 { +pub enum nsIRequest_nsIRequest_h_unnamed_9 { LOAD_REQUESTMASK = 65535, LOAD_NORMAL = 0, LOAD_BACKGROUND = 1, @@ -3660,6 +4029,7 @@ fn bindgen_test_layout_nsIAtom() { assert_eq!(::std::mem::align_of::<nsIAtom>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsAtomString { pub _base: nsString, } @@ -3669,6 +4039,7 @@ fn bindgen_test_layout_nsAtomString() { assert_eq!(::std::mem::align_of::<nsAtomString>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsAtomCString { pub _base: nsCString, } @@ -3678,13 +4049,9 @@ fn bindgen_test_layout_nsAtomCString() { assert_eq!(::std::mem::align_of::<nsAtomCString>() , 8usize); } #[repr(C)] -#[derive(Debug, Copy)] pub struct nsDependentAtomString { pub _base: [u64; 2usize], } -impl ::std::clone::Clone for nsDependentAtomString { - fn clone(&self) -> Self { *self } -} /** * A class for holding strong references to handle-managed objects. * @@ -3693,6 +4060,7 @@ impl ::std::clone::Clone for nsDependentAtomString { * and ->Release() called on it. */ #[repr(C)] +#[derive(Debug)] pub struct HandleRefPtr<T> { pub mHandle: T, } @@ -3723,6 +4091,7 @@ pub struct HandleRefPtr<T> { * (or a proxy for it) in which the object was allocated. */ #[repr(C)] +#[derive(Debug)] pub struct ArenaRefPtr<T> { pub mPtr: RefPtr<T>, pub _phantom0: ::std::marker::PhantomData<T>, @@ -3762,23 +4131,23 @@ pub enum nsStyleUnit { eStyleUnit_Calc = 40, } #[repr(C)] -#[derive(Copy, Debug)] -pub struct nsStyleCoord_h_unnamed_9 { +#[derive(Debug, Copy)] +pub struct nsStyleCoord_h_unnamed_10 { pub mInt: __BindgenUnionField<i32>, pub mFloat: __BindgenUnionField<f32>, pub mPointer: __BindgenUnionField<*mut ::std::os::raw::c_void>, pub _bindgen_data_: u64, } -impl nsStyleCoord_h_unnamed_9 { } -impl ::std::clone::Clone for nsStyleCoord_h_unnamed_9 { +impl nsStyleCoord_h_unnamed_10 { } +impl ::std::clone::Clone for nsStyleCoord_h_unnamed_10 { fn clone(&self) -> Self { *self } } #[test] -fn bindgen_test_layout_nsStyleCoord_h_unnamed_9() { - assert_eq!(::std::mem::size_of::<nsStyleCoord_h_unnamed_9>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStyleCoord_h_unnamed_9>() , 8usize); +fn bindgen_test_layout_nsStyleCoord_h_unnamed_10() { + assert_eq!(::std::mem::size_of::<nsStyleCoord_h_unnamed_10>() , 8usize); + assert_eq!(::std::mem::align_of::<nsStyleCoord_h_unnamed_10>() , 8usize); } -pub type nsStyleUnion = nsStyleCoord_h_unnamed_9; +pub type nsStyleUnion = nsStyleCoord_h_unnamed_10; /** * Class that hold a single size specification used by the style * system. The size specification consists of two parts -- a number @@ -3788,6 +4157,7 @@ pub type nsStyleUnion = nsStyleCoord_h_unnamed_9; * form. */ #[repr(C)] +#[derive(Debug)] pub struct nsStyleCoord { pub mUnit: nsStyleUnit, pub mValue: nsStyleUnion, @@ -3808,6 +4178,7 @@ fn bindgen_test_layout_nsStyleCoord_CalcValue() { assert_eq!(::std::mem::align_of::<nsStyleCoord_CalcValue>() , 4usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleCoord_Calc { pub _base: nsStyleCoord_CalcValue, pub mRefCnt: nsAutoRefCnt, @@ -3832,6 +4203,7 @@ fn bindgen_test_layout_nsStyleCoord() { * or paddings of a box. */ #[repr(C)] +#[derive(Debug)] pub struct nsStyleSides { pub mUnits: [nsStyleUnit; 4usize], pub mValues: [nsStyleUnion; 4usize], @@ -3847,6 +4219,7 @@ fn bindgen_test_layout_nsStyleSides() { * corners of a box (for, e.g., border-radius and outline-radius). */ #[repr(C)] +#[derive(Debug)] pub struct nsStyleCorners { pub mUnits: [nsStyleUnit; 8usize], pub mValues: [nsStyleUnion; 8usize], @@ -3914,6 +4287,7 @@ fn bindgen_test_layout_nsStyleFont() { assert_eq!(::std::mem::align_of::<nsStyleFont>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleGradientStop { pub mLocation: nsStyleCoord, pub mColor: nscolor, @@ -3966,27 +4340,27 @@ pub enum nsStyleImageType { pub struct nsStyleImage { pub mSubImages: u64, pub mType: nsStyleImageType, - pub nsStyleImage_nsStyleStruct_h_unnamed_12: nsStyleImage_nsStyleStruct_h_unnamed_12, + pub nsStyleImage_nsStyleStruct_h_unnamed_13: nsStyleImage_nsStyleStruct_h_unnamed_13, pub mCropRect: nsAutoPtr<nsStyleSides>, pub mImageTracked: bool, } #[repr(C)] -#[derive(Copy, Debug)] -pub struct nsStyleImage_nsStyleStruct_h_unnamed_12 { +#[derive(Debug, Copy)] +pub struct nsStyleImage_nsStyleStruct_h_unnamed_13 { pub mImage: __BindgenUnionField<*mut imgRequestProxy>, pub mGradient: __BindgenUnionField<*mut nsStyleGradient>, pub mElementId: __BindgenUnionField<*mut ::std::os::raw::c_ushort>, pub _bindgen_data_: u64, } -impl nsStyleImage_nsStyleStruct_h_unnamed_12 { } -impl ::std::clone::Clone for nsStyleImage_nsStyleStruct_h_unnamed_12 { +impl nsStyleImage_nsStyleStruct_h_unnamed_13 { } +impl ::std::clone::Clone for nsStyleImage_nsStyleStruct_h_unnamed_13 { fn clone(&self) -> Self { *self } } #[test] -fn bindgen_test_layout_nsStyleImage_nsStyleStruct_h_unnamed_12() { - assert_eq!(::std::mem::size_of::<nsStyleImage_nsStyleStruct_h_unnamed_12>() +fn bindgen_test_layout_nsStyleImage_nsStyleStruct_h_unnamed_13() { + assert_eq!(::std::mem::size_of::<nsStyleImage_nsStyleStruct_h_unnamed_13>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStyleImage_nsStyleStruct_h_unnamed_12>() + assert_eq!(::std::mem::align_of::<nsStyleImage_nsStyleStruct_h_unnamed_13>() , 8usize); } #[test] @@ -3995,6 +4369,7 @@ fn bindgen_test_layout_nsStyleImage() { assert_eq!(::std::mem::align_of::<nsStyleImage>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleColor { pub mColor: nscolor, } @@ -4004,6 +4379,8 @@ fn bindgen_test_layout_nsStyleColor() { assert_eq!(::std::mem::align_of::<nsStyleColor>() , 4usize); } #[repr(C)] +pub struct nsStyleAutoArray; +#[repr(C)] pub struct nsStyleImageLayers { pub mAttachmentCount: u32, pub mClipCount: u32, @@ -4015,11 +4392,11 @@ pub struct nsStyleImageLayers { pub mMaskModeCount: u32, pub mBlendModeCount: u32, pub mCompositeCount: u32, - pub mLayers: [u64; 16usize], + pub mLayers: [u64; 15usize], } #[repr(u32)] #[derive(Debug, Copy, Clone)] -pub enum nsStyleImageLayers_nsStyleStruct_h_unnamed_13 { +pub enum nsStyleImageLayers_nsStyleStruct_h_unnamed_14 { shorthand = 0, color = 1, image = 2, @@ -4123,7 +4500,7 @@ fn bindgen_test_layout_nsStyleImageLayers_Layer() { } #[test] fn bindgen_test_layout_nsStyleImageLayers() { - assert_eq!(::std::mem::size_of::<nsStyleImageLayers>() , 168usize); + assert_eq!(::std::mem::size_of::<nsStyleImageLayers>() , 160usize); assert_eq!(::std::mem::align_of::<nsStyleImageLayers>() , 8usize); } #[repr(C)] @@ -4133,10 +4510,11 @@ pub struct nsStyleBackground { } #[test] fn bindgen_test_layout_nsStyleBackground() { - assert_eq!(::std::mem::size_of::<nsStyleBackground>() , 176usize); + assert_eq!(::std::mem::size_of::<nsStyleBackground>() , 168usize); assert_eq!(::std::mem::align_of::<nsStyleBackground>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleMargin { pub mMargin: nsStyleSides, pub mHasCachedMargin: bool, @@ -4148,6 +4526,7 @@ fn bindgen_test_layout_nsStyleMargin() { assert_eq!(::std::mem::align_of::<nsStyleMargin>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStylePadding { pub mPadding: nsStyleSides, pub mHasCachedPadding: bool, @@ -4159,6 +4538,7 @@ fn bindgen_test_layout_nsStylePadding() { assert_eq!(::std::mem::align_of::<nsStylePadding>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsBorderColors { pub mNext: *mut nsBorderColors, pub mColor: nscolor, @@ -4169,6 +4549,7 @@ fn bindgen_test_layout_nsBorderColors() { assert_eq!(::std::mem::align_of::<nsBorderColors>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSShadowItem { pub mXOffset: nscoord, pub mYOffset: nscoord, @@ -4184,6 +4565,7 @@ fn bindgen_test_layout_nsCSSShadowItem() { assert_eq!(::std::mem::align_of::<nsCSSShadowItem>() , 4usize); } #[repr(C)] +#[derive(Debug)] pub struct nsCSSShadowArray { pub mRefCnt: nsAutoRefCnt, pub _mOwningThread: nsAutoOwningThread, @@ -4220,13 +4602,13 @@ fn bindgen_test_layout_nsStyleBorder() { assert_eq!(::std::mem::align_of::<nsStyleBorder>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleOutline { pub mOutlineRadius: nsStyleCorners, pub mOutlineWidth: nsStyleCoord, pub mOutlineOffset: nscoord, pub mCachedOutlineWidth: nscoord, pub mOutlineColor: nscolor, - pub mHasCachedOutline: bool, pub mOutlineStyle: u8, pub mTwipsPerPixel: nscoord, } @@ -4266,6 +4648,7 @@ fn bindgen_test_layout_nsStyleList() { assert_eq!(::std::mem::align_of::<nsStyleList>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleGridLine { pub mHasSpan: bool, pub mInteger: i32, @@ -4337,6 +4720,7 @@ fn bindgen_test_layout_nsStylePosition() { assert_eq!(::std::mem::align_of::<nsStylePosition>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleTextOverflowSide { pub mString: nsString, pub mType: u8, @@ -4347,6 +4731,7 @@ fn bindgen_test_layout_nsStyleTextOverflowSide() { assert_eq!(::std::mem::align_of::<nsStyleTextOverflowSide>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleTextOverflow { pub mLeft: nsStyleTextOverflowSide, pub mRight: nsStyleTextOverflowSide, @@ -4358,6 +4743,7 @@ fn bindgen_test_layout_nsStyleTextOverflow() { assert_eq!(::std::mem::align_of::<nsStyleTextOverflow>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleTextReset { pub mTextOverflow: nsStyleTextOverflow, pub mTextDecorationLine: u8, @@ -4371,6 +4757,7 @@ fn bindgen_test_layout_nsStyleTextReset() { assert_eq!(::std::mem::align_of::<nsStyleTextReset>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleText { pub mTextAlign: u8, pub mTextAlignLast: u8, @@ -4432,6 +4819,7 @@ fn bindgen_test_layout_nsStyleImageOrientation() { assert_eq!(::std::mem::align_of::<nsStyleImageOrientation>() , 1usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleVisibility { pub mImageOrientation: nsStyleImageOrientation, pub mDirection: u8, @@ -4450,7 +4838,7 @@ fn bindgen_test_layout_nsStyleVisibility() { #[derive(Debug, Copy)] pub struct nsTimingFunction { pub mType: nsTimingFunction_Type, - pub nsTimingFunction_nsStyleStruct_h_unnamed_14: nsTimingFunction_nsStyleStruct_h_unnamed_14, + pub nsTimingFunction_nsStyleStruct_h_unnamed_15: nsTimingFunction_nsStyleStruct_h_unnamed_15, } #[repr(i32)] #[derive(Debug, Copy, Clone)] @@ -4476,57 +4864,57 @@ pub enum nsTimingFunction_StepSyntax { #[derive(Debug, Copy, Clone)] pub enum nsTimingFunction_Keyword { Implicit = 0, Explicit = 1, } #[repr(C)] -#[derive(Copy, Debug)] -pub struct nsTimingFunction_nsStyleStruct_h_unnamed_14 { - pub mFunc: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_15>, - pub nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_16: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_16>, +#[derive(Debug, Copy)] +pub struct nsTimingFunction_nsStyleStruct_h_unnamed_15 { + pub mFunc: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_16>, + pub nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_17: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_17>, pub _bindgen_data_: [u32; 4usize], } -impl nsTimingFunction_nsStyleStruct_h_unnamed_14 { } -impl ::std::clone::Clone for nsTimingFunction_nsStyleStruct_h_unnamed_14 { +impl nsTimingFunction_nsStyleStruct_h_unnamed_15 { } +impl ::std::clone::Clone for nsTimingFunction_nsStyleStruct_h_unnamed_15 { fn clone(&self) -> Self { *self } } #[test] -fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_14() { - assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_14>() +fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_15() { + assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_15>() , 16usize); - assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_14>() + assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_15>() , 4usize); } #[repr(C)] #[derive(Debug, Copy)] -pub struct nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_15 { +pub struct nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_16 { pub mX1: f32, pub mY1: f32, pub mX2: f32, pub mY2: f32, } impl ::std::clone::Clone for - nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_15 { + nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_16 { fn clone(&self) -> Self { *self } } #[test] -fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_15() { - assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_15>() +fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_16() { + assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_16>() , 16usize); - assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_15>() + assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_16>() , 4usize); } #[repr(C)] #[derive(Debug, Copy)] -pub struct nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_16 { +pub struct nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_17 { pub mStepSyntax: nsTimingFunction_StepSyntax, pub mSteps: u32, } impl ::std::clone::Clone for - nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_16 { + nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_17 { fn clone(&self) -> Self { *self } } #[test] -fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_16() { - assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_16>() +fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_17() { + assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_17>() , 8usize); - assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_14_nsStyleStruct_h_unnamed_16>() + assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_15_nsStyleStruct_h_unnamed_17>() , 4usize); } impl ::std::clone::Clone for nsTimingFunction { @@ -4538,6 +4926,7 @@ fn bindgen_test_layout_nsTimingFunction() { assert_eq!(::std::mem::align_of::<nsTimingFunction>() , 4usize); } #[repr(C)] +#[derive(Debug)] pub struct StyleTransition { pub mTimingFunction: nsTimingFunction, pub mDuration: f32, @@ -4551,6 +4940,7 @@ fn bindgen_test_layout_StyleTransition() { assert_eq!(::std::mem::align_of::<StyleTransition>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct StyleAnimation { pub mTimingFunction: nsTimingFunction, pub mDuration: f32, @@ -4588,7 +4978,7 @@ pub struct nsStyleDisplay { pub mIsolation: u8, pub mTopLayer: u8, pub mWillChangeBitField: u8, - pub mWillChange: [u64; 4usize], + pub mWillChange: u64, pub mTouchAction: u8, pub mScrollBehavior: u8, pub mScrollSnapTypeX: u8, @@ -4605,12 +4995,12 @@ pub struct nsStyleDisplay { pub mChildPerspective: nsStyleCoord, pub mPerspectiveOrigin: [nsStyleCoord; 2usize], pub mVerticalAlign: nsStyleCoord, - pub mTransitions: [u64; 7usize], + pub mTransitions: [u64; 6usize], pub mTransitionTimingFunctionCount: u32, pub mTransitionDurationCount: u32, pub mTransitionDelayCount: u32, pub mTransitionPropertyCount: u32, - pub mAnimations: [u64; 10usize], + pub mAnimations: [u64; 9usize], pub mAnimationTimingFunctionCount: u32, pub mAnimationDurationCount: u32, pub mAnimationDelayCount: u32, @@ -4622,10 +5012,11 @@ pub struct nsStyleDisplay { } #[test] fn bindgen_test_layout_nsStyleDisplay() { - assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 448usize); + assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 408usize); assert_eq!(::std::mem::align_of::<nsStyleDisplay>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleTable { pub mLayoutStrategy: u8, pub mSpan: i32, @@ -4636,6 +5027,7 @@ fn bindgen_test_layout_nsStyleTable() { assert_eq!(::std::mem::align_of::<nsStyleTable>() , 4usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleTableBorder { pub mBorderSpacingCol: nscoord, pub mBorderSpacingRow: nscoord, @@ -4664,28 +5056,29 @@ pub enum nsStyleContentType { eStyleContentType_Uninitialized = 51, } #[repr(C)] +#[derive(Debug)] pub struct nsStyleContentData { pub mType: nsStyleContentType, - pub mContent: nsStyleContentData_nsStyleStruct_h_unnamed_17, + pub mContent: nsStyleContentData_nsStyleStruct_h_unnamed_18, pub mImageTracked: bool, } #[repr(C)] -#[derive(Copy, Debug)] -pub struct nsStyleContentData_nsStyleStruct_h_unnamed_17 { +#[derive(Debug, Copy)] +pub struct nsStyleContentData_nsStyleStruct_h_unnamed_18 { pub mString: __BindgenUnionField<*mut ::std::os::raw::c_ushort>, pub mImage: __BindgenUnionField<*mut imgRequestProxy>, pub mCounters: __BindgenUnionField<*mut Array>, pub _bindgen_data_: u64, } -impl nsStyleContentData_nsStyleStruct_h_unnamed_17 { } -impl ::std::clone::Clone for nsStyleContentData_nsStyleStruct_h_unnamed_17 { +impl nsStyleContentData_nsStyleStruct_h_unnamed_18 { } +impl ::std::clone::Clone for nsStyleContentData_nsStyleStruct_h_unnamed_18 { fn clone(&self) -> Self { *self } } #[test] -fn bindgen_test_layout_nsStyleContentData_nsStyleStruct_h_unnamed_17() { - assert_eq!(::std::mem::size_of::<nsStyleContentData_nsStyleStruct_h_unnamed_17>() +fn bindgen_test_layout_nsStyleContentData_nsStyleStruct_h_unnamed_18() { + assert_eq!(::std::mem::size_of::<nsStyleContentData_nsStyleStruct_h_unnamed_18>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStyleContentData_nsStyleStruct_h_unnamed_17>() + assert_eq!(::std::mem::align_of::<nsStyleContentData_nsStyleStruct_h_unnamed_18>() , 8usize); } #[test] @@ -4694,6 +5087,7 @@ fn bindgen_test_layout_nsStyleContentData() { assert_eq!(::std::mem::align_of::<nsStyleContentData>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleCounterData { pub mCounter: nsString, pub mValue: i32, @@ -4704,6 +5098,7 @@ fn bindgen_test_layout_nsStyleCounterData() { assert_eq!(::std::mem::align_of::<nsStyleCounterData>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleContent { pub mMarkerOffset: nsStyleCoord, pub mContents: *mut nsStyleContentData, @@ -4719,6 +5114,7 @@ fn bindgen_test_layout_nsStyleContent() { assert_eq!(::std::mem::align_of::<nsStyleContent>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleUIReset { pub mUserSelect: u8, pub mForceBrokenImageIcon: u8, @@ -4744,6 +5140,7 @@ fn bindgen_test_layout_nsCursorImage() { assert_eq!(::std::mem::align_of::<nsCursorImage>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleUserInterface { pub mUserInput: u8, pub mUserModify: u8, @@ -4759,6 +5156,7 @@ fn bindgen_test_layout_nsStyleUserInterface() { assert_eq!(::std::mem::align_of::<nsStyleUserInterface>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleXUL { pub mBoxFlex: f32, pub mBoxOrdinal: u32, @@ -4774,6 +5172,7 @@ fn bindgen_test_layout_nsStyleXUL() { assert_eq!(::std::mem::align_of::<nsStyleXUL>() , 4usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleColumn { pub mColumnCount: u32, pub mColumnWidth: nsStyleCoord, @@ -4807,27 +5206,28 @@ pub enum nsStyleSVGOpacitySource { eStyleSVGOpacitySource_ContextStrokeOpacity = 2, } #[repr(C)] +#[derive(Debug)] pub struct nsStyleSVGPaint { - pub mPaint: nsStyleSVGPaint_nsStyleStruct_h_unnamed_18, + pub mPaint: nsStyleSVGPaint_nsStyleStruct_h_unnamed_19, pub mType: nsStyleSVGPaintType, pub mFallbackColor: nscolor, } #[repr(C)] -#[derive(Copy, Debug)] -pub struct nsStyleSVGPaint_nsStyleStruct_h_unnamed_18 { +#[derive(Debug, Copy)] +pub struct nsStyleSVGPaint_nsStyleStruct_h_unnamed_19 { pub mColor: __BindgenUnionField<nscolor>, pub mPaintServer: __BindgenUnionField<*mut nsIURI>, pub _bindgen_data_: u64, } -impl nsStyleSVGPaint_nsStyleStruct_h_unnamed_18 { } -impl ::std::clone::Clone for nsStyleSVGPaint_nsStyleStruct_h_unnamed_18 { +impl nsStyleSVGPaint_nsStyleStruct_h_unnamed_19 { } +impl ::std::clone::Clone for nsStyleSVGPaint_nsStyleStruct_h_unnamed_19 { fn clone(&self) -> Self { *self } } #[test] -fn bindgen_test_layout_nsStyleSVGPaint_nsStyleStruct_h_unnamed_18() { - assert_eq!(::std::mem::size_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_18>() +fn bindgen_test_layout_nsStyleSVGPaint_nsStyleStruct_h_unnamed_19() { + assert_eq!(::std::mem::size_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_19>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_18>() + assert_eq!(::std::mem::align_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_19>() , 8usize); } #[test] @@ -4836,6 +5236,7 @@ fn bindgen_test_layout_nsStyleSVGPaint() { assert_eq!(::std::mem::align_of::<nsStyleSVGPaint>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleSVG { pub mFill: nsStyleSVGPaint, pub mStroke: nsStyleSVGPaint, @@ -4858,8 +5259,7 @@ pub struct nsStyleSVG { pub mStrokeLinecap: u8, pub mStrokeLinejoin: u8, pub mTextAnchor: u8, - pub _bitfield_1: u8, - pub _bitfield_2: u8, + pub _bitfield_1: u32, } #[test] fn bindgen_test_layout_nsStyleSVG() { @@ -4890,27 +5290,28 @@ fn bindgen_test_layout_nsStyleBasicShape() { assert_eq!(::std::mem::align_of::<nsStyleBasicShape>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleClipPath { pub mType: i32, - pub nsStyleClipPath_nsStyleStruct_h_unnamed_19: nsStyleClipPath_nsStyleStruct_h_unnamed_19, + pub nsStyleClipPath_nsStyleStruct_h_unnamed_20: nsStyleClipPath_nsStyleStruct_h_unnamed_20, pub mSizingBox: u8, } #[repr(C)] -#[derive(Copy, Debug)] -pub struct nsStyleClipPath_nsStyleStruct_h_unnamed_19 { +#[derive(Debug, Copy)] +pub struct nsStyleClipPath_nsStyleStruct_h_unnamed_20 { pub mBasicShape: __BindgenUnionField<*mut nsStyleBasicShape>, pub mURL: __BindgenUnionField<*mut nsIURI>, pub _bindgen_data_: u64, } -impl nsStyleClipPath_nsStyleStruct_h_unnamed_19 { } -impl ::std::clone::Clone for nsStyleClipPath_nsStyleStruct_h_unnamed_19 { +impl nsStyleClipPath_nsStyleStruct_h_unnamed_20 { } +impl ::std::clone::Clone for nsStyleClipPath_nsStyleStruct_h_unnamed_20 { fn clone(&self) -> Self { *self } } #[test] -fn bindgen_test_layout_nsStyleClipPath_nsStyleStruct_h_unnamed_19() { - assert_eq!(::std::mem::size_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_19>() +fn bindgen_test_layout_nsStyleClipPath_nsStyleStruct_h_unnamed_20() { + assert_eq!(::std::mem::size_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_20>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_19>() + assert_eq!(::std::mem::align_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_20>() , 8usize); } #[test] @@ -4919,27 +5320,28 @@ fn bindgen_test_layout_nsStyleClipPath() { assert_eq!(::std::mem::align_of::<nsStyleClipPath>() , 8usize); } #[repr(C)] +#[derive(Debug)] pub struct nsStyleFilter { pub mType: i32, pub mFilterParameter: nsStyleCoord, - pub nsStyleFilter_nsStyleStruct_h_unnamed_20: nsStyleFilter_nsStyleStruct_h_unnamed_20, + pub nsStyleFilter_nsStyleStruct_h_unnamed_21: nsStyleFilter_nsStyleStruct_h_unnamed_21, } #[repr(C)] -#[derive(Copy, Debug)] -pub struct nsStyleFilter_nsStyleStruct_h_unnamed_20 { +#[derive(Debug, Copy)] +pub struct nsStyleFilter_nsStyleStruct_h_unnamed_21 { pub mURL: __BindgenUnionField<*mut nsIURI>, pub mDropShadow: __BindgenUnionField<*mut nsCSSShadowArray>, pub _bindgen_data_: u64, } -impl nsStyleFilter_nsStyleStruct_h_unnamed_20 { } -impl ::std::clone::Clone for nsStyleFilter_nsStyleStruct_h_unnamed_20 { +impl nsStyleFilter_nsStyleStruct_h_unnamed_21 { } +impl ::std::clone::Clone for nsStyleFilter_nsStyleStruct_h_unnamed_21 { fn clone(&self) -> Self { *self } } #[test] -fn bindgen_test_layout_nsStyleFilter_nsStyleStruct_h_unnamed_20() { - assert_eq!(::std::mem::size_of::<nsStyleFilter_nsStyleStruct_h_unnamed_20>() +fn bindgen_test_layout_nsStyleFilter_nsStyleStruct_h_unnamed_21() { + assert_eq!(::std::mem::size_of::<nsStyleFilter_nsStyleStruct_h_unnamed_21>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStyleFilter_nsStyleStruct_h_unnamed_20>() + assert_eq!(::std::mem::align_of::<nsStyleFilter_nsStyleStruct_h_unnamed_21>() , 8usize); } #[test] @@ -4968,7 +5370,7 @@ pub struct nsStyleSVGReset { } #[test] fn bindgen_test_layout_nsStyleSVGReset() { - assert_eq!(::std::mem::size_of::<nsStyleSVGReset>() , 216usize); + assert_eq!(::std::mem::size_of::<nsStyleSVGReset>() , 208usize); assert_eq!(::std::mem::align_of::<nsStyleSVGReset>() , 8usize); } #[repr(C)] diff --git a/ports/geckolib/properties.mako.rs b/ports/geckolib/properties.mako.rs index 77c8b2679c9..f3827bcc6c1 100644 --- a/ports/geckolib/properties.mako.rs +++ b/ports/geckolib/properties.mako.rs @@ -2,10 +2,15 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -// STYLE_STRUCTS comes from components/style/properties.mako.rs; see build.rs for more details. +// `data` comes from components/style/properties.mako.rs; see build.rs for more details. + +<%! + from data import to_rust_ident + from data import Keyword +%> use app_units::Au; -% for style_struct in STYLE_STRUCTS: +% for style_struct in data.style_structs: %if style_struct.gecko_ffi_name: use gecko_style_structs::${style_struct.gecko_ffi_name}; use bindings::Gecko_Construct_${style_struct.gecko_ffi_name}; @@ -16,7 +21,7 @@ use bindings::Gecko_Destroy_${style_struct.gecko_ffi_name}; use gecko_style_structs; use heapsize::HeapSizeOf; use std::fmt::{self, Debug}; -use std::mem::zeroed; +use std::mem::{transmute, zeroed}; use std::sync::Arc; use style::custom_properties::ComputedValuesMap; use style::logical_geometry::WritingMode; @@ -27,7 +32,7 @@ use style::properties::style_struct_traits::*; #[derive(Clone)] pub struct GeckoComputedValues { - % for style_struct in STYLE_STRUCTS: + % for style_struct in data.style_structs: ${style_struct.ident}: Arc<${style_struct.gecko_struct_name}>, % endfor @@ -38,7 +43,7 @@ pub struct GeckoComputedValues { } impl ComputedValues for GeckoComputedValues { -% for style_struct in STYLE_STRUCTS: +% for style_struct in data.style_structs: type Concrete${style_struct.trait_name} = ${style_struct.gecko_struct_name}; % endfor @@ -50,7 +55,7 @@ impl ComputedValues for GeckoComputedValues { shareable: bool, writing_mode: WritingMode, root_font_size: Au, - % for style_struct in STYLE_STRUCTS: + % for style_struct in data.style_structs: ${style_struct.ident}: Arc<${style_struct.gecko_struct_name}>, % endfor ) -> Self { @@ -59,7 +64,7 @@ impl ComputedValues for GeckoComputedValues { shareable: shareable, writing_mode: writing_mode, root_font_size: root_font_size, - % for style_struct in STYLE_STRUCTS: + % for style_struct in data.style_structs: ${style_struct.ident}: ${style_struct.ident}, % endfor } @@ -71,7 +76,7 @@ impl ComputedValues for GeckoComputedValues { CASCADE_PROPERTY.with(|x| f(x)); } - % for style_struct in STYLE_STRUCTS: + % for style_struct in data.style_structs: #[inline] fn clone_${style_struct.trait_name_lower}(&self) -> Arc<Self::Concrete${style_struct.trait_name}> { self.${style_struct.ident}.clone() @@ -91,13 +96,13 @@ impl ComputedValues for GeckoComputedValues { fn set_root_font_size(&mut self, s: Au) { self.root_font_size = s; } fn set_writing_mode(&mut self, mode: WritingMode) { self.writing_mode = mode; } + // FIXME(bholley): Implement this properly. #[inline] - fn is_multicol(&self) -> bool { unimplemented!() } + fn is_multicol(&self) -> bool { false } } <%def name="declare_style_struct(style_struct)"> #[derive(Clone, HeapSizeOf, Debug)] -#[no_move] % if style_struct.gecko_ffi_name: pub struct ${style_struct.gecko_struct_name} { gecko: ${style_struct.gecko_ffi_name}, @@ -107,21 +112,82 @@ pub struct ${style_struct.gecko_struct_name}; % endif </%def> +<%def name="impl_simple_copy(ident, gecko_ffi_name)"> + fn copy_${ident}_from(&mut self, other: &Self) { + self.gecko.${gecko_ffi_name} = other.gecko.${gecko_ffi_name}; + } +</%def> + +<%! +def is_border_style_masked(ffi_name): + return ffi_name.split("[")[0] in ["mBorderStyle", "mOutlineStyle", "mTextDecorationStyle"] + +def get_gecko_property(ffi_name): + if is_border_style_masked(ffi_name): + return "(self.gecko.%s & (gecko_style_structs::BORDER_STYLE_MASK as u8))" % ffi_name + else: + return "self.gecko.%s" % ffi_name + +def set_gecko_property(ffi_name, expr): + if is_border_style_masked(ffi_name): + return "self.gecko.%s &= !(gecko_style_structs::BORDER_STYLE_MASK as u8);" % ffi_name + \ + "self.gecko.%s |= %s as u8;" % (ffi_name, expr) + else: + return "self.gecko.%s = %s;" % (ffi_name, expr) +%> + +<%def name="impl_keyword_setter(ident, gecko_ffi_name, keyword)"> + fn set_${ident}(&mut self, v: longhands::${ident}::computed_value::T) { + use gecko_style_structs as gss; + use style::properties::longhands::${ident}::computed_value::T as Keyword; + // FIXME(bholley): Align binary representations and ditch |match| for cast + static_asserts + let result = match v { + % for value in keyword.values_for('gecko'): + Keyword::${to_rust_ident(value)} => gss::${keyword.gecko_constant(value)} as u8, + % endfor + }; + ${set_gecko_property(gecko_ffi_name, "result")} + } +</%def> + +<%def name="impl_keyword_clone(ident, gecko_ffi_name, keyword)"> + fn clone_${ident}(&self) -> longhands::${ident}::computed_value::T { + use gecko_style_structs as gss; + use style::properties::longhands::${ident}::computed_value::T as Keyword; + // FIXME(bholley): Align binary representations and ditch |match| for cast + static_asserts + match ${get_gecko_property(gecko_ffi_name)} as u32 { + % for value in keyword.values_for('gecko'): + gss::${keyword.gecko_constant(value)} => Keyword::${to_rust_ident(value)}, + % endfor + x => panic!("Found unexpected value in style struct for ${ident} property: {}", x), + } + } +</%def> + +<%def name="impl_keyword(ident, gecko_ffi_name, keyword, need_clone)"> +<%call expr="impl_keyword_setter(ident, gecko_ffi_name, keyword)"></%call> +<%call expr="impl_simple_copy(ident, gecko_ffi_name)"></%call> +%if need_clone: +<%call expr="impl_keyword_clone(ident, gecko_ffi_name, keyword)"></%call> +% endif +</%def> + +<%def name="impl_app_units(ident, gecko_ffi_name, need_clone)"> + fn set_${ident}(&mut self, v: longhands::${ident}::computed_value::T) { + self.gecko.${gecko_ffi_name} = v.0; + } +<%call expr="impl_simple_copy(ident, gecko_ffi_name)"></%call> +%if need_clone: + fn clone_${ident}(&self) -> longhands::${ident}::computed_value::T { + Au(self.gecko.${gecko_ffi_name}) + } +% endif +</%def> + <%def name="impl_style_struct(style_struct)"> impl ${style_struct.gecko_struct_name} { #[allow(dead_code, unused_variables)] fn initial() -> Arc<Self> { - // Some Gecko style structs have AutoTArray members, which have internal pointers and are - // thus MOZ_NON_MEMMOVABLE. Since Rust is generally a very move-happy language, we need to - // be very careful that nsStyle* structs are never moved after they are constructed. - // - // By annotating the structs [no_move], we can get the |rust-tenacious| linter to trigger - // an error on any semantic moves. But we don't have a great way of telling LLVM to - // allocate our new object directly on the heap without using a temporary. So to do that - // (and also please tenacious), we pass zeroed memory into the Arc constructor, and _then_ - // use make_mut to get a reference to pass to the Gecko constructor. Since the refcount is - // guaranteed to be 1, make_mut will always pass us a direct reference instead of taking - // the copy-on-write path. let mut result = Arc::new(${style_struct.gecko_struct_name} { gecko: unsafe { zeroed() } }); unsafe { Gecko_Construct_${style_struct.gecko_ffi_name}(&mut Arc::make_mut(&mut result).gecko); @@ -152,6 +218,10 @@ impl HeapSizeOf for ${style_struct.gecko_ffi_name} { // Not entirely accurate, but good enough for now. fn heap_size_of_children(&self) -> usize { 0 } } + +// FIXME(bholley): Make bindgen generate Debug for all types. +%if style_struct.gecko_ffi_name in "nsStyleBorder nsStylePosition nsStyleDisplay nsStyleList nsStyleBackground "\ + "nsStyleFont nsStyleEffects nsStyleSVGReset".split(): impl Debug for ${style_struct.gecko_ffi_name} { // FIXME(bholley): Generate this. fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { @@ -159,12 +229,12 @@ impl Debug for ${style_struct.gecko_ffi_name} { } } %endif +%endif </%def> -<%def name="raw_impl_trait(style_struct, skip_longhands=None, skip_additionals=None)"> +<%def name="raw_impl_trait(style_struct, skip_longhands='', skip_additionals='')"> <% - longhands = [x for x in style_struct.longhands - if not (skip_longhands and x.name in skip_longhands)] + longhands = [x for x in style_struct.longhands if not x.name in skip_longhands.split()] # # Make a list of types we can't auto-generate. @@ -182,11 +252,6 @@ impl Debug for ${style_struct.gecko_ffi_name} { force_stub += ["box-sizing"] # Inconsistent constant naming in gecko force_stub += ["unicode-bidi", "text-transform"] - # Need to figure out why servo has sideways-left computed value and gecko doesn't - force_stub += ["text-orientation"] - # Automatic mapping generates NS_STYLE_TEXT_DECORATION_STYLE__MOZ_NONE instead of - # NS_STYLE_TEXT_DECORATION_STYLE__NONE - force_stub += ["text-decoration-style"] # These are booleans. force_stub += ["page-break-after", "page-break-before"] @@ -203,19 +268,7 @@ impl ${style_struct.trait_name} for ${style_struct.gecko_struct_name} { * Auto-Generated Methods. */ % for longhand in keyword_longhands: - fn set_${longhand.ident}(&mut self, v: longhands::${longhand.ident}::computed_value::T) { - use gecko_style_structs as gss; - use style::properties::longhands::${longhand.ident}::computed_value::T as Keyword; - // FIXME(bholley): Align binary representations and ditch |match| for cast + static_asserts - self.gecko.${longhand.gecko_ffi_name} = match v { - % for value in longhand.keyword.values_for('gecko'): - Keyword::${to_rust_ident(value)} => gss::${longhand.keyword.gecko_constant(value)} as u8, - % endfor - }; - } - fn copy_${longhand.ident}_from(&mut self, other: &Self) { - self.gecko.${longhand.gecko_ffi_name} = other.gecko.${longhand.gecko_ffi_name}; - } + <%call expr="impl_keyword(longhand.ident, longhand.gecko_ffi_name, longhand.keyword, longhand.need_clone)"></%call> % endfor /* @@ -223,64 +276,145 @@ impl ${style_struct.trait_name} for ${style_struct.gecko_struct_name} { */ % for longhand in stub_longhands: fn set_${longhand.ident}(&mut self, _: longhands::${longhand.ident}::computed_value::T) { - unimplemented!() + println!("stylo: Unimplemented property setter: ${longhand.name}"); } fn copy_${longhand.ident}_from(&mut self, _: &Self) { + println!("stylo: Unimplemented property setter: ${longhand.name}"); + } + % if longhand.need_clone: + fn clone_${longhand.ident}(&self) -> longhands::${longhand.ident}::computed_value::T { unimplemented!() } + % endif % endfor <% additionals = [x for x in style_struct.additional_methods - if not (skip_additionals and x.name in skip_additionals)] %> + if skip_additionals != "*" and not x.name in skip_additionals.split()] %> % for additional in additionals: ${additional.stub()} % endfor } </%def> -<%! MANUAL_STYLE_STRUCTS = [] %> -<%def name="impl_trait(style_struct_name, skip_longhands=None, skip_additionals=None)"> -<%self:raw_impl_trait style_struct="${next(x for x in STYLE_STRUCTS if x.trait_name == style_struct_name)}" +<% data.manual_style_structs = [] %> +<%def name="impl_trait(style_struct_name, skip_longhands='', skip_additionals='')"> +<%self:raw_impl_trait style_struct="${next(x for x in data.style_structs if x.trait_name == style_struct_name)}" skip_longhands="${skip_longhands}" skip_additionals="${skip_additionals}"> ${caller.body()} </%self:raw_impl_trait> -<% MANUAL_STYLE_STRUCTS.append(style_struct_name) %> +<% data.manual_style_structs.append(style_struct_name) %> </%def> -// Proof-of-concept for a style struct with some manually-implemented methods. We add -// the manually-implemented methods to skip_longhands and skip_additionals, and the -// infrastructure auto-generates everything not in those lists. This allows us to -// iteratively implement more and more methods. -<%self:impl_trait style_struct_name="Border" - skip_longhands="${['border-left-color', 'border-left-style']}" - skip_additionals="${['border_bottom_is_none_or_hidden_and_has_nonzero_width']}"> - fn set_border_left_color(&mut self, _: longhands::border_left_color::computed_value::T) { - unimplemented!() +<%! +class Side(object): + def __init__(self, name, index): + self.name = name + self.ident = name.lower() + self.index = index + +SIDES = [Side("Top", 0), Side("Right", 1), Side("Bottom", 2), Side("Left", 3)] + +%> + +#[allow(dead_code)] +fn static_assert() { + unsafe { + % for side in SIDES: + transmute::<_, [u32; ${side.index}]>([1; gecko_style_structs::Side::eSide${side.name} as usize]); + % endfor } - fn copy_border_left_color_from(&mut self, _: &Self) { - unimplemented!() +} + +<% border_style_keyword = Keyword("border-style", + "none solid double dotted dashed hidden groove ridge inset outset") %> + +<% +skip_border_longhands = "" +for side in SIDES: + skip_border_longhands += "border-{0}-style border-{0}-width ".format(side.ident) +%> + +<%self:impl_trait style_struct_name="Border" + skip_longhands="${skip_border_longhands}" + skip_additionals="*"> + + % for side in SIDES: + <% impl_keyword("border_%s_style" % side.ident, "mBorderStyle[%s]" % side.index, border_style_keyword, + need_clone=True) %> + + <% impl_app_units("border_%s_width" % side.ident, "mComputedBorder.%s" % side.ident, need_clone=False) %> + + fn border_${side.ident}_has_nonzero_width(&self) -> bool { + self.gecko.mComputedBorder.${side.ident} != 0 } - fn set_border_left_style(&mut self, _: longhands::border_left_style::computed_value::T) { - unimplemented!() + % endfor +</%self:impl_trait> + +<%self:impl_trait style_struct_name="Outline" + skip_longhands="outline-style" + skip_additionals="*"> + + <% impl_keyword("outline_style", "mOutlineStyle", border_style_keyword, need_clone=True) %> + + fn outline_has_nonzero_width(&self) -> bool { + self.gecko.mCachedOutlineWidth != 0 } - fn copy_border_left_style_from(&mut self, _: &Self) { - unimplemented!() +</%self:impl_trait> + +<%self:impl_trait style_struct_name="Font" skip_longhands="font-size"> + + // FIXME(bholley): This doesn't handle zooming properly. + <% impl_app_units("font_size", "mSize", need_clone=True) %> +</%self:impl_trait> + +<%self:impl_trait style_struct_name="Box" skip_longhands="display overflow-y"> + + // We manually-implement the |display| property until we get general + // infrastructure for preffing certain values. + <% display_keyword = Keyword("display", "inline block inline-block table inline-table table-row-group " + + "table-header-group table-footer-group table-row table-column-group " + + "table-column table-cell table-caption list-item flex none") %> + <%call expr="impl_keyword('display', 'mDisplay', display_keyword, True)"></%call> + + // overflow-y is implemented as a newtype of overflow-x, so we need special handling. + // We could generalize this if we run into other newtype keywords. + <% overflow_x = data.longhands_by_name["overflow-x"] %> + fn set_overflow_y(&mut self, v: longhands::overflow_y::computed_value::T) { + use gecko_style_structs as gss; + use style::properties::longhands::overflow_x::computed_value::T as BaseType; + // FIXME(bholley): Align binary representations and ditch |match| for cast + static_asserts + self.gecko.mOverflowY = match v.0 { + % for value in overflow_x.keyword.values_for('gecko'): + BaseType::${to_rust_ident(value)} => gss::${overflow_x.keyword.gecko_constant(value)} as u8, + % endfor + }; } - fn border_bottom_is_none_or_hidden_and_has_nonzero_width(&self) -> bool { - unimplemented!() + <%call expr="impl_simple_copy('overflow_y', 'mOverflowY')"></%call> + fn clone_overflow_y(&self) -> longhands::overflow_y::computed_value::T { + use gecko_style_structs as gss; + use style::properties::longhands::overflow_x::computed_value::T as BaseType; + use style::properties::longhands::overflow_y::computed_value::T as NewType; + // FIXME(bholley): Align binary representations and ditch |match| for cast + static_asserts + match self.gecko.mOverflowY as u32 { + % for value in overflow_x.keyword.values_for('gecko'): + gss::${overflow_x.keyword.gecko_constant(value)} => NewType(BaseType::${to_rust_ident(value)}), + % endfor + x => panic!("Found unexpected value in style struct for overflow_y property: {}", x), + } } + </%self:impl_trait> -% for style_struct in STYLE_STRUCTS: +% for style_struct in data.style_structs: ${declare_style_struct(style_struct)} ${impl_style_struct(style_struct)} -% if not style_struct.trait_name in MANUAL_STYLE_STRUCTS: +% if not style_struct.trait_name in data.manual_style_structs: <%self:raw_impl_trait style_struct="${style_struct}"></%self:raw_impl_trait> % endif % endfor lazy_static! { pub static ref INITIAL_GECKO_VALUES: GeckoComputedValues = GeckoComputedValues { - % for style_struct in STYLE_STRUCTS: + % for style_struct in data.style_structs: ${style_struct.ident}: ${style_struct.gecko_struct_name}::initial(), % endfor custom_properties: None, diff --git a/ports/geckolib/tools/regen_style_structs.sh b/ports/geckolib/tools/regen_style_structs.sh index d4f3b822415..a00f8df9750 100755 --- a/ports/geckolib/tools/regen_style_structs.sh +++ b/ports/geckolib/tools/regen_style_structs.sh @@ -109,12 +109,14 @@ fi -match "nsIPrincipal.h" \ -match "nsDataHashtable.h" \ -match "nsCSSScanner.h" \ + -match "Types.h" \ -blacklist-type "IsDestructibleFallbackImpl" \ -blacklist-type "IsDestructibleFallback" \ -opaque-type "nsIntMargin" \ -opaque-type "nsIntPoint" \ -opaque-type "nsIntRect" \ -opaque-type "nsTArray" \ + -opaque-type "nsStyleAutoArray" \ -opaque-type "nsCOMArray" \ -opaque-type "nsDependentString" \ -opaque-type "EntryStore" \ diff --git a/ports/glutin/lib.rs b/ports/glutin/lib.rs index d8c6a41ce5b..367ae7bc71b 100644 --- a/ports/glutin/lib.rs +++ b/ports/glutin/lib.rs @@ -9,6 +9,7 @@ #[macro_use] extern crate bitflags; #[cfg(target_os = "macos")] extern crate cgl; extern crate compositing; +#[allow(unused_extern_crates)] #[cfg(target_os = "android")] extern crate egl; extern crate euclid; extern crate gleam; diff --git a/ports/glutin/window.rs b/ports/glutin/window.rs index e691191f3dd..1a130a43d2c 100644 --- a/ports/glutin/window.rs +++ b/ports/glutin/window.rs @@ -22,13 +22,16 @@ use msg::constellation_msg::{self, Key}; use net_traits::net_error_list::NetError; use script_traits::{TouchEventType, TouchpadPressurePhase}; use std::cell::{Cell, RefCell}; +#[cfg(not(target_os = "android"))] use std::os::raw::c_void; use std::rc::Rc; use std::sync::mpsc::{channel, Sender}; use style_traits::cursor::Cursor; use url::Url; use util::geometry::ScreenPx; -use util::opts::{self, RenderApi}; +use util::opts; +#[cfg(not(target_os = "android"))] +use util::opts::RenderApi; static mut g_nested_event_loop_listener: Option<*mut (NestedEventLoopListener + 'static)> = None; diff --git a/ports/gonk/Cargo.lock b/ports/gonk/Cargo.lock index b465fadcdaf..c9b62a89bf5 100644 --- a/ports/gonk/Cargo.lock +++ b/ports/gonk/Cargo.lock @@ -6,7 +6,7 @@ dependencies = [ "devtools 0.0.1", "env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "errno 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.2.4 (git+https://github.com/servo/rust-layers)", @@ -51,10 +51,10 @@ name = "app_units" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -81,7 +81,7 @@ dependencies = [ "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -100,8 +100,8 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -141,13 +141,12 @@ version = "0.0.1" dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", "canvas_traits 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", - "layers 0.2.4 (git+https://github.com/servo/rust-layers)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "util 0.0.1", @@ -160,16 +159,14 @@ version = "0.0.1" dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", - "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "util 0.0.1", "webrender_traits 0.1.0 (git+https://github.com/servo/webrender_traits)", ] @@ -254,7 +251,7 @@ dependencies = [ "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "devtools_traits 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gaol 0.0.1 (git+https://github.com/servo/gaol)", "gfx 0.0.1", "gfx_traits 0.0.1", @@ -266,7 +263,7 @@ dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", @@ -288,7 +285,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -371,7 +368,6 @@ dependencies = [ "devtools_traits 0.0.1", "hyper 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", - "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "plugins 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -396,7 +392,6 @@ dependencies = [ "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", - "util 0.0.1", ] [[package]] @@ -486,7 +481,7 @@ name = "enum_primitive" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -510,14 +505,14 @@ dependencies = [ [[package]] name = "euclid" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -610,7 +605,7 @@ dependencies = [ "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gfx_traits 0.0.1", @@ -629,7 +624,7 @@ dependencies = [ "profile_traits 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "range 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -651,7 +646,7 @@ name = "gfx_traits" version = "0.0.1" dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.2.4 (git+https://github.com/servo/rust-layers)", @@ -659,7 +654,6 @@ dependencies = [ "plugins 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "util 0.0.1", ] [[package]] @@ -781,7 +775,7 @@ dependencies = [ "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", @@ -804,7 +798,7 @@ dependencies = [ "mime 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "solicit 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", @@ -824,7 +818,7 @@ dependencies = [ "gif 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "jpeg-decoder 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "png 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -835,7 +829,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -850,7 +844,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "leaky-cow 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -877,22 +871,22 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "js" version = "0.1.2" -source = "git+https://github.com/servo/rust-mozjs#6f1eb4ea7a84714bfab2806440c9fc8a9a261409" +source = "git+https://github.com/servo/rust-mozjs#efe805affa75d776316e9ea6113f85cdad1e82ed" dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "mozjs_sys 0.0.0 (git+https://github.com/servo/mozjs)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -922,7 +916,7 @@ dependencies = [ "azure 0.4.3 (git+https://github.com/servo/rust-azure)", "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "glx 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -930,7 +924,7 @@ dependencies = [ "io-surface 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-skia 0.20130412.6 (registry+https://github.com/rust-lang/crates.io-index)", "x11 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -945,7 +939,7 @@ dependencies = [ "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", "gfx_traits 0.0.1", @@ -960,11 +954,10 @@ dependencies = [ "plugins 0.0.1", "profile_traits 0.0.1", "range 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script 0.0.1", "script_traits 0.0.1", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1145,14 +1138,14 @@ version = "0.0.1" dependencies = [ "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", "layers 0.2.4 (git+https://github.com/servo/rust-layers)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1178,7 +1171,7 @@ dependencies = [ "net_traits 0.0.1", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "threadpool 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "tinyfiledialogs 0.1.0 (git+https://github.com/jdm/tinyfiledialogs)", @@ -1232,14 +1225,71 @@ dependencies = [ [[package]] name = "num" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "num-bigint 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-complex 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-iter 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-rational 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-bigint" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] +name = "num-complex" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-integer" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-iter" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-rational" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-bigint 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-traits" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] name = "num_cpus" version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1287,7 +1337,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1410,7 +1460,7 @@ dependencies = [ "flate2 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "inflate 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1466,7 +1516,7 @@ name = "quickersort" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1484,8 +1534,8 @@ version = "0.0.1" dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1528,7 +1578,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rustc-serialize" -version = "0.3.16" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1560,7 +1610,7 @@ dependencies = [ "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "devtools_traits 0.0.1", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1574,7 +1624,7 @@ dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "phf_macros 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1585,7 +1635,7 @@ dependencies = [ "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1609,7 +1659,7 @@ dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "devtools_traits 0.0.1", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1669,7 +1719,7 @@ name = "serde_json" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1693,7 +1743,7 @@ dependencies = [ "devtools 0.0.1", "devtools_traits 0.0.1", "env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gaol 0.0.1 (git+https://github.com/servo/gaol)", "gfx 0.0.1", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1705,7 +1755,6 @@ dependencies = [ "msg 0.0.1", "net 0.0.1", "net_traits 0.0.1", - "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "profile 0.0.1", "profile_traits 0.0.1", "script 0.0.1", @@ -1786,7 +1835,7 @@ version = "0.20130412.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "expat-sys 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "glx 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1858,16 +1907,16 @@ dependencies = [ "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1884,14 +1933,13 @@ name = "style_traits" version = "0.0.1" dependencies = [ "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2021,7 +2069,7 @@ dependencies = [ "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2057,7 +2105,7 @@ dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2070,7 +2118,7 @@ dependencies = [ "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2151,14 +2199,14 @@ dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "scoped_threadpool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2173,7 +2221,7 @@ dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2192,7 +2240,7 @@ dependencies = [ "net2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2253,13 +2301,13 @@ dependencies = [ [[package]] name = "xml5ever" version = "0.1.1" -source = "git+https://github.com/Ygg01/xml5ever#4900bbadef28c940a0cd73dc735d53709a2845c7" +source = "git+https://github.com/Ygg01/xml5ever#a51a6df18f384ecfb0a99b288c267178cf68f7f7" dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "mac 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "tendril 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index 00aae38cf78..31d8d1ded39 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -230,6 +230,8 @@ class MachCommands(CommandBase): if not (self.config["build"]["ccache"] == ""): env['CCACHE'] = self.config["build"]["ccache"] + env['RUSTFLAGS'] = env.get('RUSTFLAGS', "") + " -W unused-extern-crates" + status = call( ["cargo", "build"] + opts, env=env, cwd=self.servo_crate(), verbose=verbose) diff --git a/python/servo/devenv_commands.py b/python/servo/devenv_commands.py index 4ad07477f3f..95bb2d054a9 100644 --- a/python/servo/devenv_commands.py +++ b/python/servo/devenv_commands.py @@ -152,11 +152,17 @@ class MachCommands(CommandBase): code = call(["git", "init"], env=self.build_env()) if code: return code - call( + code = call( ["git", "remote", "add", "upstream", "https://github.com/w3c/wptrunner.git"], env=self.build_env()) + if code: + return code code = call(["git", "fetch", "upstream"], env=self.build_env()) if code: return code - code = call(["git", "reset", '--', "hard", "remotes/upstream/master"], env=self.build_env()) + code = call(["git", "reset", "--hard", "remotes/upstream/master"], env=self.build_env()) + if code: + return code + code = call(["rm", "-rf", ".git"], env=self.build_env()) if code: return code + return 0 diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py index 66a2da5be3e..f0eccee59af 100644 --- a/python/servo/testing_commands.py +++ b/python/servo/testing_commands.py @@ -141,20 +141,7 @@ class MachCommands(CommandBase): @CommandArgument('test_name', nargs=argparse.REMAINDER, help="Only run tests that match this pattern or file path") def test_unit(self, test_name=None, package=None): - subprocess.check_output([ - sys.executable, - path.join(self.context.topdir, "components", "style", "list_properties.py") - ]) - - this_file = os.path.dirname(__file__) - servo_doc_path = os.path.abspath(os.path.join(this_file, '../', '../', 'target', 'doc', 'servo')) - - with open(os.path.join(servo_doc_path, 'css-properties.json'), 'r') as property_file: - properties = json.loads(property_file.read()) - - assert len(properties) >= 100 - assert "margin-top" in properties - assert "margin" in properties + check_css_properties_json(self.context.topdir) if test_name is None: test_name = [] @@ -670,3 +657,23 @@ testing/web-platform/mozilla/tests for Servo-only tests""" % reference_path) if editor: proc.wait() + + +def check_css_properties_json(topdir): + print("Testing generation of css-properties.json...") + filename = path.join(topdir, "target", "doc", "servo", "css-properties.json") + + if path.exists(filename): + os.remove(filename) + subprocess.check_call([ + sys.executable, + path.join(topdir, "components", "style", "properties", "build.py"), + "servo", + "html", + ]) + properties = json.load(open(filename)) + + assert len(properties) >= 100 + assert "margin-top" in properties + assert "margin" in properties + print("OK") diff --git a/python/tidy/servo_tidy/tidy.py b/python/tidy/servo_tidy/tidy.py index d90660ac238..b8aee48ac1b 100644 --- a/python/tidy/servo_tidy/tidy.py +++ b/python/tidy/servo_tidy/tidy.py @@ -285,7 +285,7 @@ def check_toml(file_name, lines): def check_rust(file_name, lines): if not file_name.endswith(".rs") or \ - file_name.endswith("properties.mako.rs") or \ + file_name.endswith(".mako.rs") or \ file_name.endswith(os.path.join("style", "build.rs")) or \ file_name.endswith(os.path.join("geckolib", "build.rs")) or \ file_name.endswith(os.path.join("unit", "style", "stylesheets.rs")): @@ -386,6 +386,7 @@ def check_rust(file_name, lines): (r": &Vec<", "use &[T] instead of &Vec<T>", no_filter), # No benefit over using &str (r": &String", "use &str instead of &String", no_filter), + (r"^&&", "operators should go at the end of the first line", no_filter), ] for pattern, message, filter_func in regex_rules: @@ -655,6 +656,7 @@ def scan(faster=False, progress=True): error = None for error in errors: print "\r\033[94m{}\033[0m:\033[93m{}\033[0m: \033[91m{}\033[0m".format(*error) + print if error is None: - print "\n\033[92mtidy reported no errors.\033[0m" + print "\033[92mtidy reported no errors.\033[0m" return int(error is not None) diff --git a/python/tidy/servo_tidy_tests/rust_tidy.rs b/python/tidy/servo_tidy_tests/rust_tidy.rs index 680b527f679..580f9e2ea96 100644 --- a/python/tidy/servo_tidy_tests/rust_tidy.rs +++ b/python/tidy/servo_tidy_tests/rust_tidy.rs @@ -32,6 +32,9 @@ impl test { } fn test_fun2(y : &String, z : &Vec<f32>) -> f32 { - 1 + let x = true; + x + && x; } + } diff --git a/python/tidy/servo_tidy_tests/test_tidy.py b/python/tidy/servo_tidy_tests/test_tidy.py index 1c26ba17b3b..e07f0d1bb55 100644 --- a/python/tidy/servo_tidy_tests/test_tidy.py +++ b/python/tidy/servo_tidy_tests/test_tidy.py @@ -19,25 +19,34 @@ def iterFile(name): class CheckTidiness(unittest.TestCase): + def assertNoMoreErrors(self, errors): + with self.assertRaises(StopIteration): + errors.next() + def test_spaces_correctnes(self): errors = tidy.collect_errors_for_files(iterFile('wrong_space.rs'), [], [tidy.check_by_line]) self.assertEqual('trailing whitespace', errors.next()[2]) self.assertEqual('no newline at EOF', errors.next()[2]) self.assertEqual('tab on line', errors.next()[2]) self.assertEqual('CR on line', errors.next()[2]) + self.assertEqual('no newline at EOF', errors.next()[2]) + self.assertNoMoreErrors(errors) def test_long_line(self): errors = tidy.collect_errors_for_files(iterFile('long_line.rs'), [], [tidy.check_by_line]) self.assertEqual('Line is longer than 120 characters', errors.next()[2]) + self.assertNoMoreErrors(errors) def test_whatwg_link(self): errors = tidy.collect_errors_for_files(iterFile('whatwg_link.rs'), [], [tidy.check_by_line]) self.assertTrue('link to WHATWG may break in the future, use this format instead:' in errors.next()[2]) self.assertTrue('links to WHATWG single-page url, change to multi page:' in errors.next()[2]) + self.assertNoMoreErrors(errors) def test_licence(self): errors = tidy.collect_errors_for_files(iterFile('incorrect_license.rs'), [], [tidy.check_license]) self.assertEqual('incorrect license', errors.next()[2]) + self.assertNoMoreErrors(errors) def test_rust(self): errors = tidy.collect_errors_for_files(iterFile('rust_tidy.rs'), [], [tidy.check_rust]) @@ -61,19 +70,24 @@ class CheckTidiness(unittest.TestCase): self.assertEqual('extra space before :', errors.next()[2]) self.assertEqual('use &[T] instead of &Vec<T>', errors.next()[2]) self.assertEqual('use &str instead of &String', errors.next()[2]) + self.assertEqual('operators should go at the end of the first line', errors.next()[2]) + self.assertNoMoreErrors(errors) def test_spec_link(self): tidy.spec_base_path = base_path errors = tidy.collect_errors_for_files(iterFile('speclink.rs'), [], [tidy.check_spec]) self.assertEqual('method declared in webidl is missing a comment with a specification link', errors.next()[2]) + self.assertNoMoreErrors(errors) def test_webidl(self): errors = tidy.collect_errors_for_files(iterFile('spec.webidl'), [tidy.check_webidl_spec], []) self.assertEqual('No specification link found.', errors.next()[2]) + self.assertNoMoreErrors(errors) def test_toml(self): errors = tidy.collect_errors_for_files(iterFile('test.toml'), [tidy.check_toml], []) self.assertEqual('found asterisk instead of minimum version number', errors.next()[2]) + self.assertNoMoreErrors(errors) def test_modeline(self): errors = tidy.collect_errors_for_files(iterFile('modeline.txt'), [], [tidy.check_modeline]) diff --git a/resources/badcert.html b/resources/badcert.html index 023a833e796..f90a547dc6a 100644 --- a/resources/badcert.html +++ b/resources/badcert.html @@ -3,6 +3,6 @@ <title>Certificate error</title> </head> <body> - <img src="badcert.jpg"> + <img src="chrome://badcert.jpg"> </body> </html> diff --git a/support/android/build-apk/src/main.rs b/support/android/build-apk/src/main.rs index 80f7464bc7d..f9326f76452 100644 --- a/support/android/build-apk/src/main.rs +++ b/support/android/build-apk/src/main.rs @@ -274,9 +274,9 @@ fn find_native_libs(args: &Args) -> HashMap<String, PathBuf> { (Some(file_name), Some(extension)) => { let file_name = file_name.to_str().unwrap(); - if file_name.starts_with("lib") - && extension == "so" - && args.shared_libraries.contains(file_name) { + if file_name.starts_with("lib") && + extension == "so" && + args.shared_libraries.contains(file_name) { println!("Adding the file {:?}", file_name); native_shared_libs.insert(file_name.to_string(), path.to_path_buf().clone()); break; diff --git a/tests/unit/net/chrome_loader.rs b/tests/unit/net/chrome_loader.rs new file mode 100644 index 00000000000..f4697593fce --- /dev/null +++ b/tests/unit/net/chrome_loader.rs @@ -0,0 +1,46 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +use net::chrome_loader::resolve_chrome_url; +use url::Url; + +#[test] +fn test_relative() { + let url = Url::parse("chrome://../something").unwrap(); + assert!(resolve_chrome_url(&url).is_err()); +} + +#[test] +fn test_relative_2() { + let url = Url::parse("chrome://subdir/../something").unwrap(); + assert!(resolve_chrome_url(&url).is_err()); +} + +#[test] +#[cfg(not(target_os = "windows"))] +fn test_absolute() { + let url = Url::parse("chrome:///etc/passwd").unwrap(); + assert!(resolve_chrome_url(&url).is_err()); +} + +#[test] +#[cfg(target_os = "windows")] +fn test_absolute_2() { + let url = Url::parse("chrome://C:\\Windows").unwrap(); + assert!(resolve_chrome_url(&url).is_err()); +} + +#[test] +#[cfg(target_os = "windows")] +fn test_absolute_3() { + let url = Url::parse("chrome://\\\\server/C$").unwrap(); + assert!(resolve_chrome_url(&url).is_err()); +} + +#[test] +fn test_valid() { + let url = Url::parse("chrome://badcert.jpg").unwrap(); + let resolved = resolve_chrome_url(&url).unwrap(); + assert_eq!(resolved.scheme, "file"); +} diff --git a/tests/unit/net/data_loader.rs b/tests/unit/net/data_loader.rs index 50ee8771490..2f887f5a2bc 100644 --- a/tests/unit/net/data_loader.rs +++ b/tests/unit/net/data_loader.rs @@ -7,7 +7,7 @@ extern crate hyper; use ipc_channel::ipc; use net_traits::LoadConsumer::Channel; use net_traits::ProgressMsg::{Payload, Done}; -use net_traits::{LoadData, LoadContext}; +use net_traits::{LoadData, LoadContext, NetworkError}; use self::hyper::header::ContentType; use self::hyper::mime::{Mime, TopLevel, SubLevel, Attr, Value}; @@ -36,7 +36,7 @@ fn assert_parse(url: &'static str, match data { None => { - assert_eq!(progress, Done(Err("invalid data uri".to_owned()))); + assert_eq!(progress, Done(Err(NetworkError::Internal("invalid data uri".to_owned())))); } Some(dat) => { assert_eq!(progress, Payload(dat)); diff --git a/tests/unit/net/http_loader.rs b/tests/unit/net/http_loader.rs index 3b9da166a45..833787a4007 100644 --- a/tests/unit/net/http_loader.rs +++ b/tests/unit/net/http_loader.rs @@ -20,6 +20,7 @@ use msg::constellation_msg::PipelineId; use net::cookie::Cookie; use net::cookie_storage::CookieStorage; use net::hsts::HstsEntry; +use net::http_loader::LoadErrorType; use net::http_loader::{load, LoadError, HttpRequestFactory, HttpRequest, HttpResponse, UIProvider, HttpState}; use net::resource_thread::{AuthCacheEntry, CancellationListener}; use net_traits::{LoadData, CookieSource, LoadContext, IncludeSubdomains}; @@ -1075,9 +1076,8 @@ fn test_load_errors_when_there_a_redirect_loop() { match load(&load_data, &ui_provider, &http_state, None, &Factory, DEFAULT_USER_AGENT.to_owned(), &CancellationListener::new(None)) { - Err(LoadError::InvalidRedirect(_, msg)) => { - assert_eq!(msg, "redirect loop"); - }, + Err(ref load_err) if load_err.error == LoadErrorType::InvalidRedirect => + assert_eq!(&load_err.reason, "redirect loop"), _ => panic!("expected max redirects to fail") } } @@ -1110,10 +1110,11 @@ fn test_load_errors_when_there_is_too_many_redirects() { match load(&load_data, &ui_provider, &http_state, None, &Factory, DEFAULT_USER_AGENT.to_owned(), &CancellationListener::new(None)) { - Err(LoadError::MaxRedirects(url, num_redirects)) => { + Err(LoadError { error: LoadErrorType::MaxRedirects(num_redirects), + url, .. }) => { assert_eq!(num_redirects, redirect_limit as u32); - assert_eq!(url.domain().unwrap(), "mozilla.com") - }, + assert_eq!(url.domain().unwrap(), "mozilla.com"); + } _ => panic!("expected max redirects to fail") } @@ -1166,7 +1167,7 @@ impl HttpRequestFactory for DontConnectFactory { type R = MockRequest; fn create(&self, url: Url, _: Method, _: Headers) -> Result<MockRequest, LoadError> { - Err(LoadError::Connection(url, "should not have connected".to_owned())) + Err(LoadError::new(url, LoadErrorType::Connection, "should not have connected".to_owned())) } } @@ -1184,7 +1185,7 @@ fn test_load_errors_when_scheme_is_not_http_or_https() { &DontConnectFactory, DEFAULT_USER_AGENT.to_owned(), &CancellationListener::new(None)) { - Err(LoadError::UnsupportedScheme(_)) => {} + Err(ref load_err) if load_err.error == LoadErrorType::UnsupportedScheme => (), _ => panic!("expected ftp scheme to be unsupported") } } @@ -1203,7 +1204,7 @@ fn test_load_errors_when_viewing_source_and_inner_url_scheme_is_not_http_or_http &DontConnectFactory, DEFAULT_USER_AGENT.to_owned(), &CancellationListener::new(None)) { - Err(LoadError::UnsupportedScheme(_)) => {} + Err(ref load_err) if load_err.error == LoadErrorType::UnsupportedScheme => (), _ => panic!("expected ftp scheme to be unsupported") } } @@ -1245,7 +1246,7 @@ fn test_load_errors_when_cancelled() { &Factory, DEFAULT_USER_AGENT.to_owned(), &cancel_listener) { - Err(LoadError::Cancelled(_, _)) => (), + Err(ref load_err) if load_err.error == LoadErrorType::Cancelled => (), _ => panic!("expected load cancelled error!") } } @@ -1381,7 +1382,7 @@ fn test_if_auth_creds_not_in_url_but_in_cache_it_sets_it() { password: "test".to_owned(), }; - http_state.auth_cache.write().unwrap().insert(url.clone(), auth_entry); + http_state.auth_cache.write().unwrap().entries.insert(url.clone(), auth_entry); let mut load_data = LoadData::new(LoadContext::Browsing, url, None); load_data.credentials_flag = true; diff --git a/tests/unit/net/lib.rs b/tests/unit/net/lib.rs index 7de91fb7738..4e8e38dc854 100644 --- a/tests/unit/net/lib.rs +++ b/tests/unit/net/lib.rs @@ -18,6 +18,7 @@ extern crate unicase; extern crate url; extern crate util; +#[cfg(test)] mod chrome_loader; #[cfg(test)] mod cookie; #[cfg(test)] mod data_loader; #[cfg(test)] mod file_loader; diff --git a/tests/unit/net/resource_thread.rs b/tests/unit/net/resource_thread.rs index fdaa0cd6bdb..ecba392d4fb 100644 --- a/tests/unit/net/resource_thread.rs +++ b/tests/unit/net/resource_thread.rs @@ -5,7 +5,7 @@ use ipc_channel::ipc; use net::resource_thread::new_resource_thread; use net_traits::hosts::{parse_hostsfile, host_replacement}; -use net_traits::{ControlMsg, LoadData, LoadConsumer, ProgressMsg, LoadContext}; +use net_traits::{ControlMsg, LoadData, LoadConsumer, LoadContext, NetworkError, ProgressMsg}; use std::borrow::ToOwned; use std::collections::HashMap; use std::sync::mpsc::channel; @@ -213,9 +213,7 @@ fn test_cancelled_listener() { // (but, the loading has been cancelled) let _ = body_sender.send(body); let response = receiver.recv().unwrap(); - match response.progress_port.recv().unwrap() { - ProgressMsg::Done(result) => assert_eq!(result.unwrap_err(), "load cancelled".to_owned()), - _ => panic!("baaaah!"), - } + assert_eq!(response.progress_port.recv().unwrap(), + ProgressMsg::Done(Err(NetworkError::Internal("load cancelled".to_owned())))); resource_thread.send(ControlMsg::Exit).unwrap(); } diff --git a/tests/unit/profile/Cargo.toml b/tests/unit/profile/Cargo.toml new file mode 100644 index 00000000000..812a304660d --- /dev/null +++ b/tests/unit/profile/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "profile_tests" +version = "0.0.1" +authors = ["The Servo Project Developers"] + +[lib] +name = "profile_tests" +path = "lib.rs" +doctest = false + +[dependencies.profile] +path = "../../../components/profile" + +[dependencies.profile_traits] +path = "../../../components/profile_traits" diff --git a/tests/unit/profile/lib.rs b/tests/unit/profile/lib.rs new file mode 100644 index 00000000000..f60883d4211 --- /dev/null +++ b/tests/unit/profile/lib.rs @@ -0,0 +1,9 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +extern crate profile; +extern crate profile_traits; + +#[cfg(test)] +mod time; diff --git a/tests/unit/profile/time.rs b/tests/unit/profile/time.rs new file mode 100644 index 00000000000..b3156f40f87 --- /dev/null +++ b/tests/unit/profile/time.rs @@ -0,0 +1,15 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +use profile::time; +use profile_traits::time::ProfilerMsg; + +#[test] +fn time_profiler_smoke_test() { + let chan = time::Profiler::create(None); + assert!(true, "Can create the profiler thread"); + + chan.send(ProfilerMsg::Exit); + assert!(true, "Can tell the profiler thread to exit"); +} diff --git a/tests/wpt/css-tests/compositing-1_dev/html/chapter-12.htm b/tests/wpt/css-tests/compositing-1_dev/html/chapter-12.htm index 42cfc9e39b9..5bc61693f83 100644 --- a/tests/wpt/css-tests/compositing-1_dev/html/chapter-12.htm +++ b/tests/wpt/css-tests/compositing-1_dev/html/chapter-12.htm @@ -36,76 +36,76 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-2dcontext2"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3bg"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3color"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-porterduff"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-svg11"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#biblio-porterduff"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-2dcontext2"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-css3color"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-svg11"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/compositing-1_dev/xhtml1/chapter-12.xht b/tests/wpt/css-tests/compositing-1_dev/xhtml1/chapter-12.xht index 4b457ead38c..50de6eda679 100644 --- a/tests/wpt/css-tests/compositing-1_dev/xhtml1/chapter-12.xht +++ b/tests/wpt/css-tests/compositing-1_dev/xhtml1/chapter-12.xht @@ -36,76 +36,76 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-2dcontext2"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3bg"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3color"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-porterduff"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-svg11"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#biblio-porterduff"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-2dcontext2"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-css3color"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-svg11"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/compositing-1_dev/xhtml1print/chapter-12.xht b/tests/wpt/css-tests/compositing-1_dev/xhtml1print/chapter-12.xht index 4b457ead38c..50de6eda679 100644 --- a/tests/wpt/css-tests/compositing-1_dev/xhtml1print/chapter-12.xht +++ b/tests/wpt/css-tests/compositing-1_dev/xhtml1print/chapter-12.xht @@ -36,76 +36,76 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-2dcontext2"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3bg"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3color"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-porterduff"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-svg11"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#biblio-porterduff"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-2dcontext2"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-css3color"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-svg11"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-animations-1_dev/html/chapter-8.htm b/tests/wpt/css-tests/css-animations-1_dev/html/chapter-8.htm index 75c65214e2a..64047167d74 100644 --- a/tests/wpt/css-tests/css-animations-1_dev/html/chapter-8.htm +++ b/tests/wpt/css-tests/css-animations-1_dev/html/chapter-8.htm @@ -33,43 +33,43 @@ <a href="https://www.w3.org/TR/css3-animations/#references">8 References</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s8.#CSS21"> + <tbody id="s8.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s8.#CSS3-TRANSITIONS"> + <tbody id="s8.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s8.#CSS3VAL"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s8.#WCAG20"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s8.#normative-references"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s8.#other-references"> + <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#editors-list"> + <tbody id="slongstatus-date.#editors-list"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#longstatus-date"> + <tbody id="snormative-references.#CSS3-TRANSITIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sother-references.#CSS3VAL"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sother-references.#WCAG20"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-animations-1_dev/xhtml1/chapter-8.xht b/tests/wpt/css-tests/css-animations-1_dev/xhtml1/chapter-8.xht index d2529165d8a..4e5cd943233 100644 --- a/tests/wpt/css-tests/css-animations-1_dev/xhtml1/chapter-8.xht +++ b/tests/wpt/css-tests/css-animations-1_dev/xhtml1/chapter-8.xht @@ -33,43 +33,43 @@ <a href="https://www.w3.org/TR/css3-animations/#references">8 References</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s8.#CSS21"> + <tbody id="s8.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s8.#CSS3-TRANSITIONS"> + <tbody id="s8.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s8.#CSS3VAL"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s8.#WCAG20"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s8.#normative-references"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s8.#other-references"> + <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#editors-list"> + <tbody id="slongstatus-date.#editors-list"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#longstatus-date"> + <tbody id="snormative-references.#CSS3-TRANSITIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sother-references.#CSS3VAL"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sother-references.#WCAG20"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-backgrounds-3_dev/html4/chapter-11.htm b/tests/wpt/css-tests/css-backgrounds-3_dev/html4/chapter-11.htm index eb1bb5c10a0..25765402e6a 100644 --- a/tests/wpt/css-tests/css-backgrounds-3_dev/html4/chapter-11.htm +++ b/tests/wpt/css-tests/css-backgrounds-3_dev/html4/chapter-11.htm @@ -39,64 +39,64 @@ <tbody id="s11.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS-2010"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS-SHAPES"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS1"> + <tbody id="s.#editors-list"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS21"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3-BREAK"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3-IMAGES"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3-TRANSITIONS"> + <tbody id="snormative-references.#ref-CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3COLOR"> + <tbody id="snormative-references.#ref-HTML401"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-HTML401"> + <tbody id="snormative-references.#ref-RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-RFC2119"> + <tbody id="snormative-references.#ref-XHTML11"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-WCAG20"> + <tbody id="sother-references.#ref-CSS-2010"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-XHTML11"> + <tbody id="sother-references.#ref-CSS-SHAPES"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-XML11"> + <tbody id="sother-references.#ref-CSS1"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="sother-references.#ref-CSS3-BREAK"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sother-references.#ref-CSS3-IMAGES"> <!-- 0 tests --> </tbody> - <tbody id="s.#editors-list"> + <tbody id="sother-references.#ref-CSS3-TRANSITIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sother-references.#ref-CSS3COLOR"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sother-references.#ref-WCAG20"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sother-references.#ref-XML11"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-backgrounds-3_dev/xhtml1/chapter-11.xht b/tests/wpt/css-tests/css-backgrounds-3_dev/xhtml1/chapter-11.xht index 6aa97dd3639..89addb31f29 100644 --- a/tests/wpt/css-tests/css-backgrounds-3_dev/xhtml1/chapter-11.xht +++ b/tests/wpt/css-tests/css-backgrounds-3_dev/xhtml1/chapter-11.xht @@ -39,64 +39,64 @@ <tbody id="s11.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS-2010"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS-SHAPES"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS1"> + <tbody id="s.#editors-list"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS21"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3-BREAK"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3-IMAGES"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3-TRANSITIONS"> + <tbody id="snormative-references.#ref-CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3COLOR"> + <tbody id="snormative-references.#ref-HTML401"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-HTML401"> + <tbody id="snormative-references.#ref-RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-RFC2119"> + <tbody id="snormative-references.#ref-XHTML11"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-WCAG20"> + <tbody id="sother-references.#ref-CSS-2010"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-XHTML11"> + <tbody id="sother-references.#ref-CSS-SHAPES"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-XML11"> + <tbody id="sother-references.#ref-CSS1"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="sother-references.#ref-CSS3-BREAK"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sother-references.#ref-CSS3-IMAGES"> <!-- 0 tests --> </tbody> - <tbody id="s.#editors-list"> + <tbody id="sother-references.#ref-CSS3-TRANSITIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sother-references.#ref-CSS3COLOR"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sother-references.#ref-WCAG20"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sother-references.#ref-XML11"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-backgrounds-3_dev/xhtml1print/chapter-11.xht b/tests/wpt/css-tests/css-backgrounds-3_dev/xhtml1print/chapter-11.xht index 6aa97dd3639..89addb31f29 100644 --- a/tests/wpt/css-tests/css-backgrounds-3_dev/xhtml1print/chapter-11.xht +++ b/tests/wpt/css-tests/css-backgrounds-3_dev/xhtml1print/chapter-11.xht @@ -39,64 +39,64 @@ <tbody id="s11.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS-2010"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS-SHAPES"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS1"> + <tbody id="s.#editors-list"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS21"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3-BREAK"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3-IMAGES"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3-TRANSITIONS"> + <tbody id="snormative-references.#ref-CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-CSS3COLOR"> + <tbody id="snormative-references.#ref-HTML401"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-HTML401"> + <tbody id="snormative-references.#ref-RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-RFC2119"> + <tbody id="snormative-references.#ref-XHTML11"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-WCAG20"> + <tbody id="sother-references.#ref-CSS-2010"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-XHTML11"> + <tbody id="sother-references.#ref-CSS-SHAPES"> <!-- 0 tests --> </tbody> - <tbody id="s11.#ref-XML11"> + <tbody id="sother-references.#ref-CSS1"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="sother-references.#ref-CSS3-BREAK"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sother-references.#ref-CSS3-IMAGES"> <!-- 0 tests --> </tbody> - <tbody id="s.#editors-list"> + <tbody id="sother-references.#ref-CSS3-TRANSITIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sother-references.#ref-CSS3COLOR"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sother-references.#ref-WCAG20"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sother-references.#ref-XML11"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-break-3_dev/html/chapter-3.htm b/tests/wpt/css-tests/css-break-3_dev/html/chapter-3.htm index 20a30e358f9..8a2dbbf2aa4 100644 --- a/tests/wpt/css-tests/css-break-3_dev/html/chapter-3.htm +++ b/tests/wpt/css-tests/css-break-3_dev/html/chapter-3.htm @@ -63,42 +63,6 @@ <tbody id="s3.1.#region-break-values"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.#valdef-break-before-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid-column"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid-page"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid-region"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-column"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-left"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-page"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-recto"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-region"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-right"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-verso"> - <!-- 0 tests --> - </tbody> <tbody id="s3.2"> <tr><th colspan="4" scope="rowgroup"> <a href="#s3.2">+</a> diff --git a/tests/wpt/css-tests/css-break-3_dev/html/chapter-5.htm b/tests/wpt/css-tests/css-break-3_dev/html/chapter-5.htm index d89fd0352c1..25b98d3d27e 100644 --- a/tests/wpt/css-tests/css-break-3_dev/html/chapter-5.htm +++ b/tests/wpt/css-tests/css-break-3_dev/html/chapter-5.htm @@ -186,139 +186,175 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> + <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-cascade-3"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-display-3"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-masking-1"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-page-3"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-position-3"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-regions-1"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-shapes-1"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-sizing-3"> + <tbody id="s.#tagline"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="scolumn-break-values.#valdef-break-before-avoid-column"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-flexbox"> + <tbody id="scolumn-break-values.#valdef-break-before-column"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-regions"> + <tbody id="sconform-responsible.#conform-future-proofing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-sizing"> + <tbody id="sconform-responsible.#conform-partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-transforms"> + <tbody id="sconform-responsible.#conform-testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="sconformance.#conform-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3bg"> + <tbody id="sconformance.#conform-responsible"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3col"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3page"> + <tbody id="sconformance.#document-conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3text"> + <tbody id="sdocument-conventions.#example-a13d9f9a"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3val"> + <tbody id="sgeneric-break-values.#valdef-break-before-auto"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sgeneric-break-values.#valdef-break-before-avoid"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-classes"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-future-proofing"> + <tbody id="sinformative.#biblio-css3-flexbox"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-partial"> + <tbody id="sinformative.#biblio-css3-sizing"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-responsible"> + <tbody id="sinformative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-testing"> + <tbody id="sinformative.#biblio-css3text"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css3val"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="snormative.#biblio-css-backgrounds-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="snormative.#biblio-css-cascade-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#document-conventions"> + <tbody id="snormative.#biblio-css-display-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-a13d9f9a"> + <tbody id="snormative.#biblio-css-masking-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css-page-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="snormative.#biblio-css-position-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="snormative.#biblio-css-regions-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css-shapes-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-css-sizing-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-css-writing-modes-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-css3-regions"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-css3-transforms"> <!-- 0 tests --> </tbody> - <tbody id="s.#tagline"> + <tbody id="snormative.#biblio-css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3page"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-avoid-page"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-left"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-page"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-recto"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-right"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-verso"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sregion-break-values.#valdef-break-before-avoid-region"> + <!-- 0 tests --> + </tbody> + <tbody id="sregion-break-values.#valdef-break-before-region"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-break-3_dev/xhtml1/chapter-3.xht b/tests/wpt/css-tests/css-break-3_dev/xhtml1/chapter-3.xht index 1e2c3f30380..e767d5e23e7 100644 --- a/tests/wpt/css-tests/css-break-3_dev/xhtml1/chapter-3.xht +++ b/tests/wpt/css-tests/css-break-3_dev/xhtml1/chapter-3.xht @@ -63,42 +63,6 @@ <tbody id="s3.1.#region-break-values"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.#valdef-break-before-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid-column"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid-page"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid-region"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-column"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-left"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-page"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-recto"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-region"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-right"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-verso"> - <!-- 0 tests --> - </tbody> <tbody id="s3.2"> <tr><th colspan="4" scope="rowgroup"> <a href="#s3.2">+</a> diff --git a/tests/wpt/css-tests/css-break-3_dev/xhtml1/chapter-5.xht b/tests/wpt/css-tests/css-break-3_dev/xhtml1/chapter-5.xht index a8afffb05ff..96866e44217 100644 --- a/tests/wpt/css-tests/css-break-3_dev/xhtml1/chapter-5.xht +++ b/tests/wpt/css-tests/css-break-3_dev/xhtml1/chapter-5.xht @@ -186,139 +186,175 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> + <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-cascade-3"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-display-3"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-masking-1"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-page-3"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-position-3"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-regions-1"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-shapes-1"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-sizing-3"> + <tbody id="s.#tagline"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="scolumn-break-values.#valdef-break-before-avoid-column"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-flexbox"> + <tbody id="scolumn-break-values.#valdef-break-before-column"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-regions"> + <tbody id="sconform-responsible.#conform-future-proofing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-sizing"> + <tbody id="sconform-responsible.#conform-partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-transforms"> + <tbody id="sconform-responsible.#conform-testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="sconformance.#conform-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3bg"> + <tbody id="sconformance.#conform-responsible"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3col"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3page"> + <tbody id="sconformance.#document-conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3text"> + <tbody id="sdocument-conventions.#example-a13d9f9a"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3val"> + <tbody id="sgeneric-break-values.#valdef-break-before-auto"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sgeneric-break-values.#valdef-break-before-avoid"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-classes"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-future-proofing"> + <tbody id="sinformative.#biblio-css3-flexbox"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-partial"> + <tbody id="sinformative.#biblio-css3-sizing"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-responsible"> + <tbody id="sinformative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-testing"> + <tbody id="sinformative.#biblio-css3text"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css3val"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="snormative.#biblio-css-backgrounds-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="snormative.#biblio-css-cascade-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#document-conventions"> + <tbody id="snormative.#biblio-css-display-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-a13d9f9a"> + <tbody id="snormative.#biblio-css-masking-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css-page-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="snormative.#biblio-css-position-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="snormative.#biblio-css-regions-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css-shapes-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-css-sizing-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-css-writing-modes-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-css3-regions"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-css3-transforms"> <!-- 0 tests --> </tbody> - <tbody id="s.#tagline"> + <tbody id="snormative.#biblio-css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3page"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-avoid-page"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-left"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-page"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-recto"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-right"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-verso"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sregion-break-values.#valdef-break-before-avoid-region"> + <!-- 0 tests --> + </tbody> + <tbody id="sregion-break-values.#valdef-break-before-region"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-break-3_dev/xhtml1print/chapter-3.xht b/tests/wpt/css-tests/css-break-3_dev/xhtml1print/chapter-3.xht index 1e2c3f30380..e767d5e23e7 100644 --- a/tests/wpt/css-tests/css-break-3_dev/xhtml1print/chapter-3.xht +++ b/tests/wpt/css-tests/css-break-3_dev/xhtml1print/chapter-3.xht @@ -63,42 +63,6 @@ <tbody id="s3.1.#region-break-values"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.#valdef-break-before-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid-column"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid-page"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-avoid-region"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-column"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-left"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-page"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-recto"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-region"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-right"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.#valdef-break-before-verso"> - <!-- 0 tests --> - </tbody> <tbody id="s3.2"> <tr><th colspan="4" scope="rowgroup"> <a href="#s3.2">+</a> diff --git a/tests/wpt/css-tests/css-break-3_dev/xhtml1print/chapter-5.xht b/tests/wpt/css-tests/css-break-3_dev/xhtml1print/chapter-5.xht index a8afffb05ff..96866e44217 100644 --- a/tests/wpt/css-tests/css-break-3_dev/xhtml1print/chapter-5.xht +++ b/tests/wpt/css-tests/css-break-3_dev/xhtml1print/chapter-5.xht @@ -186,139 +186,175 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> + <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-cascade-3"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-display-3"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-masking-1"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-page-3"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-position-3"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-regions-1"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-shapes-1"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-sizing-3"> + <tbody id="s.#tagline"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="scolumn-break-values.#valdef-break-before-avoid-column"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-flexbox"> + <tbody id="scolumn-break-values.#valdef-break-before-column"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-regions"> + <tbody id="sconform-responsible.#conform-future-proofing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-sizing"> + <tbody id="sconform-responsible.#conform-partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-transforms"> + <tbody id="sconform-responsible.#conform-testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="sconformance.#conform-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3bg"> + <tbody id="sconformance.#conform-responsible"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3col"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3page"> + <tbody id="sconformance.#document-conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3text"> + <tbody id="sdocument-conventions.#example-a13d9f9a"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3val"> + <tbody id="sgeneric-break-values.#valdef-break-before-auto"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sgeneric-break-values.#valdef-break-before-avoid"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-classes"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-future-proofing"> + <tbody id="sinformative.#biblio-css3-flexbox"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-partial"> + <tbody id="sinformative.#biblio-css3-sizing"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-responsible"> + <tbody id="sinformative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-testing"> + <tbody id="sinformative.#biblio-css3text"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css3val"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="snormative.#biblio-css-backgrounds-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="snormative.#biblio-css-cascade-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#document-conventions"> + <tbody id="snormative.#biblio-css-display-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-a13d9f9a"> + <tbody id="snormative.#biblio-css-masking-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css-page-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="snormative.#biblio-css-position-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="snormative.#biblio-css-regions-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css-shapes-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-css-sizing-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-css-writing-modes-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-css3-regions"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-css3-transforms"> <!-- 0 tests --> </tbody> - <tbody id="s.#tagline"> + <tbody id="snormative.#biblio-css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3page"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-avoid-page"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-left"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-page"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-recto"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-right"> + <!-- 0 tests --> + </tbody> + <tbody id="spage-break-values.#valdef-break-before-verso"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sregion-break-values.#valdef-break-before-avoid-region"> + <!-- 0 tests --> + </tbody> + <tbody id="sregion-break-values.#valdef-break-before-region"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-conditional-3_dev/html/chapter-9.htm b/tests/wpt/css-tests/css-conditional-3_dev/html/chapter-9.htm index 27a2c5796f5..b5c5599a765 100644 --- a/tests/wpt/css-tests/css-conditional-3_dev/html/chapter-9.htm +++ b/tests/wpt/css-tests/css-conditional-3_dev/html/chapter-9.htm @@ -33,55 +33,55 @@ <a href="https://www.w3.org/TR/css3-conditional/#changes">9 Changes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS1"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-ANIMATIONS"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-FONTS"> + <tbody id="s.#grammar"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-TRANSITIONS"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#MEDIAQ"> + <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2119"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="snormative-references.#CSS3-ANIMATIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#grammar"> + <tbody id="snormative-references.#CSS3-FONTS"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative-references.#MEDIAQ"> <!-- 0 tests --> </tbody> - <tbody id="s.#longstatus-date"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="sother-references.#CSS1"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="sother-references.#CSS3-TRANSITIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-conditional-3_dev/xhtml1/chapter-9.xht b/tests/wpt/css-tests/css-conditional-3_dev/xhtml1/chapter-9.xht index 5b285b4729d..0ca64583b57 100644 --- a/tests/wpt/css-tests/css-conditional-3_dev/xhtml1/chapter-9.xht +++ b/tests/wpt/css-tests/css-conditional-3_dev/xhtml1/chapter-9.xht @@ -33,55 +33,55 @@ <a href="https://www.w3.org/TR/css3-conditional/#changes">9 Changes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS1"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-ANIMATIONS"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-FONTS"> + <tbody id="s.#grammar"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-TRANSITIONS"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#MEDIAQ"> + <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2119"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="snormative-references.#CSS3-ANIMATIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#grammar"> + <tbody id="snormative-references.#CSS3-FONTS"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative-references.#MEDIAQ"> <!-- 0 tests --> </tbody> - <tbody id="s.#longstatus-date"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="sother-references.#CSS1"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="sother-references.#CSS3-TRANSITIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-conditional-3_dev/xhtml1print/chapter-9.xht b/tests/wpt/css-tests/css-conditional-3_dev/xhtml1print/chapter-9.xht index 5b285b4729d..0ca64583b57 100644 --- a/tests/wpt/css-tests/css-conditional-3_dev/xhtml1print/chapter-9.xht +++ b/tests/wpt/css-tests/css-conditional-3_dev/xhtml1print/chapter-9.xht @@ -33,55 +33,55 @@ <a href="https://www.w3.org/TR/css3-conditional/#changes">9 Changes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS1"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-ANIMATIONS"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-FONTS"> + <tbody id="s.#grammar"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-TRANSITIONS"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#MEDIAQ"> + <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2119"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="snormative-references.#CSS3-ANIMATIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#grammar"> + <tbody id="snormative-references.#CSS3-FONTS"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative-references.#MEDIAQ"> <!-- 0 tests --> </tbody> - <tbody id="s.#longstatus-date"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="sother-references.#CSS1"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="sother-references.#CSS3-TRANSITIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-counter-styles-3_dev/html/chapter-10.htm b/tests/wpt/css-tests/css-counter-styles-3_dev/html/chapter-10.htm index 4b85366dc1b..afd7a28731b 100644 --- a/tests/wpt/css-tests/css-counter-styles-3_dev/html/chapter-10.htm +++ b/tests/wpt/css-tests/css-counter-styles-3_dev/html/chapter-10.htm @@ -39,121 +39,121 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-animations-1"> + <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-content-3"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-images-3"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-lists-3"> + <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-pseudo-4"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-syntax-3"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-text-3"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-values-3"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3list"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom-1"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom-ls"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-mediaqueries-4"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-predefined-counter-styles"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="sconventions.#example-f839f6c8"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-css3list"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sinformative.#biblio-predefined-counter-styles"> <!-- 0 tests --> </tbody> - <tbody id="s.#counter-style-descriptor-table"> + <tbody id="snormative.#biblio-css-animations-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="snormative.#biblio-css-content-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-f839f6c8"> + <tbody id="snormative.#biblio-css-images-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="snormative.#biblio-css-lists-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#idl-index"> + <tbody id="snormative.#biblio-css-pseudo-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css-syntax-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="snormative.#biblio-css-text-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="snormative.#biblio-css-values-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-cssom-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-dom-ls"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-mediaqueries-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="sproperty-index.#counter-style-descriptor-table"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-counter-styles-3_dev/xhtml1/chapter-10.xht b/tests/wpt/css-tests/css-counter-styles-3_dev/xhtml1/chapter-10.xht index 05a0aa2d12b..1c745b25f35 100644 --- a/tests/wpt/css-tests/css-counter-styles-3_dev/xhtml1/chapter-10.xht +++ b/tests/wpt/css-tests/css-counter-styles-3_dev/xhtml1/chapter-10.xht @@ -39,121 +39,121 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-animations-1"> + <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-content-3"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-images-3"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-lists-3"> + <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-pseudo-4"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-syntax-3"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-text-3"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-values-3"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3list"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom-1"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom-ls"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-mediaqueries-4"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-predefined-counter-styles"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="sconventions.#example-f839f6c8"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-css3list"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sinformative.#biblio-predefined-counter-styles"> <!-- 0 tests --> </tbody> - <tbody id="s.#counter-style-descriptor-table"> + <tbody id="snormative.#biblio-css-animations-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="snormative.#biblio-css-content-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-f839f6c8"> + <tbody id="snormative.#biblio-css-images-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="snormative.#biblio-css-lists-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#idl-index"> + <tbody id="snormative.#biblio-css-pseudo-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css-syntax-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="snormative.#biblio-css-text-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="snormative.#biblio-css-values-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-cssom-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-dom-ls"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-mediaqueries-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="sproperty-index.#counter-style-descriptor-table"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-counter-styles-3_dev/xhtml1print/chapter-10.xht b/tests/wpt/css-tests/css-counter-styles-3_dev/xhtml1print/chapter-10.xht index 05a0aa2d12b..1c745b25f35 100644 --- a/tests/wpt/css-tests/css-counter-styles-3_dev/xhtml1print/chapter-10.xht +++ b/tests/wpt/css-tests/css-counter-styles-3_dev/xhtml1print/chapter-10.xht @@ -39,121 +39,121 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-animations-1"> + <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-content-3"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-images-3"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-lists-3"> + <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-pseudo-4"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-syntax-3"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-text-3"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-values-3"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3list"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom-1"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom-ls"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-mediaqueries-4"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-predefined-counter-styles"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="sconventions.#example-f839f6c8"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-css3list"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sinformative.#biblio-predefined-counter-styles"> <!-- 0 tests --> </tbody> - <tbody id="s.#counter-style-descriptor-table"> + <tbody id="snormative.#biblio-css-animations-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="snormative.#biblio-css-content-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-f839f6c8"> + <tbody id="snormative.#biblio-css-images-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="snormative.#biblio-css-lists-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#idl-index"> + <tbody id="snormative.#biblio-css-pseudo-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css-syntax-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="snormative.#biblio-css-text-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="snormative.#biblio-css-values-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-cssom-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-dom-ls"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-mediaqueries-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="sproperty-index.#counter-style-descriptor-table"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-exclusions-1_dev/html/chapter-3.htm b/tests/wpt/css-tests/css-exclusions-1_dev/html/chapter-3.htm index 42a065d6c40..ce54084d85e 100644 --- a/tests/wpt/css-tests/css-exclusions-1_dev/html/chapter-3.htm +++ b/tests/wpt/css-tests/css-exclusions-1_dev/html/chapter-3.htm @@ -334,73 +334,73 @@ <tbody id="s.#acks"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-flexbox"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-grid-layout"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3box"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#issues-index"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sinformative.#biblio-css3-flexbox"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="sinformative.#biblio-css3-grid-layout"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-css3box"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-exclusions-1_dev/xhtml1/chapter-3.xht b/tests/wpt/css-tests/css-exclusions-1_dev/xhtml1/chapter-3.xht index 0908041915b..5459aed9eb7 100644 --- a/tests/wpt/css-tests/css-exclusions-1_dev/xhtml1/chapter-3.xht +++ b/tests/wpt/css-tests/css-exclusions-1_dev/xhtml1/chapter-3.xht @@ -334,73 +334,73 @@ <tbody id="s.#acks"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-flexbox"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-grid-layout"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3box"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#issues-index"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sinformative.#biblio-css3-flexbox"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="sinformative.#biblio-css3-grid-layout"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-css3box"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-exclusions-1_dev/xhtml1print/chapter-3.xht b/tests/wpt/css-tests/css-exclusions-1_dev/xhtml1print/chapter-3.xht index 0908041915b..5459aed9eb7 100644 --- a/tests/wpt/css-tests/css-exclusions-1_dev/xhtml1print/chapter-3.xht +++ b/tests/wpt/css-tests/css-exclusions-1_dev/xhtml1print/chapter-3.xht @@ -334,73 +334,73 @@ <tbody id="s.#acks"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-flexbox"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-grid-layout"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3box"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#issues-index"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sinformative.#biblio-css3-flexbox"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="sinformative.#biblio-css3-grid-layout"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-css3box"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-flexbox-1_dev/html/chapter-11.htm b/tests/wpt/css-tests/css-flexbox-1_dev/html/chapter-11.htm index 5d8e74ea347..d4814cafe8e 100644 --- a/tests/wpt/css-tests/css-flexbox-1_dev/html/chapter-11.htm +++ b/tests/wpt/css-tests/css-flexbox-1_dev/html/chapter-11.htm @@ -39,351 +39,21 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-align-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-break-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-cascade-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-display-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-images-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-pseudo-4"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-sizing-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-text-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-ui-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-align"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-break"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-display"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-writing-modes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3col"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3ui"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-atomic-painting"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-basis-zero"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-continuity"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-line-bug"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-line-floor"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-intrinsic-ratio"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-intrinsic-sizes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-main-depend-cross"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-min-width"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-percent-margins"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-static-pos"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-stretch-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-stretch-definite"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-unresolvable-basis"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2014-blockify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-abspos-ordering"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-clamp-single-line"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-clarify-stretched"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-css21-staticpos"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-definite-flexing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-flex-animation"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-flex-basis-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-max-intrinsic"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-intrinsic-percentages"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-main-size-basis"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-not"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-ratio"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-resolve-flex"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-substantive"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-algo-breaks"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-align-content-wrapping"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-clamped-specified"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-content"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-display-longhands"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-flexed-definite-container"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-inner-base-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-layout-vs-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-min-auto-specified-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-neither"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-substantive"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-table-wrappers"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-unclamped-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-a11y-tools"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-align-self-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-anonymous-fixup"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-flex-basis-zero"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-intrinsic-cross-container"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-intrinsic-items"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-intrinsic-main-container"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-min-auto-intrinsic-percentages"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-min-max-constraint"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-percentage-margins"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201505-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201505-substantive"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes-2012"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-2014-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-2014-substantive"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-201403"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-201409"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-2015-first-fragment"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-201505"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-abspos-items"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-clamping"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-display-blockification"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-first-line-letter"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-flex-container-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-float-display"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-line-breaking"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-overflow-flex-containers"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-painting-order"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-stretch-computed-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-table-anon-boxes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-white-space"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-classes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-future-proofing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-partial"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-responsible"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#document-conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-a13d9f9a"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-cd819179"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-e79a6187"> - <!-- 0 tests --> - </tbody> <tbody id="s.#example-ede42902"> <!-- 0 tests --> </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#overview-example"> <!-- 0 tests --> </tbody> @@ -408,12 +78,6 @@ <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#toc"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-flexbox-1_dev/html/chapter-A.htm b/tests/wpt/css-tests/css-flexbox-1_dev/html/chapter-A.htm index ffd6a223a92..ba320a0a669 100644 --- a/tests/wpt/css-tests/css-flexbox-1_dev/html/chapter-A.htm +++ b/tests/wpt/css-tests/css-flexbox-1_dev/html/chapter-A.htm @@ -42,6 +42,342 @@ <tbody id="sA.#axis-mapping-table-ja"> <!-- 0 tests --> </tbody> + <tbody id="schange-201403-clarify.#change-201403-abspos-ordering"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-clarify.#change-201403-clarify-stretched"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-clarify.#change-201403-css21-staticpos"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-clamp-single-line"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-definite-flexing"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-flex-animation"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-flex-basis-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-max-intrinsic"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-intrinsic-percentages"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-main-size-basis"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-not"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-ratio"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-resolve-flex"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-clamped-specified"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-display-longhands"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-layout-vs-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-table-wrappers"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-unclamped-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-2014-blockify"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-algo-breaks"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-align-content-wrapping"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-content"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-flexed-definite-container"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-inner-base-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-min-auto-specified-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-neither"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-a11y-tools"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-align-self-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-anonymous-fixup"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-flex-basis-zero"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-intrinsic-cross-container"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-intrinsic-items"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-intrinsic-main-container"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-min-auto-intrinsic-percentages"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-min-max-constraint"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-percentage-margins"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#changes-2015-first-fragment"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#example-e79a6187"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-2012"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-201403"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-201409"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-201505"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2012.#changes-2014-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2012.#changes-2014-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-abspos-items"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-clamping"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-display-blockification"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-first-line-letter"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-flex-container-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-float-display"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-line-breaking"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-overflow-flex-containers"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-painting-order"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-stretch-computed-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-table-anon-boxes"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-white-space"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-atomic-painting"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-basis-zero"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-continuity"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-line-bug"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-line-floor"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-intrinsic-ratio"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-intrinsic-sizes"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-main-depend-cross"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-min-width"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-percent-margins"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-static-pos"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-stretch-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-stretch-definite"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-unresolvable-basis"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#example-cd819179"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201403.#change-201403-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201403.#change-201403-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201409.#change-201409-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201409.#change-201409-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201505.#change-201505-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201505.#change-201505-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="sconform-responsible.#conform-future-proofing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconform-responsible.#conform-partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconform-responsible.#conform-testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conform-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conform-responsible"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#document-conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sdocument-conventions.#example-a13d9f9a"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-align"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3ui"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-align-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-break-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-cascade-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-display-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-images-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-pseudo-4"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-sizing-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-text-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-ui-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-writing-modes-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-break"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-display"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-writing-modes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#toc"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1/chapter-11.xht b/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1/chapter-11.xht index a702146daea..46f2234a8a4 100644 --- a/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1/chapter-11.xht +++ b/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1/chapter-11.xht @@ -39,351 +39,21 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-align-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-break-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-cascade-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-display-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-images-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-pseudo-4"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-sizing-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-text-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-ui-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-align"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-break"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-display"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-writing-modes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3col"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3ui"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-atomic-painting"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-basis-zero"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-continuity"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-line-bug"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-line-floor"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-intrinsic-ratio"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-intrinsic-sizes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-main-depend-cross"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-min-width"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-percent-margins"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-static-pos"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-stretch-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-stretch-definite"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-unresolvable-basis"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2014-blockify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-abspos-ordering"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-clamp-single-line"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-clarify-stretched"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-css21-staticpos"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-definite-flexing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-flex-animation"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-flex-basis-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-max-intrinsic"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-intrinsic-percentages"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-main-size-basis"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-not"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-ratio"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-resolve-flex"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-substantive"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-algo-breaks"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-align-content-wrapping"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-clamped-specified"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-content"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-display-longhands"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-flexed-definite-container"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-inner-base-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-layout-vs-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-min-auto-specified-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-neither"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-substantive"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-table-wrappers"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-unclamped-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-a11y-tools"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-align-self-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-anonymous-fixup"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-flex-basis-zero"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-intrinsic-cross-container"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-intrinsic-items"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-intrinsic-main-container"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-min-auto-intrinsic-percentages"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-min-max-constraint"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-percentage-margins"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201505-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201505-substantive"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes-2012"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-2014-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-2014-substantive"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-201403"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-201409"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-2015-first-fragment"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-201505"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-abspos-items"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-clamping"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-display-blockification"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-first-line-letter"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-flex-container-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-float-display"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-line-breaking"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-overflow-flex-containers"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-painting-order"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-stretch-computed-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-table-anon-boxes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-white-space"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-classes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-future-proofing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-partial"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-responsible"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#document-conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-a13d9f9a"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-cd819179"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-e79a6187"> - <!-- 0 tests --> - </tbody> <tbody id="s.#example-ede42902"> <!-- 0 tests --> </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#overview-example"> <!-- 0 tests --> </tbody> @@ -408,12 +78,6 @@ <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#toc"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1/chapter-A.xht b/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1/chapter-A.xht index b8a302f79fb..217f09efd81 100644 --- a/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1/chapter-A.xht +++ b/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1/chapter-A.xht @@ -42,6 +42,342 @@ <tbody id="sA.#axis-mapping-table-ja"> <!-- 0 tests --> </tbody> + <tbody id="schange-201403-clarify.#change-201403-abspos-ordering"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-clarify.#change-201403-clarify-stretched"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-clarify.#change-201403-css21-staticpos"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-clamp-single-line"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-definite-flexing"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-flex-animation"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-flex-basis-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-max-intrinsic"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-intrinsic-percentages"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-main-size-basis"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-not"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-ratio"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-resolve-flex"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-clamped-specified"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-display-longhands"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-layout-vs-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-table-wrappers"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-unclamped-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-2014-blockify"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-algo-breaks"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-align-content-wrapping"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-content"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-flexed-definite-container"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-inner-base-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-min-auto-specified-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-neither"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-a11y-tools"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-align-self-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-anonymous-fixup"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-flex-basis-zero"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-intrinsic-cross-container"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-intrinsic-items"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-intrinsic-main-container"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-min-auto-intrinsic-percentages"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-min-max-constraint"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-percentage-margins"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#changes-2015-first-fragment"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#example-e79a6187"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-2012"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-201403"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-201409"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-201505"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2012.#changes-2014-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2012.#changes-2014-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-abspos-items"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-clamping"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-display-blockification"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-first-line-letter"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-flex-container-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-float-display"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-line-breaking"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-overflow-flex-containers"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-painting-order"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-stretch-computed-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-table-anon-boxes"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-white-space"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-atomic-painting"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-basis-zero"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-continuity"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-line-bug"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-line-floor"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-intrinsic-ratio"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-intrinsic-sizes"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-main-depend-cross"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-min-width"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-percent-margins"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-static-pos"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-stretch-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-stretch-definite"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-unresolvable-basis"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#example-cd819179"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201403.#change-201403-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201403.#change-201403-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201409.#change-201409-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201409.#change-201409-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201505.#change-201505-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201505.#change-201505-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="sconform-responsible.#conform-future-proofing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconform-responsible.#conform-partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconform-responsible.#conform-testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conform-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conform-responsible"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#document-conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sdocument-conventions.#example-a13d9f9a"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-align"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3ui"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-align-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-break-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-cascade-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-display-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-images-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-pseudo-4"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-sizing-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-text-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-ui-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-writing-modes-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-break"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-display"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-writing-modes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#toc"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1print/chapter-11.xht b/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1print/chapter-11.xht index a702146daea..46f2234a8a4 100644 --- a/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1print/chapter-11.xht +++ b/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1print/chapter-11.xht @@ -39,351 +39,21 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-align-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-break-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-cascade-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-display-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-images-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-pseudo-4"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-sizing-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-text-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-ui-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-align"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-break"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-display"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-writing-modes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3col"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3ui"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-atomic-painting"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-basis-zero"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-continuity"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-line-bug"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-flex-line-floor"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-intrinsic-ratio"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-intrinsic-sizes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-main-depend-cross"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-min-width"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-percent-margins"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-static-pos"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-stretch-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-stretch-definite"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2012-unresolvable-basis"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2014-blockify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-abspos-ordering"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-clamp-single-line"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-clarify-stretched"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-css21-staticpos"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-definite-flexing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-flex-animation"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-flex-basis-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-max-intrinsic"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-intrinsic-percentages"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-main-size-basis"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-not"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-min-auto-ratio"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-resolve-flex"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201403-substantive"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-algo-breaks"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-align-content-wrapping"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-clamped-specified"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-content"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-display-longhands"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-flexed-definite-container"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-inner-base-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-layout-vs-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-min-auto-specified-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-neither"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-substantive"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-table-wrappers"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201409-unclamped-size"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-a11y-tools"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-align-self-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-anonymous-fixup"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-flex-basis-zero"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-intrinsic-cross-container"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-intrinsic-items"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-intrinsic-main-container"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-min-auto-intrinsic-percentages"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-min-max-constraint"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-2015-percentage-margins"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201505-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#change-201505-substantive"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes-2012"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-2014-clarify"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-2014-substantive"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-201403"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-201409"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-2015-first-fragment"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#changes-201505"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-abspos-items"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-clamping"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-display-blockification"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-first-line-letter"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-flex-container-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-float-display"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-line-breaking"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-overflow-flex-containers"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-painting-order"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-stretch-computed-auto"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-table-anon-boxes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#clarify-2012-white-space"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-classes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-future-proofing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-partial"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-responsible"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#conform-testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#document-conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-a13d9f9a"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-cd819179"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-e79a6187"> - <!-- 0 tests --> - </tbody> <tbody id="s.#example-ede42902"> <!-- 0 tests --> </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#overview-example"> <!-- 0 tests --> </tbody> @@ -408,12 +78,6 @@ <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#toc"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1print/chapter-A.xht b/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1print/chapter-A.xht index b8a302f79fb..217f09efd81 100644 --- a/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1print/chapter-A.xht +++ b/tests/wpt/css-tests/css-flexbox-1_dev/xhtml1print/chapter-A.xht @@ -42,6 +42,342 @@ <tbody id="sA.#axis-mapping-table-ja"> <!-- 0 tests --> </tbody> + <tbody id="schange-201403-clarify.#change-201403-abspos-ordering"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-clarify.#change-201403-clarify-stretched"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-clarify.#change-201403-css21-staticpos"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-clamp-single-line"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-definite-flexing"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-flex-animation"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-flex-basis-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-max-intrinsic"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-intrinsic-percentages"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-main-size-basis"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-not"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-min-auto-ratio"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201403-substantive.#change-201403-resolve-flex"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-clamped-specified"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-display-longhands"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-layout-vs-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-table-wrappers"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-clarify.#change-201409-unclamped-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-2014-blockify"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-algo-breaks"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-align-content-wrapping"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-content"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-flexed-definite-container"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-inner-base-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-min-auto-specified-size"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201409-substantive.#change-201409-neither"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-a11y-tools"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-align-self-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-anonymous-fixup"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-flex-basis-zero"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-intrinsic-cross-container"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-intrinsic-items"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-intrinsic-main-container"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-min-auto-intrinsic-percentages"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-min-max-constraint"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#change-2015-percentage-margins"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#changes-2015-first-fragment"> + <!-- 0 tests --> + </tbody> + <tbody id="schange-201505-substantive.#example-e79a6187"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-2012"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-201403"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-201409"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges.#changes-201505"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2012.#changes-2014-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2012.#changes-2014-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-abspos-items"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-clamping"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-display-blockification"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-first-line-letter"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-flex-container-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-float-display"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-line-breaking"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-overflow-flex-containers"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-painting-order"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-stretch-computed-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-table-anon-boxes"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-clarify.#clarify-2012-white-space"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-atomic-painting"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-basis-zero"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-continuity"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-line-bug"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-flex-line-floor"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-intrinsic-ratio"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-intrinsic-sizes"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-main-depend-cross"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-min-width"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-percent-margins"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-static-pos"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-stretch-auto"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-stretch-definite"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#change-2012-unresolvable-basis"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-2014-substantive.#example-cd819179"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201403.#change-201403-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201403.#change-201403-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201409.#change-201409-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201409.#change-201409-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201505.#change-201505-clarify"> + <!-- 0 tests --> + </tbody> + <tbody id="schanges-201505.#change-201505-substantive"> + <!-- 0 tests --> + </tbody> + <tbody id="sconform-responsible.#conform-future-proofing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconform-responsible.#conform-partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconform-responsible.#conform-testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conform-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conform-responsible"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#document-conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sdocument-conventions.#example-a13d9f9a"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-align"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3ui"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-align-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-break-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-cascade-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-display-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-images-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-pseudo-4"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-sizing-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-text-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-ui-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-writing-modes-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-break"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-display"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-writing-modes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#toc"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-3.htm b/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-3.htm index 6fcdcc7c7c3..50e5874d818 100644 --- a/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-3.htm +++ b/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-3.htm @@ -1001,48 +1001,18 @@ <a href="https://www.w3.org/TR/css-fonts-3/#generic-font-families">3.1.1 Generic font families</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#cursive"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#cursive-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#cursive0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#fantasy"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#fantasy-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#fantasy0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#monospace"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#monospace-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#monospace0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#sans-serif"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#sans-serif-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#sans-serif0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#serif"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#serif-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#serif0"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-8.htm b/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-8.htm index 9636aebf4cc..d9b7398c164 100644 --- a/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-8.htm +++ b/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-8.htm @@ -51,150 +51,33 @@ <tbody id="s8.2.#cssfontfeaturevaluesrule"> <!-- 0 tests --> </tbody> - <tbody id="s.#AAT-FEATURES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#ARABIC-TYPO"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CHARMOD"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CHARMOD-NORM"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CJKV-INFO-PROCESSING"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CORS"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-CONDITIONAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3TEXT"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3VAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#DIGITAL-TYPOGRAPHY"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#DOM-LEVEL-2-STYLE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#ELEMTYPO"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#HTML5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#LANGCULTTYPE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPEN-FONT-FORMAT"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPENTYPE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPENTYPE-FEATURES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPENTYPE-FONT-GUIDE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RASTER-TRAGEDY"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX15"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX29"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UNICODE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#WINDOWS-GLYPH-PROC"> - <!-- 0 tests --> - </tbody> <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#atrisk"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#authoring-tool"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#authors"> - <!-- 0 tests --> - </tbody> <tbody id="s.#ch-ch-ch-changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#other-references"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#recent-changes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#renderer"> - <!-- 0 tests --> - </tbody> <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#style-sheet"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#w3c-candidate-recommendation-3-october-2"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-A.htm b/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-A.htm index 7530cc441bb..7473a87e76e 100644 --- a/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-A.htm +++ b/tests/wpt/css-tests/css-fonts-3_dev/html/chapter-A.htm @@ -33,6 +33,153 @@ <a href="https://www.w3.org/TR/css-fonts-3/#platform-props-to-css">A Mapping platform font properties to CSS properties</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sch-ch-ch-changes.#recent-changes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#authoring-tool"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#renderer"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#style-sheet"> + <!-- 0 tests --> + </tbody> + <tbody id="scursive0.#cursive"> + <!-- 0 tests --> + </tbody> + <tbody id="scursive0.#cursive-def"> + <!-- 0 tests --> + </tbody> + <tbody id="sfantasy0.#fantasy"> + <!-- 0 tests --> + </tbody> + <tbody id="sfantasy0.#fantasy-def"> + <!-- 0 tests --> + </tbody> + <tbody id="smonospace0.#monospace"> + <!-- 0 tests --> + </tbody> + <tbody id="smonospace0.#monospace-def"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CHARMOD"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CORS"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3VAL"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#HTML5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#OPEN-FONT-FORMAT"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#OPENTYPE"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#OPENTYPE-FEATURES"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#RFC2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#UAX15"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#UAX29"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#UNICODE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#AAT-FEATURES"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#ARABIC-TYPO"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CHARMOD-NORM"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CJKV-INFO-PROCESSING"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CSS3-CONDITIONAL"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CSS3TEXT"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#DIGITAL-TYPOGRAPHY"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#DOM-LEVEL-2-STYLE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#ELEMTYPO"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#LANGCULTTYPE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#OPENTYPE-FONT-GUIDE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#RASTER-TRAGEDY"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#WINDOWS-GLYPH-PROC"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative-references"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#other-references"> + <!-- 0 tests --> + </tbody> + <tbody id="ssans-serif0.#sans-serif"> + <!-- 0 tests --> + </tbody> + <tbody id="ssans-serif0.#sans-serif-def"> + <!-- 0 tests --> + </tbody> + <tbody id="sserif0.#serif"> + <!-- 0 tests --> + </tbody> + <tbody id="sserif0.#serif-def"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#atrisk"> + <!-- 0 tests --> + </tbody> + <tbody id="sw3c-candidate-recommendation-3-october-2.#authors"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-3.xht b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-3.xht index 9790e150e86..66dd131f4d3 100644 --- a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-3.xht +++ b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-3.xht @@ -1001,48 +1001,18 @@ <a href="https://www.w3.org/TR/css-fonts-3/#generic-font-families">3.1.1 Generic font families</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#cursive"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#cursive-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#cursive0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#fantasy"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#fantasy-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#fantasy0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#monospace"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#monospace-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#monospace0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#sans-serif"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#sans-serif-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#sans-serif0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#serif"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#serif-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#serif0"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-8.xht b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-8.xht index 9d6da8544e0..97607699012 100644 --- a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-8.xht +++ b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-8.xht @@ -51,150 +51,33 @@ <tbody id="s8.2.#cssfontfeaturevaluesrule"> <!-- 0 tests --> </tbody> - <tbody id="s.#AAT-FEATURES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#ARABIC-TYPO"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CHARMOD"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CHARMOD-NORM"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CJKV-INFO-PROCESSING"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CORS"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-CONDITIONAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3TEXT"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3VAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#DIGITAL-TYPOGRAPHY"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#DOM-LEVEL-2-STYLE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#ELEMTYPO"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#HTML5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#LANGCULTTYPE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPEN-FONT-FORMAT"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPENTYPE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPENTYPE-FEATURES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPENTYPE-FONT-GUIDE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RASTER-TRAGEDY"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX15"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX29"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UNICODE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#WINDOWS-GLYPH-PROC"> - <!-- 0 tests --> - </tbody> <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#atrisk"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#authoring-tool"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#authors"> - <!-- 0 tests --> - </tbody> <tbody id="s.#ch-ch-ch-changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#other-references"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#recent-changes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#renderer"> - <!-- 0 tests --> - </tbody> <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#style-sheet"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#w3c-candidate-recommendation-3-october-2"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-A.xht b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-A.xht index 4d30b33f78c..7e83b939977 100644 --- a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-A.xht +++ b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1/chapter-A.xht @@ -33,6 +33,153 @@ <a href="https://www.w3.org/TR/css-fonts-3/#platform-props-to-css">A Mapping platform font properties to CSS properties</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sch-ch-ch-changes.#recent-changes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#authoring-tool"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#renderer"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#style-sheet"> + <!-- 0 tests --> + </tbody> + <tbody id="scursive0.#cursive"> + <!-- 0 tests --> + </tbody> + <tbody id="scursive0.#cursive-def"> + <!-- 0 tests --> + </tbody> + <tbody id="sfantasy0.#fantasy"> + <!-- 0 tests --> + </tbody> + <tbody id="sfantasy0.#fantasy-def"> + <!-- 0 tests --> + </tbody> + <tbody id="smonospace0.#monospace"> + <!-- 0 tests --> + </tbody> + <tbody id="smonospace0.#monospace-def"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CHARMOD"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CORS"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3VAL"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#HTML5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#OPEN-FONT-FORMAT"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#OPENTYPE"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#OPENTYPE-FEATURES"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#RFC2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#UAX15"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#UAX29"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#UNICODE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#AAT-FEATURES"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#ARABIC-TYPO"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CHARMOD-NORM"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CJKV-INFO-PROCESSING"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CSS3-CONDITIONAL"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CSS3TEXT"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#DIGITAL-TYPOGRAPHY"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#DOM-LEVEL-2-STYLE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#ELEMTYPO"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#LANGCULTTYPE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#OPENTYPE-FONT-GUIDE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#RASTER-TRAGEDY"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#WINDOWS-GLYPH-PROC"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative-references"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#other-references"> + <!-- 0 tests --> + </tbody> + <tbody id="ssans-serif0.#sans-serif"> + <!-- 0 tests --> + </tbody> + <tbody id="ssans-serif0.#sans-serif-def"> + <!-- 0 tests --> + </tbody> + <tbody id="sserif0.#serif"> + <!-- 0 tests --> + </tbody> + <tbody id="sserif0.#serif-def"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#atrisk"> + <!-- 0 tests --> + </tbody> + <tbody id="sw3c-candidate-recommendation-3-october-2.#authors"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-3.xht b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-3.xht index 9790e150e86..66dd131f4d3 100644 --- a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-3.xht +++ b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-3.xht @@ -1001,48 +1001,18 @@ <a href="https://www.w3.org/TR/css-fonts-3/#generic-font-families">3.1.1 Generic font families</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#cursive"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#cursive-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#cursive0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#fantasy"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#fantasy-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#fantasy0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#monospace"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#monospace-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#monospace0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#sans-serif"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#sans-serif-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#sans-serif0"> <!-- 0 tests --> </tbody> - <tbody id="s3.1.1.#serif"> - <!-- 0 tests --> - </tbody> - <tbody id="s3.1.1.#serif-def"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.1.#serif0"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-8.xht b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-8.xht index 9d6da8544e0..97607699012 100644 --- a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-8.xht +++ b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-8.xht @@ -51,150 +51,33 @@ <tbody id="s8.2.#cssfontfeaturevaluesrule"> <!-- 0 tests --> </tbody> - <tbody id="s.#AAT-FEATURES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#ARABIC-TYPO"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CHARMOD"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CHARMOD-NORM"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CJKV-INFO-PROCESSING"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CORS"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-CONDITIONAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3TEXT"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3VAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#DIGITAL-TYPOGRAPHY"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#DOM-LEVEL-2-STYLE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#ELEMTYPO"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#HTML5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#LANGCULTTYPE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPEN-FONT-FORMAT"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPENTYPE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPENTYPE-FEATURES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#OPENTYPE-FONT-GUIDE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RASTER-TRAGEDY"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX15"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX29"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UNICODE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#WINDOWS-GLYPH-PROC"> - <!-- 0 tests --> - </tbody> <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#atrisk"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#authoring-tool"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#authors"> - <!-- 0 tests --> - </tbody> <tbody id="s.#ch-ch-ch-changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#other-references"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#recent-changes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#renderer"> - <!-- 0 tests --> - </tbody> <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#style-sheet"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#w3c-candidate-recommendation-3-october-2"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-A.xht b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-A.xht index 4d30b33f78c..7e83b939977 100644 --- a/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-A.xht +++ b/tests/wpt/css-tests/css-fonts-3_dev/xhtml1print/chapter-A.xht @@ -33,6 +33,153 @@ <a href="https://www.w3.org/TR/css-fonts-3/#platform-props-to-css">A Mapping platform font properties to CSS properties</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sch-ch-ch-changes.#recent-changes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#authoring-tool"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#renderer"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#style-sheet"> + <!-- 0 tests --> + </tbody> + <tbody id="scursive0.#cursive"> + <!-- 0 tests --> + </tbody> + <tbody id="scursive0.#cursive-def"> + <!-- 0 tests --> + </tbody> + <tbody id="sfantasy0.#fantasy"> + <!-- 0 tests --> + </tbody> + <tbody id="sfantasy0.#fantasy-def"> + <!-- 0 tests --> + </tbody> + <tbody id="smonospace0.#monospace"> + <!-- 0 tests --> + </tbody> + <tbody id="smonospace0.#monospace-def"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CHARMOD"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CORS"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3VAL"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#HTML5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#OPEN-FONT-FORMAT"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#OPENTYPE"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#OPENTYPE-FEATURES"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#RFC2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#UAX15"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#UAX29"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#UNICODE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#AAT-FEATURES"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#ARABIC-TYPO"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CHARMOD-NORM"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CJKV-INFO-PROCESSING"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CSS3-CONDITIONAL"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#CSS3TEXT"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#DIGITAL-TYPOGRAPHY"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#DOM-LEVEL-2-STYLE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#ELEMTYPO"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#LANGCULTTYPE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#OPENTYPE-FONT-GUIDE"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#RASTER-TRAGEDY"> + <!-- 0 tests --> + </tbody> + <tbody id="sother-references.#WINDOWS-GLYPH-PROC"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative-references"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#other-references"> + <!-- 0 tests --> + </tbody> + <tbody id="ssans-serif0.#sans-serif"> + <!-- 0 tests --> + </tbody> + <tbody id="ssans-serif0.#sans-serif-def"> + <!-- 0 tests --> + </tbody> + <tbody id="sserif0.#serif"> + <!-- 0 tests --> + </tbody> + <tbody id="sserif0.#serif-def"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#atrisk"> + <!-- 0 tests --> + </tbody> + <tbody id="sw3c-candidate-recommendation-3-october-2.#authors"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-gcpm-3_dev/html/chapter-6.htm b/tests/wpt/css-tests/css-gcpm-3_dev/html/chapter-6.htm index 61d398fe71f..15385afb9e4 100644 --- a/tests/wpt/css-tests/css-gcpm-3_dev/html/chapter-6.htm +++ b/tests/wpt/css-tests/css-gcpm-3_dev/html/chapter-6.htm @@ -72,72 +72,30 @@ <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3list"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3page"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3syn"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3val"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#dpub-latinreq"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#introduction"> <!-- 0 tests --> </tbody> <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#rfc2119"> - <!-- 0 tests --> - </tbody> <tbody id="s.#status"> <!-- 0 tests --> </tbody> <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-gcpm-3_dev/html/chapter-C.htm b/tests/wpt/css-tests/css-gcpm-3_dev/html/chapter-C.htm index 1cea70e740e..f128c155746 100644 --- a/tests/wpt/css-tests/css-gcpm-3_dev/html/chapter-C.htm +++ b/tests/wpt/css-tests/css-gcpm-3_dev/html/chapter-C.htm @@ -33,6 +33,48 @@ <a href="https://www.w3.org/TR/css-gcpm-3/#changes">C Changes</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css21"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3list"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3page"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3syn"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3val"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#dpub-latinreq"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1/chapter-6.xht b/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1/chapter-6.xht index 720be33ce1e..75e1989b4fb 100644 --- a/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1/chapter-6.xht +++ b/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1/chapter-6.xht @@ -72,72 +72,30 @@ <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3list"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3page"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3syn"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3val"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#dpub-latinreq"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#introduction"> <!-- 0 tests --> </tbody> <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#rfc2119"> - <!-- 0 tests --> - </tbody> <tbody id="s.#status"> <!-- 0 tests --> </tbody> <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1/chapter-C.xht b/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1/chapter-C.xht index 25dc2efc7f9..7861fb274a6 100644 --- a/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1/chapter-C.xht +++ b/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1/chapter-C.xht @@ -33,6 +33,48 @@ <a href="https://www.w3.org/TR/css-gcpm-3/#changes">C Changes</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css21"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3list"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3page"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3syn"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3val"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#dpub-latinreq"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1print/chapter-6.xht b/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1print/chapter-6.xht index 720be33ce1e..75e1989b4fb 100644 --- a/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1print/chapter-6.xht +++ b/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1print/chapter-6.xht @@ -72,72 +72,30 @@ <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3list"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3page"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3syn"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#css3val"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#dpub-latinreq"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#introduction"> <!-- 0 tests --> </tbody> <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#rfc2119"> - <!-- 0 tests --> - </tbody> <tbody id="s.#status"> <!-- 0 tests --> </tbody> <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1print/chapter-C.xht b/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1print/chapter-C.xht index 25dc2efc7f9..7861fb274a6 100644 --- a/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1print/chapter-C.xht +++ b/tests/wpt/css-tests/css-gcpm-3_dev/xhtml1print/chapter-C.xht @@ -33,6 +33,48 @@ <a href="https://www.w3.org/TR/css-gcpm-3/#changes">C Changes</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css21"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3list"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3page"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3syn"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#css3val"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#dpub-latinreq"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-grid-1_dev/html/chapter-13.htm b/tests/wpt/css-tests/css-grid-1_dev/html/chapter-13.htm index 548bd0ba219..f8b534e1f54 100644 --- a/tests/wpt/css-tests/css-grid-1_dev/html/chapter-13.htm +++ b/tests/wpt/css-tests/css-grid-1_dev/html/chapter-13.htm @@ -48,117 +48,21 @@ <tbody id="s.#acks"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-align-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-break-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-cascade-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-display-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-flexbox-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-multicol-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-overflow-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-pseudo-4"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-sizing-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-syntax-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-align"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-break"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-display"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-flexbox"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-writing-modes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3col"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3val"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-mediaqueries-4"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-f839f6c8"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 1 tests --> <tr id="grid-layout-properties-.#property-index" class="ahem dom script"> @@ -182,15 +86,9 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-grid-1_dev/html/chapter-A.htm b/tests/wpt/css-tests/css-grid-1_dev/html/chapter-A.htm index 2fb8e2bf889..e0276abd247 100644 --- a/tests/wpt/css-tests/css-grid-1_dev/html/chapter-A.htm +++ b/tests/wpt/css-tests/css-grid-1_dev/html/chapter-A.htm @@ -48,6 +48,108 @@ <tbody id="sA.#overgrowable-tracks"> <!-- 0 tests --> </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconventions.#example-f839f6c8"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-flexbox"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-align-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-break-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-cascade-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-display-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-flexbox-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-multicol-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-overflow-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-pseudo-4"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-sizing-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-syntax-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-writing-modes-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-align"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-break"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-display"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-writing-modes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3val"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-mediaqueries-4"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-grid-1_dev/xhtml1/chapter-13.xht b/tests/wpt/css-tests/css-grid-1_dev/xhtml1/chapter-13.xht index 2aa69d0a4e3..02664c22c2b 100644 --- a/tests/wpt/css-tests/css-grid-1_dev/xhtml1/chapter-13.xht +++ b/tests/wpt/css-tests/css-grid-1_dev/xhtml1/chapter-13.xht @@ -48,117 +48,21 @@ <tbody id="s.#acks"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-align-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-break-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-cascade-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-display-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-flexbox-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-multicol-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-overflow-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-pseudo-4"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-sizing-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-syntax-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-align"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-break"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-display"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-flexbox"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-writing-modes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3col"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3val"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-mediaqueries-4"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-f839f6c8"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 1 tests --> <tr id="grid-layout-properties-.#property-index" class="ahem dom script"> @@ -182,15 +86,9 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-grid-1_dev/xhtml1/chapter-A.xht b/tests/wpt/css-tests/css-grid-1_dev/xhtml1/chapter-A.xht index 8314d09d6ee..f6fcd98ce32 100644 --- a/tests/wpt/css-tests/css-grid-1_dev/xhtml1/chapter-A.xht +++ b/tests/wpt/css-tests/css-grid-1_dev/xhtml1/chapter-A.xht @@ -48,6 +48,108 @@ <tbody id="sA.#overgrowable-tracks"> <!-- 0 tests --> </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconventions.#example-f839f6c8"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-flexbox"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-align-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-break-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-cascade-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-display-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-flexbox-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-multicol-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-overflow-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-pseudo-4"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-sizing-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-syntax-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-writing-modes-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-align"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-break"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-display"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-writing-modes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3val"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-mediaqueries-4"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-grid-1_dev/xhtml1print/chapter-13.xht b/tests/wpt/css-tests/css-grid-1_dev/xhtml1print/chapter-13.xht index 2aa69d0a4e3..02664c22c2b 100644 --- a/tests/wpt/css-tests/css-grid-1_dev/xhtml1print/chapter-13.xht +++ b/tests/wpt/css-tests/css-grid-1_dev/xhtml1print/chapter-13.xht @@ -48,117 +48,21 @@ <tbody id="s.#acks"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-align-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-break-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-cascade-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-display-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-flexbox-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-multicol-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-overflow-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-pseudo-4"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-sizing-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-syntax-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-align"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-break"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-display"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-flexbox"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-writing-modes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3col"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3val"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-mediaqueries-4"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-f839f6c8"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 1 tests --> <tr id="grid-layout-properties-.#property-index" class="ahem dom script"> @@ -182,15 +86,9 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-grid-1_dev/xhtml1print/chapter-A.xht b/tests/wpt/css-tests/css-grid-1_dev/xhtml1print/chapter-A.xht index 8314d09d6ee..f6fcd98ce32 100644 --- a/tests/wpt/css-tests/css-grid-1_dev/xhtml1print/chapter-A.xht +++ b/tests/wpt/css-tests/css-grid-1_dev/xhtml1print/chapter-A.xht @@ -48,6 +48,108 @@ <tbody id="sA.#overgrowable-tracks"> <!-- 0 tests --> </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconventions.#example-f839f6c8"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-flexbox"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-align-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-break-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-cascade-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-display-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-flexbox-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-multicol-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-overflow-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-pseudo-4"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-sizing-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-syntax-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-writing-modes-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-align"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-break"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-display"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-writing-modes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3val"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-mediaqueries-4"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-images-3_dev/html/chapter-7.htm b/tests/wpt/css-tests/css-images-3_dev/html/chapter-7.htm index 35aa7438779..8395163ceea 100644 --- a/tests/wpt/css-tests/css-images-3_dev/html/chapter-7.htm +++ b/tests/wpt/css-tests/css-images-3_dev/html/chapter-7.htm @@ -78,73 +78,73 @@ <a href="https://www.w3.org/TR/css3-images/#cr-exit-criteria">7.6 CR Exit Criteria</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS1"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-2D-TRANSFORMS"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3BG"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3COLOR"> + <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3PAGE"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3VAL"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#MEDIA-FRAGS"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#MEDIAQ"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2119"> + <tbody id="snormative-references.#CSS3VAL"> <!-- 0 tests --> </tbody> - <tbody id="s.#SMIL10"> + <tbody id="snormative-references.#MEDIA-FRAGS"> <!-- 0 tests --> </tbody> - <tbody id="s.#SVG11"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="sother-references.#CSS1"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="sother-references.#CSS3-2D-TRANSFORMS"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="sother-references.#CSS3BG"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sother-references.#CSS3COLOR"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sother-references.#CSS3PAGE"> <!-- 0 tests --> </tbody> - <tbody id="s.#longstatus-date"> + <tbody id="sother-references.#MEDIAQ"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="sother-references.#SMIL10"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="sother-references.#SVG11"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sreferences.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-images-3_dev/xhtml1/chapter-7.xht b/tests/wpt/css-tests/css-images-3_dev/xhtml1/chapter-7.xht index 5756b01dd33..76d33b718dd 100644 --- a/tests/wpt/css-tests/css-images-3_dev/xhtml1/chapter-7.xht +++ b/tests/wpt/css-tests/css-images-3_dev/xhtml1/chapter-7.xht @@ -78,73 +78,73 @@ <a href="https://www.w3.org/TR/css3-images/#cr-exit-criteria">7.6 CR Exit Criteria</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS1"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-2D-TRANSFORMS"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3BG"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3COLOR"> + <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3PAGE"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3VAL"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#MEDIA-FRAGS"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#MEDIAQ"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2119"> + <tbody id="snormative-references.#CSS3VAL"> <!-- 0 tests --> </tbody> - <tbody id="s.#SMIL10"> + <tbody id="snormative-references.#MEDIA-FRAGS"> <!-- 0 tests --> </tbody> - <tbody id="s.#SVG11"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="sother-references.#CSS1"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="sother-references.#CSS3-2D-TRANSFORMS"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="sother-references.#CSS3BG"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sother-references.#CSS3COLOR"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sother-references.#CSS3PAGE"> <!-- 0 tests --> </tbody> - <tbody id="s.#longstatus-date"> + <tbody id="sother-references.#MEDIAQ"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="sother-references.#SMIL10"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="sother-references.#SVG11"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sreferences.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-images-3_dev/xhtml1print/chapter-7.xht b/tests/wpt/css-tests/css-images-3_dev/xhtml1print/chapter-7.xht index 5756b01dd33..76d33b718dd 100644 --- a/tests/wpt/css-tests/css-images-3_dev/xhtml1print/chapter-7.xht +++ b/tests/wpt/css-tests/css-images-3_dev/xhtml1print/chapter-7.xht @@ -78,73 +78,73 @@ <a href="https://www.w3.org/TR/css3-images/#cr-exit-criteria">7.6 CR Exit Criteria</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS1"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3-2D-TRANSFORMS"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3BG"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3COLOR"> + <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3PAGE"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS3VAL"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#MEDIA-FRAGS"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#MEDIAQ"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2119"> + <tbody id="snormative-references.#CSS3VAL"> <!-- 0 tests --> </tbody> - <tbody id="s.#SMIL10"> + <tbody id="snormative-references.#MEDIA-FRAGS"> <!-- 0 tests --> </tbody> - <tbody id="s.#SVG11"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="sother-references.#CSS1"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="sother-references.#CSS3-2D-TRANSFORMS"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="sother-references.#CSS3BG"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sother-references.#CSS3COLOR"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sother-references.#CSS3PAGE"> <!-- 0 tests --> </tbody> - <tbody id="s.#longstatus-date"> + <tbody id="sother-references.#MEDIAQ"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="sother-references.#SMIL10"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="sother-references.#SVG11"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sreferences.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/chapter-10.htm b/tests/wpt/css-tests/css-masking-1_dev/html/chapter-10.htm index 90afb3eeb50..4da4f6f80a8 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/html/chapter-10.htm +++ b/tests/wpt/css-tests/css-masking-1_dev/html/chapter-10.htm @@ -39,72 +39,18 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-compositing-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-shapes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-transforms"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3bg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3color"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3val"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-filter-effects"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg11"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> @@ -117,9 +63,6 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/chapter-7.htm b/tests/wpt/css-tests/css-masking-1_dev/html/chapter-7.htm index 921cba7c6f7..c730c735575 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/html/chapter-7.htm +++ b/tests/wpt/css-tests/css-masking-1_dev/html/chapter-7.htm @@ -13,7 +13,7 @@ <body> <h1>CSS Masking Level 1 CR Test Suite</h1> - <h2>Positioned Masks (5 tests)</h2> + <h2>Positioned Masks (49 tests)</h2> <table width="100%"> <col id="test-column"> <col id="refs-column"> @@ -37,7 +37,51 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.1">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-image">7.1 Mask Image Source: the mask-image property</a></th></tr> - <!-- 0 tests --> + <!-- 4 tests --> + <tr id="mask-image-1a-7.1" class="primary"> + <td><strong> + <a href="mask-image-1a.htm">mask-image-1a</a></strong></td> + <td><a href="reference/mask-image-1-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether image as mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-image-1b-7.1" class="primary"> + <td><strong> + <a href="mask-image-1b.htm">mask-image-1b</a></strong></td> + <td><a href="reference/mask-image-1-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether SVG image as mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-image-1c-7.1" class="primary"> + <td><strong> + <a href="mask-image-1c.htm">mask-image-1c</a></strong></td> + <td><a href="reference/mask-image-1-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether SVG mask element as mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-image-2-7.1" class="primary"> + <td><strong> + <a href="mask-image-2.htm">mask-image-2</a></strong></td> + <td><a href="reference/mask-image-2-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether gradient CSS image as mask layer works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.1.#mask-layer-image"> <!-- 0 tests --> @@ -61,7 +105,29 @@ <!-- 0 tests --> </tbody> <tbody id="s7.2.#propdef-mask-mode"> - <!-- 0 tests --> + <!-- 2 tests --> + <tr id="mask-mode-a-7.2.#propdef-mask-mode" class="primary"> + <td><strong> + <a href="mask-mode-a.htm">mask-mode-a</a></strong></td> + <td><a href="reference/mask-mode-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-mode with vector image + <ul class="assert"> + <li>Test checks that mask an SVG image referenced by mask-image is correct with different mask mode.</li> + </ul> + </td> + </tr> + <tr id="mask-mode-b-7.2.#propdef-mask-mode" class="primary"> + <td><strong> + <a href="mask-mode-b.htm">mask-mode-b</a></strong></td> + <td><a href="reference/mask-mode-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-mode with raster image + <ul class="assert"> + <li>Test checks that mask a PNG image referenced by mask-image is correct with different mask mode.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.2.#typedef-masking-mode"> <!-- 0 tests --> @@ -79,7 +145,40 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.3">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat">7.3 Tiling Mask Images: The mask-repeat property</a></th></tr> - <!-- 1 tests --> + <!-- 4 tests --> + <tr id="mask-repeat-1-7.3" class="primary"> + <td><strong> + <a href="mask-repeat-1.htm">mask-repeat-1</a></strong></td> + <td><a href="reference/mask-repeat-1-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-repeat: repeated mask layer image + <ul class="assert"> + <li>Test checks whether repeated mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-repeat-2-7.3" class="primary"> + <td><strong> + <a href="mask-repeat-2.htm">mask-repeat-2</a></strong></td> + <td><a href="reference/mask-repeat-2-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-repeat: repeated mask layer image + <ul class="assert"> + <li>Test checks whether repeated mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-repeat-3-7.3" class="primary"> + <td><strong> + <a href="mask-repeat-3.htm">mask-repeat-3</a></strong></td> + <td><a href="reference/mask-repeat-3-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-repeat: repeated mask layer image + <ul class="assert"> + <li>Test checks whether repeated mask layer works correctly or not.</li> + </ul> + </td> + </tr> <tr id="test-mask-7.3" class=""> <td> <a href="test-mask.htm">test-mask</a></td> @@ -99,7 +198,161 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.4">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-position">7.4 Positioning Mask Images: the mask-position property</a></th></tr> - <!-- 0 tests --> + <!-- 14 tests --> + <tr id="mask-position-1a-7.4" class="primary"> + <td><strong> + <a href="mask-position-1a.htm">mask-position-1a</a></strong></td> + <td><a href="reference/mask-position-1-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-1b-7.4" class="primary"> + <td><strong> + <a href="mask-position-1b.htm">mask-position-1b</a></strong></td> + <td><a href="reference/mask-position-1-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-1c-7.4" class="primary"> + <td><strong> + <a href="mask-position-1c.htm">mask-position-1c</a></strong></td> + <td><a href="reference/mask-position-1-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-2a-7.4" class="primary"> + <td><strong> + <a href="mask-position-2a.htm">mask-position-2a</a></strong></td> + <td><a href="reference/mask-position-2-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-2b-7.4" class="primary"> + <td><strong> + <a href="mask-position-2b.htm">mask-position-2b</a></strong></td> + <td><a href="reference/mask-position-2-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-3a-7.4" class="primary"> + <td><strong> + <a href="mask-position-3a.htm">mask-position-3a</a></strong></td> + <td><a href="reference/mask-position-3-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-3b-7.4" class="primary"> + <td><strong> + <a href="mask-position-3b.htm">mask-position-3b</a></strong></td> + <td><a href="reference/mask-position-3-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4a-7.4" class="primary"> + <td><strong> + <a href="mask-position-4a.htm">mask-position-4a</a></strong></td> + <td><a href="reference/mask-position-4-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4b-7.4" class="primary"> + <td><strong> + <a href="mask-position-4b.htm">mask-position-4b</a></strong></td> + <td><a href="reference/mask-position-4-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4c-7.4" class="primary"> + <td><strong> + <a href="mask-position-4c.htm">mask-position-4c</a></strong></td> + <td><a href="reference/mask-position-4-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4d-7.4" class="primary"> + <td><strong> + <a href="mask-position-4d.htm">mask-position-4d</a></strong></td> + <td><a href="reference/mask-position-4-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-5-7.4" class="primary"> + <td><strong> + <a href="mask-position-5.htm">mask-position-5</a></strong></td> + <td><a href="reference/mask-position-5-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-6-7.4" class="primary"> + <td><strong> + <a href="mask-position-6.htm">mask-position-6</a></strong></td> + <td><a href="reference/mask-position-6-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-7-7.4" class="primary"> + <td><strong> + <a href="mask-position-7.htm">mask-position-7</a></strong></td> + <td><a href="reference/mask-position-7-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.4.#propdef-mask-position"> <!-- 0 tests --> @@ -108,7 +361,18 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.5">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-clip">7.5 Masking Area: the mask-clip property</a></th></tr> - <!-- 0 tests --> + <!-- 1 tests --> + <tr id="mask-clip-1-7.5" class=""> + <td> + <a href="mask-clip-1.htm">mask-clip-1</a></td> + <td><a href="reference/mask-clip-1-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-clip: clip mask image + <ul class="assert"> + <li>border-box, padding-box, and content-box values of mask-clip should clip to the appropriate boxes.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.5.#mask-painting-area"> <!-- 0 tests --> @@ -144,7 +408,29 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.6">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-origin">7.6 Positioning Area: the mask-origin property</a></th></tr> - <!-- 0 tests --> + <!-- 2 tests --> + <tr id="mask-origin-1-7.6" class="primary"> + <td><strong> + <a href="mask-origin-1.htm">mask-origin-1</a></strong></td> + <td><a href="reference/mask-origin-1-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-origin: mask positioning area + <ul class="assert"> + <li>Test checks whether setting mask position area works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-origin-2-7.6" class="primary"> + <td><strong> + <a href="mask-origin-2.htm">mask-origin-2</a></strong></td> + <td><a href="reference/mask-origin-2-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-origin: mask positioning area + <ul class="assert"> + <li>Test checks whether setting mask origin to margin-box works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.6.#mask-positioning-area"> <!-- 0 tests --> @@ -177,7 +463,205 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.7">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-size">7.7 Sizing Mask Images: the mask-size property</a></th></tr> - <!-- 0 tests --> + <!-- 18 tests --> + <tr id="mask-size-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto.htm">mask-size-auto</a></strong></td> + <td><a href="reference/mask-size-auto-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-auto-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto-auto.htm">mask-size-auto-auto</a></strong></td> + <td><a href="reference/mask-size-auto-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-auto-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto-length.htm">mask-size-auto-length</a></strong></td> + <td><a href="reference/mask-size-auto-length-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-auto-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto-percent.htm">mask-size-auto-percent</a></strong></td> + <td><a href="reference/mask-size-auto-length-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain.htm">mask-size-contain</a></strong></td> + <td><a href="reference/mask-size-contain-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-clip-border-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain-clip-border.htm">mask-size-contain-clip-border</a></strong></td> + <td><a href="reference/mask-size-contain-clip-border-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-clip-padding-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain-clip-padding.htm">mask-size-contain-clip-padding</a></strong></td> + <td><a href="reference/mask-size-contain-clip-padding-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-position-fifty-fifty-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain-position-fifty-fifty.htm">mask-size-contain-position-fifty-fifty</a></strong></td> + <td><a href="reference/mask-size-contain-position-fifty-fifty-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-cover-7.7" class="primary"> + <td><strong> + <a href="mask-size-cover.htm">mask-size-cover</a></strong></td> + <td><a href="reference/mask-size-cover-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-length.htm">mask-size-length</a></strong></td> + <td><a href="reference/mask-size-length-length-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-length-auto.htm">mask-size-length-auto</a></strong></td> + <td><a href="reference/mask-size-length-length-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-length-length.htm">mask-size-length-length</a></strong></td> + <td><a href="reference/mask-size-length-length-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-length-percent.htm">mask-size-length-percent</a></strong></td> + <td><a href="reference/mask-size-length-percent-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent.htm">mask-size-percent</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-auto.htm">mask-size-percent-auto</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-length.htm">mask-size-percent-length</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-percent.htm">mask-size-percent-percent</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-percent-stretch-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-percent-stretch.htm">mask-size-percent-percent-stretch</a></strong></td> + <td><a href="reference/mask-size-percent-percent-stretch-ref.htm">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.7.#propdef-mask-size"> <!-- 0 tests --> diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/chapter-C.htm b/tests/wpt/css-tests/css-masking-1_dev/html/chapter-C.htm index b2211d51584..db0c9505f9b 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/html/chapter-C.htm +++ b/tests/wpt/css-tests/css-masking-1_dev/html/chapter-C.htm @@ -39,28 +39,85 @@ <tbody id="sC.#InterfaceSVGMaskElement"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGClipPathElement__clipPathUnits"> + <tbody id="sInterfaceSVGClipPathElement.#SVGClipPathElement__clipPathUnits"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGClipPathElement__transform"> + <tbody id="sInterfaceSVGClipPathElement.#SVGClipPathElement__transform"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__height"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__height"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__maskContentUnits"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__maskContentUnits"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__maskUnits"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__maskUnits"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__width"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__width"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__x"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__x"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__y"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__y"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3color"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-filter-effects"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-compositing-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-shapes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-transforms"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3bg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3val"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg11"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-clip-1.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-clip-1.htm new file mode 100644 index 00000000000..c1760f608c0 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-clip-1.htm @@ -0,0 +1,57 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-clip: clip mask image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="http://www.w3.org/TR/css-masking-1/#the-mask-clip" rel="help"> + <link href="reference/mask-clip-1-ref.htm" rel="match"> + <meta content="border-box, padding-box, and content-box values of mask-clip should clip to the appropriate boxes." name="assert"> + <style type="text/css"> + div { + /* + * content box: 40 x 20 + * padding box: 52 x 38 + * border box: 60 x 50 + * margin box: 66 x 54 + */ + background-color: purple; + position: absolute; + top: 10px; + margin: 1px 2px 3px 4px; + border: solid transparent; + border-width: 8px 2px 4px 6px; + padding: 6px 9px 12px 3px; + width: 40px; + height: 20px; + } + + div.mask { + mask-size: 100% 100%; + mask-origin: border-box; + mask-image: url(support/transparent-100x50-blue-100x50.svg); + } + + div.border { + left: 10px; + mask-clip: border-box; + } + + div.padding { + left: 110px; + mask-clip: padding-box; + } + + div.content { + left: 210px; + mask-clip: content-box; + } + </style> + </head> + <body> + <div class="outer mask border"></div> + <div class="outer mask padding"></div> + <div class="outer mask content"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-1a.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-1a.htm new file mode 100644 index 00000000000..750be39f0f0 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-1a.htm @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help"> + <link href="reference/mask-image-1-ref.htm" rel="match"> + <meta content="Test checks whether image as mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-png { + mask-image: url(support/transparent-100x50-blue-100x50.png); + } + </style> + </head> + <body> + <div class="mask-by-png"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-1b.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-1b.htm new file mode 100644 index 00000000000..2556ec63cf1 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-1b.htm @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help"> + <link href="reference/mask-image-1-ref.htm" rel="match"> + <meta content="Test checks whether SVG image as mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-svg { + mask-image: url(support/transparent-100x50-blue-100x50.svg); + } + </style> + </head> + <body> + <div class="mask-by-svg"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-1c.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-1c.htm new file mode 100644 index 00000000000..73c397457bf --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-1c.htm @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help"> + <link href="reference/mask-image-1-ref.htm" rel="match"> + <meta content="Test checks whether SVG mask element as mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-svg-mask { + mask-image: url(support/mask-half-transparent-100x100.svg#mask); + } + </style> + </head> + <body> + <div class="mask-by-svg-mask"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-2.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-2.htm new file mode 100644 index 00000000000..309af3c6727 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-image-2.htm @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help"> + <link href="reference/mask-image-2-ref.htm" rel="match"> + <meta content="Test checks whether gradient CSS image as mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-gradient-1 { + mask-image: linear-gradient(rgba(0,0,255,0), rgba(0,0,255,1)); /* blue gradient mask */ + } + + div.mask-by-gradient-2 { + mask-image: linear-gradient(rgba(255,0,0,0), rgba(255,0,0,1)); /* red gradient mask */ + } + </style> + </head> + <body> + <div class="mask-by-gradient-1"></div> + <div class="mask-by-gradient-2"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-mode-a.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-mode-a.htm new file mode 100644 index 00000000000..80fb66a883f --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-mode-a.htm @@ -0,0 +1,60 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-mode with vector image</title> + <link href="mailto:ethlin@mozilla.com" rel="author" title="Ethan Lin"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#propdef-mask-mode" rel="help"> + <link href="reference/mask-mode-ref.htm" rel="match"> + <meta content="Test checks that mask an SVG image referenced by mask-image is correct with different mask mode." name="assert"> + <style type="text/css"> + div { + background-color: blue; + position: absolute; + margin: 0px; + padding: 0px; + width: 100px; + height: 100px; + top: 10px; + } + + div.auto { + left: 10px; + mask-mode: match-source; + mask-image: url(support/blue-100x100.svg); + } + + div.alpha { + left: 120px; + mask-mode: alpha; + mask-image: url(support/blue-100x100.svg); + } + + div.luminance1 { + left: 230px; + mask-mode: luminance; + mask-image: url(support/blue-100x100.svg); + } + + div.luminance2 { + left: 340px; + mask-mode: luminance; + mask-image: url(support/red-100x100.svg); + } + + div.luminance3 { + left: 450px; + mask-mode: luminance; + mask-image: url(support/green-100x100.svg); + } + </style> + </head> + <body> + <div class="auto"></div> + <div class="alpha"></div> + <div class="luminance1"></div> + <div class="luminance2"></div> + <div class="luminance3"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-mode-b.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-mode-b.htm new file mode 100644 index 00000000000..3a22b3e48b2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-mode-b.htm @@ -0,0 +1,61 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-mode with raster image</title> + <link href="mailto:ethlin@mozilla.com" rel="author" title="Ethan Lin"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#propdef-mask-mode" rel="help"> + <link href="reference/mask-mode-ref.htm" rel="match"> + <meta content="Test checks that mask a PNG image referenced by mask-image is correct with different mask mode." name="assert"> + <style type="text/css"> + div { + background-color: blue; + position: absolute; + margin: 0px; + padding: 0px; + width: 100px; + height: 100px; + top: 10px; + } + + div.auto { + left: 10px; + mask-mode: match-source; + mask-image: url(support/blue-100x100.png); + } + + div.alpha { + left: 120px; + mask-mode: alpha; + mask-image: url(support/blue-100x100.png); + } + + div.luminance1 { + left: 230px; + mask-mode: luminance; + mask-image: url(support/blue-100x100.png); + } + + div.luminance2 { + left: 340px; + mask-mode: luminance; + mask-image: url(support/red-100x100.png); + } + + div.luminance3 { + left: 450px; + mask-mode: luminance; + mask-image: url(support/green-100x100.png); + } + </style> + </head> + <body> + <div class="auto"></div> + <div class="alpha"></div> + <div class="luminance1"></div> + <div class="luminance2"></div> + <div class="luminance3"></div> + + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-origin-1.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-origin-1.htm new file mode 100644 index 00000000000..632761515a9 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-origin-1.htm @@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-origin" rel="help"> + <link href="reference/mask-origin-1-ref.htm" rel="match"> + <meta content="Test checks whether setting mask position area works correctly or not." name="assert"> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + div.inner { + /* + * content box: 60 x 60 + * padding box: 72 x 78 + * border box: 80 x 90 + * margin box: 86 x 94 + */ + margin: 1px 2px 3px 4px; + border: solid transparent; + border-width: 8px 2px 4px 6px; + padding: 6px 9px 12px 3px; + width: 60px; + height: 60px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-position: left top; + } + + #border { mask-origin: border-box; } + #padding { mask-origin: padding-box; } + #content { mask-origin: content-box; } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div id="border" class="inner"></div></div> + <div class="outer"><div id="padding" class="inner"></div></div> + <div class="outer"><div id="content" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-origin-2.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-origin-2.htm new file mode 100644 index 00000000000..603df4f765a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-origin-2.htm @@ -0,0 +1,77 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-origin" rel="help"> + <link href="reference/mask-origin-2-ref.htm" rel="match"> + <meta content="Test checks whether setting mask origin to margin-box works correctly or not." name="assert"> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 125px; + height: 125px; + } + + div.inner { + /* + * content box: 60 x 60 + * padding box: 72 x 78 + * border box: 80 x 90 + * margin box: 86 x 94 + */ + margin: 1px 2px 3px 4px; + border: solid red; + border-width: 8px 2px 4px 6px; + padding: 6px 9px 12px 3px; + width: 60px; + height: 60px; + position: relative; + background-color: blue; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-origin: margin-box; + } + + div.overflow { + position: absolute; + left: -10px; + top: -9px; + border: solid transparent; + border-width: 15px 13px 19px 13px; + width: 60px; + height: 60px; + background-color: purple; + } + + #pos-left-auto { mask-position: left; } + #pos-left-bottom { mask-position: left bottom; } + #pos-right-top { mask-position: right top; } + #pos-right-bottom { mask-position: right bottom; } + </style> + </head> + <body> + <div class="outer"> + <div id="pos-left-auto" class="inner"> + <div class="overflow"></div> + </div> + </div> + <div class="outer"> + <div id="pos-left-bottom" class="inner"> + <div class="overflow"></div> + </div> + </div> + <div class="outer"> + <div id="pos-right-top" class="inner"> + <div class="overflow"></div> + </div> + </div> + <div class="outer"> + <div id="pos-right-bottom" class="inner"> + <div class="overflow"></div> + </div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-1a.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-1a.htm new file mode 100644 index 00000000000..853b6e828cf --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-1a.htm @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-1-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { mask-position: right 20% bottom 70%; } + #inner2 { mask-position: bottom 70% right 20%; } + #inner3 { mask-position: right 30px bottom 25px; } + #inner4 { mask-position: bottom 25px right 30px; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner3" class="inner"></div></div> + <div class="outer"><div id="inner4" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-1b.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-1b.htm new file mode 100644 index 00000000000..54da3db4dc7 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-1b.htm @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-1-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { mask-position: left 40px top 15px; } + #inner2 { mask-position: top 30% left 80%; } + #inner3 { mask-position: left 20px top 25px } + #inner4 { mask-position: top 25px left 20px; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner3" class="inner"></div></div> + <div class="outer"><div id="inner4" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-1c.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-1c.htm new file mode 100644 index 00000000000..6173aba4129 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-1c.htm @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-1-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { mask-position: left 80% bottom 70%; } + #inner2 { mask-position: right 20% top 30%; } + #inner3 { mask-position: bottom 50% left 40%; } + #inner4 { mask-position: right 60% top 50%; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner3" class="inner"></div></div> + <div class="outer"><div id="inner4" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-2a.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-2a.htm new file mode 100644 index 00000000000..05021888030 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-2a.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-2-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left 40% bottom 60%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-2b.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-2b.htm new file mode 100644 index 00000000000..b5959d9276e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-2b.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-2-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: 40% 40%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-3a.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-3a.htm new file mode 100644 index 00000000000..20e68809087 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-3a.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-3-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: center bottom 80%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-3b.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-3b.htm new file mode 100644 index 00000000000..01ebd795b33 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-3b.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-3-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: center 20%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4a.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4a.htm new file mode 100644 index 00000000000..d0a5e8d8928 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4a.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-4-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left center; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4b.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4b.htm new file mode 100644 index 00000000000..c250fdfbb58 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4b.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-4-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4c.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4c.htm new file mode 100644 index 00000000000..db7366baa15 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4c.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-4-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left bottom 50%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4d.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4d.htm new file mode 100644 index 00000000000..af2caf0273d --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-4d.htm @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-4-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask: url(support/50x50-opaque-blue.svg) left no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-5.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-5.htm new file mode 100644 index 00000000000..0e1894afe64 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-5.htm @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-5-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 120px; + height: 120px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: top, bottom; + mask-repeat: no-repeat, no-repeat; + mask-image: url(support/50x50-opaque-blue.svg), + url(support/50x50-opaque-blue.svg); + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-6.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-6.htm new file mode 100644 index 00000000000..ced15e3e962 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-6.htm @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-6-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + .outer { + border: 1px solid black; + } + + .outer > div { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { + mask-position: left 20px bottom; + } + + #inner2 { + mask-position: left 40% bottom; + } + + #inner3 { + mask-position: right 60% bottom; + } + + #inner4 { + mask-position: right 30px bottom; + } + </style> + </head> + <body> + <div class="outer"><div id="inner1"></div></div> + <div class="outer"><div id="inner2"></div></div> + <div class="outer"><div id="inner3"></div></div> + <div class="outer"><div id="inner4"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-7.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-7.htm new file mode 100644 index 00000000000..216d7c47f2a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-position-7.htm @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help"> + <link href="reference/mask-position-7-ref.htm" rel="match"> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + .outer { + border: 1px solid black; + } + + .outer > div { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { + mask-position: right top 40%; + } + + #inner2 { + mask-position: right top 20px; + } + + #inner3 { + mask-position: right bottom 60%; + } + + #inner4 { + mask-position: right bottom 30px; + } + </style> + </head> + <body> + <div class="outer"><div id="inner1"></div></div> + <div class="outer"><div id="inner2"></div></div> + <div class="outer"><div id="inner3"></div></div> + <div class="outer"><div id="inner4"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-repeat-1.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-repeat-1.htm new file mode 100644 index 00000000000..ccc9d3dd7f2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-repeat-1.htm @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat" rel="help"> + <link href="reference/mask-repeat-1-ref.htm" rel="match"> + <meta content="Test checks whether repeated mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 128px; + height: 128px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + } + + #no-repeat { + mask-repeat: no-repeat no-repeat; + } + #repeat { + mask-repeat: repeat repeat; + } + #repeat-x { + mask-repeat: repeat no-repeat; + } + #repeat-y { + mask-repeat: no-repeat repeat; + } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div id="no-repeat" class="inner"></div></div> + <div class="outer"><div id="repeat" class="inner"></div></div> + <div class="outer"><div id="repeat-x" class="inner"></div></div> + <div class="outer"><div id="repeat-y" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-repeat-2.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-repeat-2.htm new file mode 100644 index 00000000000..bd2962fb4b2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-repeat-2.htm @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat" rel="help"> + <link href="reference/mask-repeat-2-ref.htm" rel="match"> + <meta content="Test checks whether repeated mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 128px; + height: 128px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + } + + #space { + mask-repeat: space; + } + #space-x { + mask-repeat: space no-repeat; + } + #space-y { + mask-repeat: no-repeat space; + } + </style> + </head> + <body> + <div class="outer"><div id="space" class="inner"></div></div> + <div class="outer"><div id="space-x" class="inner"></div></div> + <div class="outer"><div id="space-y" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-repeat-3.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-repeat-3.htm new file mode 100644 index 00000000000..b827dcb74d4 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-repeat-3.htm @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat" rel="help"> + <link href="reference/mask-repeat-3-ref.htm" rel="match"> + <meta content="Test checks whether repeated mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 150px; + height: 150px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + } + + #round { + mask-repeat: round; + } + #round-x { + mask-repeat: round no-repeat; + } + #round-y { + mask-repeat: no-repeat round; + } + </style> + </head> + <body> + <div class="outer"><div id="round" class="inner"></div></div> + <div class="outer"><div id="round-x" class="inner"></div></div> + <div class="outer"><div id="round-y" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto-auto.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto-auto.htm new file mode 100644 index 00000000000..b47b1e398bf --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto-auto.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-auto-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto-length.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto-length.htm new file mode 100644 index 00000000000..cb6db57915b --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto-length.htm @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-auto-length-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 128px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto 20px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto-percent.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto-percent.htm new file mode 100644 index 00000000000..8825be1eefe --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto-percent.htm @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-auto-length-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 128px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto 15.625%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto.htm new file mode 100644 index 00000000000..fc2846f8f98 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-auto.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-auto-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain-clip-border.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain-clip-border.htm new file mode 100644 index 00000000000..87d350b9720 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain-clip-border.htm @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-contain-clip-border-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + border: 20px solid transparent; + width: 24px; + height: 88px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-clip: border-box; + mask-origin: border-box; + mask-size: contain; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain-clip-padding.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain-clip-padding.htm new file mode 100644 index 00000000000..e5fc7aa08dd --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain-clip-padding.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-contain-clip-padding-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + background-color: purple; + border: 20px solid transparent; + width: 24px; + height: 88px; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-clip: padding-box; + mask-origin: padding-box; + mask-size: contain; + } + </style> + </head> + <body> + <div id="outer"><div id="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain-position-fifty-fifty.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain-position-fifty-fifty.htm new file mode 100644 index 00000000000..3913347922a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain-position-fifty-fifty.htm @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-contain-position-fifty-fifty-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: contain; + mask-position: 50% 50%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain.htm new file mode 100644 index 00000000000..50be94d7174 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-contain.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-contain-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 10px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: contain; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-cover.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-cover.htm new file mode 100644 index 00000000000..f917783f7c0 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-cover.htm @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-cover-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + #outer { + border: 10px solid black; + width: 64px; + height: 128px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-origin: content-box; + mask-clip: content-box; + mask-size: cover; + } + </style> + </head> + <body> + <div id="outer"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length-auto.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length-auto.htm new file mode 100644 index 00000000000..aca61194db2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length-auto.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-length-length-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 32px auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length-length.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length-length.htm new file mode 100644 index 00000000000..aca2ce8715f --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length-length.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-length-length-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 32px 64px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length-percent.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length-percent.htm new file mode 100644 index 00000000000..b637c59e206 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length-percent.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-length-percent-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 16px 25%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length.htm new file mode 100644 index 00000000000..bb857429a7a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-length.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-length-length-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 32px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-auto.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-auto.htm new file mode 100644 index 00000000000..9eb4f2e594a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-auto.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-percent-percent-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50% auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-length.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-length.htm new file mode 100644 index 00000000000..5edb7347299 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-length.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-percent-percent-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50% 32px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-percent-stretch.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-percent-stretch.htm new file mode 100644 index 00000000000..76f6ed73f93 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-percent-stretch.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-percent-percent-stretch-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 60px; + height: 120px; + } + + #outer { + border: 10px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/transparent-100x50-blue-100x50.svg); + mask-repeat: no-repeat; + mask-size: 100% 100%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-percent.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-percent.htm new file mode 100644 index 00000000000..44004f8d407 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent-percent.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-percent-percent-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50% 25%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent.htm b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent.htm new file mode 100644 index 00000000000..e7358b0b1d2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/mask-size-percent.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help"> + <link href="reference/mask-size-percent-percent-ref.htm" rel="match"> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert"> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-clip-1-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-clip-1-ref.htm new file mode 100644 index 00000000000..0adeaf391a5 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-clip-1-ref.htm @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS mask-clip reference</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + div { + position: absolute; + top: 10px; + background-color: purple; + } + + div.border { + left: 10px; + margin: 1px 4px; + width: 60px; + height: 25px; + } + + div.padding { + left: 110px; + margin: 9px 10px; + width: 52px; + height: 17px; + } + + div.content { + left: 210px; + margin: 15px 13px; + width: 40px; + height: 11px; + } + </style> + </head> + <body> + <div class="color border"></div> + <div class="color padding"></div> + <div class="color content"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-image-1-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-image-1-ref.htm new file mode 100644 index 00000000000..efb5293d8aa --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-image-1-ref.htm @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 50px; + } + </style> + </head> + <body> + <div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-image-2-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-image-2-ref.htm new file mode 100644 index 00000000000..3642dba9de4 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-image-2-ref.htm @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + div { + background-image: linear-gradient(rgba(128,0,128,0), rgba(128,0,128,1)); + width: 100px; + height: 100px; + } + </style> + </head> + <body> + <div></div> + <div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-mode-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-mode-ref.htm new file mode 100644 index 00000000000..444d0043f5c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-mode-ref.htm @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS mask-mode reference</title> + <link href="mailto:ethlin@mozilla.com" rel="author" title="Ethan Lin"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + div { + background-color: white; + position: absolute; + margin: 0px; + padding: 0px; + width: 100px; + height: 100px; + top: 10px; + } + + div.auto { + left: 10px; + background-image: url(support/blue-100x100.svg); + } + + div.alpha { + left: 120px; + background-image: url(support/blue-100x100.svg); + } + + div.luminance1 { + left: 230px; + background-image: url(support/blue-luminance-100x100.svg); + } + + div.luminance2 { + left: 340px; + background-image: url(support/red-luminance-100x100.svg); + } + + div.luminance3 { + left: 450px; + background-image: url(support/green-luminance-100x100.svg); + } + </style> + </head> + <body> + <div class="auto"></div> + <div class="alpha"></div> + <div class="luminance1"></div> + <div class="luminance2"></div> + <div class="luminance3"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-origin-1-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-origin-1-ref.htm new file mode 100644 index 00000000000..2e8a30dcba6 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-origin-1-ref.htm @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 100px; + height: 100px; + position: relative; + } + + div.inner { + width: 50px; + height: 50px; + background-color: purple; + position: absolute; + } + + #border { left: 4px; top: 1px; } + #padding { left: 10px; top: 9px; } + #content { left: 13px; top: 15px; } + </style> + </head> + <body> + <div class="outer"><div id="border" class="inner"></div></div> + <div class="outer"><div id="border" class="inner"></div></div> + <div class="outer"><div id="padding" class="inner"></div></div> + <div class="outer"><div id="content" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-origin-2-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-origin-2-ref.htm new file mode 100644 index 00000000000..80fda80399f --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-origin-2-ref.htm @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 125px; + height: 125px; + position: relative; + } + + div.inner { + width: 50px; + height: 50px; + background-color: purple; + position: absolute; + } + + #pos-left-auto { left: 0px; top: 22px; } + #pos-left-bottom { left: 0px; top: 44px; } + #pos-right-top { left: 36px; top: 0px; } + #pos-right-bottom { left: 36px; top: 44px; } + </style> + </head> + <body> + <div class="outer"><div id="pos-left-auto" class="inner"></div></div> + <div class="outer"><div id="pos-left-bottom" class="inner"></div></div> + <div class="outer"><div id="pos-right-top" class="inner"></div></div> + <div class="outer"><div id="pos-right-bottom" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-1-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-1-ref.htm new file mode 100644 index 00000000000..97696549a2c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-1-ref.htm @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + div.outer { + position: relative; + width: 100px; + height: 100px; + border: 1px solid black; + } + + div.inner { + position: absolute; + width: 50px; + height: 50px; + background-color: purple; + } + + #inner1 { right: 10px; bottom: 35px; } + #inner2 { right: 30px; bottom: 25px; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-2-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-2-ref.htm new file mode 100644 index 00000000000..faa427d7a7b --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-2-ref.htm @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + #inner { + margin-left: 20px; + margin-top: 20px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-3-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-3-ref.htm new file mode 100644 index 00000000000..ebd09621dc2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-3-ref.htm @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + #inner { + margin-left: 25px; + margin-top: 10px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-4-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-4-ref.htm new file mode 100644 index 00000000000..f08f2cdc0dd --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-4-ref.htm @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + #inner { + margin-left: 0px; + margin-top: 25px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-5-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-5-ref.htm new file mode 100644 index 00000000000..605f3c60fff --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-5-ref.htm @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 120px; + height: 120px; + } + + #inner1 { + margin-left: 35px; + margin-top: 0px; + width: 50px; + height: 50px; + background-color: purple; + } + + #inner2 { + margin-left: 35px; + margin-top: 20px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner1"></div> + <div id="inner2"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-6-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-6-ref.htm new file mode 100644 index 00000000000..917b21e5890 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-6-ref.htm @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + .outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + .inner { + margin-left: 20px; + margin-top: 50px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-7-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-7-ref.htm new file mode 100644 index 00000000000..d35e27a45a1 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-position-7-ref.htm @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + .outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + .inner { + margin-left: 50px; + margin-top: 20px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-repeat-1-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-repeat-1-ref.htm new file mode 100644 index 00000000000..172cf8da354 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-repeat-1-ref.htm @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + div.outer { + width: 128px; + height: 128px; + position: relative; + border: 1px solid black; + } + + div.inner { + width: 50px; + height: 50px; + position: absolute; + background-color: purple; + } + + #pos-top-left { left: 0; top: 0; } + #pos-top-right { right: 0; top: 0; } + #pos-bottom-left { left: 0; bottom: 0; } + #pos-bottom-right { right: 0; bottom: 0; } + </style> + </head> + <body> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + <div id="pos-bottom-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-repeat-2-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-repeat-2-ref.htm new file mode 100644 index 00000000000..172cf8da354 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-repeat-2-ref.htm @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + div.outer { + width: 128px; + height: 128px; + position: relative; + border: 1px solid black; + } + + div.inner { + width: 50px; + height: 50px; + position: absolute; + background-color: purple; + } + + #pos-top-left { left: 0; top: 0; } + #pos-top-right { right: 0; top: 0; } + #pos-bottom-left { left: 0; bottom: 0; } + #pos-bottom-right { right: 0; bottom: 0; } + </style> + </head> + <body> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + <div id="pos-bottom-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-repeat-3-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-repeat-3-ref.htm new file mode 100644 index 00000000000..743a037683f --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-repeat-3-ref.htm @@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + div.outer { + width: 150px; + height: 150px; + border: 1px solid black; + } + + .color { + background-color: purple; + } + + #round { + width: 150px; + height: 150px; + } + + #round-x { + width: 150px; + height: 50px; + } + + #round-y { + width: 50px; + height: 150px; + } + </style> + </head> + <body> + <div class="outer"><div id="round" class="color"></div></div> + <div class="outer"><div id="round-x" class="color"></div></div> + <div class="outer"><div id="round-y" class="color"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-auto-length-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-auto-length-ref.htm new file mode 100644 index 00000000000..21776b80201 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-auto-length-ref.htm @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 20px; + height: 20px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-auto-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-auto-ref.htm new file mode 100644 index 00000000000..cb4c36f85bd --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-auto-ref.htm @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-clip-border-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-clip-border-ref.htm new file mode 100644 index 00000000000..50a014d384c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-clip-border-ref.htm @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-clip-padding-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-clip-padding-ref.htm new file mode 100644 index 00000000000..40c9a28be39 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-clip-padding-ref.htm @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + border: 20px solid white; + width: 24px; + height: 88px; + } + + #innermost { + width: 24px; + height: 24px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"> + <div id="innermost"></div> + </div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-position-fifty-fifty-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-position-fifty-fifty-ref.htm new file mode 100644 index 00000000000..1546c5c321f --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-position-fifty-fifty-ref.htm @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner1 { + width: 64px; + height: 32px; + } + + #inner2 { + width: 64px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner1"></div> + <div id="inner2"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-ref.htm new file mode 100644 index 00000000000..acb4de5f37e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-contain-ref.htm @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 10px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-cover-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-cover-ref.htm new file mode 100644 index 00000000000..f2bdbc2718e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-cover-ref.htm @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 10px solid transparent; + width: 64px; + height: 128px; + background-clip: content-box; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-length-length-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-length-length-ref.htm new file mode 100644 index 00000000000..908f2b0b55a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-length-length-ref.htm @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 32px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-length-percent-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-length-percent-ref.htm new file mode 100644 index 00000000000..8786d603e97 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-length-percent-ref.htm @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 16px; + height: 32px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-percent-percent-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-percent-percent-ref.htm new file mode 100644 index 00000000000..a35a2a5f21f --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-percent-percent-ref.htm @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 32px; + height: 32px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-percent-percent-stretch-ref.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-percent-percent-stretch-ref.htm new file mode 100644 index 00000000000..c19c1822ab1 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/mask-size-percent-percent-stretch-ref.htm @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen"> + <link href="https://www.mozilla.org" rel="author" title="Mozilla"> + <style type="text/css"> + div { + width: 60px; + height: 120px; + } + + #outer { + border: 10px solid black; + } + + #inner { + height: 60px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/50x100-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/50x100-opaque-blue.svg new file mode 100644 index 00000000000..0ce8f599731 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/50x100-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="100"> + <rect x="0" y="0" width="50" height="100" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/50x50-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/50x50-opaque-blue.svg new file mode 100644 index 00000000000..ac194ee3473 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/50x50-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50"> + <rect x="0" y="0" width="50" height="50" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-100x100.png Binary files differnew file mode 100644 index 00000000000..3b72d5ce53c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-100x100.svg new file mode 100644 index 00000000000..ebe8fa73aee --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-100x50-transparent-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-100x50-transparent-100x50.svg index a79d9685c94..2ed03935634 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-100x50-transparent-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-100x50-transparent-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="0"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="1"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="1"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-luminance-100x100.svg new file mode 100644 index 00000000000..3f8e0341e4a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/blue-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(238,238,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/green-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/green-100x100.png Binary files differnew file mode 100644 index 00000000000..d65838b7f02 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/green-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/green-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/green-100x100.svg new file mode 100644 index 00000000000..d792713591e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/green-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="lime" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/green-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/green-luminance-100x100.svg new file mode 100644 index 00000000000..c33436ed43c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/green-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(73,73,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/mask-half-transparent-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/mask-half-transparent-100x100.svg new file mode 100644 index 00000000000..2abd94deec4 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/mask-half-transparent-100x100.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> + <defs> + <mask id="mask" mask-type="alpha"> + <rect x="0" y="0" width="100" height="50" fill-opacity="1"/> + <rect x="0" y="50" width="100" height="50" fill-opacity="0"/> + </mask> + </defs> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/red-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/red-100x100.png Binary files differnew file mode 100644 index 00000000000..43b8e542a92 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/red-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/red-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/red-100x100.svg new file mode 100644 index 00000000000..175c05f28f2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/red-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="red" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/red-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/red-luminance-100x100.svg new file mode 100644 index 00000000000..274905d6b90 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/red-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(201,201,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/transparent-100x50-blue-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/transparent-100x50-blue-100x50.svg index c4017557889..81d59b1bcf1 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/transparent-100x50-blue-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reference/support/transparent-100x50-blue-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="1"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="0"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="0"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reftest-toc.htm b/tests/wpt/css-tests/css-masking-1_dev/html/reftest-toc.htm index c326e12a340..11ba221d712 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/html/reftest-toc.htm +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reftest-toc.htm @@ -480,6 +480,14 @@ <td rowspan="1"></td> </tr> </tbody> + <tbody id="mask-clip-1" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-clip: clip mask image"> + <a href="mask-clip-1.htm">mask-clip-1</a></td> + <td><a href="reference/mask-clip-1-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> <tbody id="mask-composite-1a" class=""> <tr> <td rowspan="1" title="CSS Masking: mask-composite: compose vector image"> @@ -512,6 +520,350 @@ <td rowspan="1"></td> </tr> </tbody> + <tbody id="mask-image-1a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-1a.htm">mask-image-1a</a></td> + <td><a href="reference/mask-image-1-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-image-1b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-1b.htm">mask-image-1b</a></td> + <td><a href="reference/mask-image-1-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-image-1c" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-1c.htm">mask-image-1c</a></td> + <td><a href="reference/mask-image-1-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-image-2" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-2.htm">mask-image-2</a></td> + <td><a href="reference/mask-image-2-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-mode-a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-mode with vector image"> + <a href="mask-mode-a.htm">mask-mode-a</a></td> + <td><a href="reference/mask-mode-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-mode-b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-mode with raster image"> + <a href="mask-mode-b.htm">mask-mode-b</a></td> + <td><a href="reference/mask-mode-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-origin-1" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-origin: mask positioning area"> + <a href="mask-origin-1.htm">mask-origin-1</a></td> + <td><a href="reference/mask-origin-1-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-origin-2" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-origin: mask positioning area"> + <a href="mask-origin-2.htm">mask-origin-2</a></td> + <td><a href="reference/mask-origin-2-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-1a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-1a.htm">mask-position-1a</a></td> + <td><a href="reference/mask-position-1-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-1b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-1b.htm">mask-position-1b</a></td> + <td><a href="reference/mask-position-1-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-1c" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-1c.htm">mask-position-1c</a></td> + <td><a href="reference/mask-position-1-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-2a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-2a.htm">mask-position-2a</a></td> + <td><a href="reference/mask-position-2-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-2b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-2b.htm">mask-position-2b</a></td> + <td><a href="reference/mask-position-2-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-3a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-3a.htm">mask-position-3a</a></td> + <td><a href="reference/mask-position-3-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-3b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-3b.htm">mask-position-3b</a></td> + <td><a href="reference/mask-position-3-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4a.htm">mask-position-4a</a></td> + <td><a href="reference/mask-position-4-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4b.htm">mask-position-4b</a></td> + <td><a href="reference/mask-position-4-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4c" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4c.htm">mask-position-4c</a></td> + <td><a href="reference/mask-position-4-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4d" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4d.htm">mask-position-4d</a></td> + <td><a href="reference/mask-position-4-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-5" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-5.htm">mask-position-5</a></td> + <td><a href="reference/mask-position-5-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-6" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-6.htm">mask-position-6</a></td> + <td><a href="reference/mask-position-6-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-7" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-7.htm">mask-position-7</a></td> + <td><a href="reference/mask-position-7-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-repeat-1" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-repeat: repeated mask layer image"> + <a href="mask-repeat-1.htm">mask-repeat-1</a></td> + <td><a href="reference/mask-repeat-1-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-repeat-2" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-repeat: repeated mask layer image"> + <a href="mask-repeat-2.htm">mask-repeat-2</a></td> + <td><a href="reference/mask-repeat-2-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-repeat-3" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-repeat: repeated mask layer image"> + <a href="mask-repeat-3.htm">mask-repeat-3</a></td> + <td><a href="reference/mask-repeat-3-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto.htm">mask-size-auto</a></td> + <td><a href="reference/mask-size-auto-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto-auto.htm">mask-size-auto-auto</a></td> + <td><a href="reference/mask-size-auto-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto-length.htm">mask-size-auto-length</a></td> + <td><a href="reference/mask-size-auto-length-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto-percent.htm">mask-size-auto-percent</a></td> + <td><a href="reference/mask-size-auto-length-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain.htm">mask-size-contain</a></td> + <td><a href="reference/mask-size-contain-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain-clip-border" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain-clip-border.htm">mask-size-contain-clip-border</a></td> + <td><a href="reference/mask-size-contain-clip-border-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain-clip-padding" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain-clip-padding.htm">mask-size-contain-clip-padding</a></td> + <td><a href="reference/mask-size-contain-clip-padding-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain-position-fifty-fifty" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain-position-fifty-fifty.htm">mask-size-contain-position-fifty-fifty</a></td> + <td><a href="reference/mask-size-contain-position-fifty-fifty-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-cover" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-cover.htm">mask-size-cover</a></td> + <td><a href="reference/mask-size-cover-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length.htm">mask-size-length</a></td> + <td><a href="reference/mask-size-length-length-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length-auto.htm">mask-size-length-auto</a></td> + <td><a href="reference/mask-size-length-length-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length-length.htm">mask-size-length-length</a></td> + <td><a href="reference/mask-size-length-length-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length-percent.htm">mask-size-length-percent</a></td> + <td><a href="reference/mask-size-length-percent-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent.htm">mask-size-percent</a></td> + <td><a href="reference/mask-size-percent-percent-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-auto.htm">mask-size-percent-auto</a></td> + <td><a href="reference/mask-size-percent-percent-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-length.htm">mask-size-percent-length</a></td> + <td><a href="reference/mask-size-percent-percent-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-percent.htm">mask-size-percent-percent</a></td> + <td><a href="reference/mask-size-percent-percent-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-percent-stretch" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-percent-stretch.htm">mask-size-percent-percent-stretch</a></td> + <td><a href="reference/mask-size-percent-percent-stretch-ref.htm">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> <tbody id="test-mask" class=""> <tr> <td rowspan="1" title="CSS Masking: mask-repeat:round repeat;"> diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/reftest.list b/tests/wpt/css-tests/css-masking-1_dev/html/reftest.list index 86dc2e4696c..d1f316697dd 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/html/reftest.list +++ b/tests/wpt/css-tests/css-masking-1_dev/html/reftest.list @@ -56,8 +56,52 @@ clip-rect-comma-003.htm == reference/clip-no-clipping-ref.htm clip-rect-comma-004.htm == reference/clip-no-clipping-ref.htm clip-rule-001.htm == reference/clip-rule-rectangle-border-ref.htm clip-rule-002.htm == reference/clip-rule-rectangle-border-ref.htm +mask-clip-1.htm == reference/mask-clip-1-ref.htm mask-composite-1a.htm == reference/mask-composite-1-ref.htm mask-composite-1b.htm == reference/mask-composite-1-ref.htm mask-composite-2a.htm == reference/mask-composite-2-ref.htm mask-composite-2b.htm == reference/mask-composite-2-ref.htm +mask-image-1a.htm == reference/mask-image-1-ref.htm +mask-image-1b.htm == reference/mask-image-1-ref.htm +mask-image-1c.htm == reference/mask-image-1-ref.htm +mask-image-2.htm == reference/mask-image-2-ref.htm +mask-mode-a.htm == reference/mask-mode-ref.htm +mask-mode-b.htm == reference/mask-mode-ref.htm +mask-origin-1.htm == reference/mask-origin-1-ref.htm +mask-origin-2.htm == reference/mask-origin-2-ref.htm +mask-position-1a.htm == reference/mask-position-1-ref.htm +mask-position-1b.htm == reference/mask-position-1-ref.htm +mask-position-1c.htm == reference/mask-position-1-ref.htm +mask-position-2a.htm == reference/mask-position-2-ref.htm +mask-position-2b.htm == reference/mask-position-2-ref.htm +mask-position-3a.htm == reference/mask-position-3-ref.htm +mask-position-3b.htm == reference/mask-position-3-ref.htm +mask-position-4a.htm == reference/mask-position-4-ref.htm +mask-position-4b.htm == reference/mask-position-4-ref.htm +mask-position-4c.htm == reference/mask-position-4-ref.htm +mask-position-4d.htm == reference/mask-position-4-ref.htm +mask-position-5.htm == reference/mask-position-5-ref.htm +mask-position-6.htm == reference/mask-position-6-ref.htm +mask-position-7.htm == reference/mask-position-7-ref.htm +mask-repeat-1.htm == reference/mask-repeat-1-ref.htm +mask-repeat-2.htm == reference/mask-repeat-2-ref.htm +mask-repeat-3.htm == reference/mask-repeat-3-ref.htm +mask-size-auto.htm == reference/mask-size-auto-ref.htm +mask-size-auto-auto.htm == reference/mask-size-auto-ref.htm +mask-size-auto-length.htm == reference/mask-size-auto-length-ref.htm +mask-size-auto-percent.htm == reference/mask-size-auto-length-ref.htm +mask-size-contain.htm == reference/mask-size-contain-ref.htm +mask-size-contain-clip-border.htm == reference/mask-size-contain-clip-border-ref.htm +mask-size-contain-clip-padding.htm == reference/mask-size-contain-clip-padding-ref.htm +mask-size-contain-position-fifty-fifty.htm == reference/mask-size-contain-position-fifty-fifty-ref.htm +mask-size-cover.htm == reference/mask-size-cover-ref.htm +mask-size-length.htm == reference/mask-size-length-length-ref.htm +mask-size-length-auto.htm == reference/mask-size-length-length-ref.htm +mask-size-length-length.htm == reference/mask-size-length-length-ref.htm +mask-size-length-percent.htm == reference/mask-size-length-percent-ref.htm +mask-size-percent.htm == reference/mask-size-percent-percent-ref.htm +mask-size-percent-auto.htm == reference/mask-size-percent-percent-ref.htm +mask-size-percent-length.htm == reference/mask-size-percent-percent-ref.htm +mask-size-percent-percent.htm == reference/mask-size-percent-percent-ref.htm +mask-size-percent-percent-stretch.htm == reference/mask-size-percent-percent-stretch-ref.htm test-mask.htm == reference/test-mask-ref.htm diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/50x100-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/html/support/50x100-opaque-blue.svg new file mode 100644 index 00000000000..0ce8f599731 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/50x100-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="100"> + <rect x="0" y="0" width="50" height="100" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/50x50-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/html/support/50x50-opaque-blue.svg new file mode 100644 index 00000000000..ac194ee3473 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/50x50-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50"> + <rect x="0" y="0" width="50" height="50" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-100x100.png Binary files differnew file mode 100644 index 00000000000..3b72d5ce53c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-100x100.svg new file mode 100644 index 00000000000..ebe8fa73aee --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-100x50-transparent-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-100x50-transparent-100x50.svg index a79d9685c94..2ed03935634 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-100x50-transparent-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-100x50-transparent-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="0"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="1"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="1"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-luminance-100x100.svg new file mode 100644 index 00000000000..3f8e0341e4a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/blue-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(238,238,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/green-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/html/support/green-100x100.png Binary files differnew file mode 100644 index 00000000000..d65838b7f02 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/green-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/green-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/support/green-100x100.svg new file mode 100644 index 00000000000..d792713591e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/green-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="lime" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/green-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/support/green-luminance-100x100.svg new file mode 100644 index 00000000000..c33436ed43c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/green-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(73,73,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/mask-half-transparent-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/support/mask-half-transparent-100x100.svg new file mode 100644 index 00000000000..2abd94deec4 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/mask-half-transparent-100x100.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> + <defs> + <mask id="mask" mask-type="alpha"> + <rect x="0" y="0" width="100" height="50" fill-opacity="1"/> + <rect x="0" y="50" width="100" height="50" fill-opacity="0"/> + </mask> + </defs> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/red-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/html/support/red-100x100.png Binary files differnew file mode 100644 index 00000000000..43b8e542a92 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/red-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/red-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/support/red-100x100.svg new file mode 100644 index 00000000000..175c05f28f2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/red-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="red" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/red-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/html/support/red-luminance-100x100.svg new file mode 100644 index 00000000000..274905d6b90 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/red-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(201,201,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/support/transparent-100x50-blue-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/html/support/transparent-100x50-blue-100x50.svg index c4017557889..81d59b1bcf1 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/html/support/transparent-100x50-blue-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/html/support/transparent-100x50-blue-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="1"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="0"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="0"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/html/toc.htm b/tests/wpt/css-tests/css-masking-1_dev/html/toc.htm index 9774da095a2..89d50a306d2 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/html/toc.htm +++ b/tests/wpt/css-tests/css-masking-1_dev/html/toc.htm @@ -52,7 +52,7 @@ <tbody id="s7"> <tr><th><a href="chapter-7.htm">Chapter 7 - Positioned Masks</a></th> - <td>(5 Tests)</td></tr> + <td>(49 Tests)</td></tr> </tbody> <tbody id="s8"> <tr><th><a href="chapter-8.htm">Chapter 8 - diff --git a/tests/wpt/css-tests/css-masking-1_dev/implementation-report-TEMPLATE.data b/tests/wpt/css-tests/css-masking-1_dev/implementation-report-TEMPLATE.data index 0820fd9d568..202d4bc404e 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/implementation-report-TEMPLATE.data +++ b/tests/wpt/css-tests/css-masking-1_dev/implementation-report-TEMPLATE.data @@ -117,6 +117,8 @@ html/clip-rule-001.htm 685b1c6b98405699db11621e3739893d03bb287f ? xhtml1/clip-rule-001.xht 685b1c6b98405699db11621e3739893d03bb287f ? html/clip-rule-002.htm 060477805299dce5079f7940f4140876d0d2d33e ? xhtml1/clip-rule-002.xht 060477805299dce5079f7940f4140876d0d2d33e ? +html/mask-clip-1.htm ab17761a9fea47931e59ef59248f25abd6791108 ? +xhtml1/mask-clip-1.xht ab17761a9fea47931e59ef59248f25abd6791108 ? html/mask-composite-1a.htm 74dbc9500f92eb0a5a1bfe501a5a800f86ab65c3 ? xhtml1/mask-composite-1a.xht 74dbc9500f92eb0a5a1bfe501a5a800f86ab65c3 ? html/mask-composite-1b.htm eb991ca37e25232a0345ddc51d97205951f49ce6 ? @@ -125,5 +127,91 @@ html/mask-composite-2a.htm 26f6311f7ed2e3302adef9ef7918f2e88eaa2a3d ? xhtml1/mask-composite-2a.xht 26f6311f7ed2e3302adef9ef7918f2e88eaa2a3d ? html/mask-composite-2b.htm b9d66fde9152a2bda5f60db59a64b816f2f1b7ca ? xhtml1/mask-composite-2b.xht b9d66fde9152a2bda5f60db59a64b816f2f1b7ca ? +html/mask-image-1a.htm 9dcbd4b3ff1098164640ba8e6381243a6c165c68 ? +xhtml1/mask-image-1a.xht 9dcbd4b3ff1098164640ba8e6381243a6c165c68 ? +html/mask-image-1b.htm 5c3b7f570678ab052a9fb7cf5cb5ea2238d9ffa9 ? +xhtml1/mask-image-1b.xht 5c3b7f570678ab052a9fb7cf5cb5ea2238d9ffa9 ? +html/mask-image-1c.htm 67a05342df5dad237e53b40a181554db612da086 ? +xhtml1/mask-image-1c.xht 67a05342df5dad237e53b40a181554db612da086 ? +html/mask-image-2.htm 5369c24eb94bfe4899442f789cc0d988fe6d2aeb ? +xhtml1/mask-image-2.xht 5369c24eb94bfe4899442f789cc0d988fe6d2aeb ? +html/mask-mode-a.htm a64455fb83c162922ddfb6d45497b79f77b50ef3 ? +xhtml1/mask-mode-a.xht a64455fb83c162922ddfb6d45497b79f77b50ef3 ? +html/mask-mode-b.htm 61737e162df85c4362c54ffabd1f086f6d387506 ? +xhtml1/mask-mode-b.xht 61737e162df85c4362c54ffabd1f086f6d387506 ? +html/mask-origin-1.htm 5ba2e66ad99e92e67b9a3b9c04f249d41c16d517 ? +xhtml1/mask-origin-1.xht 5ba2e66ad99e92e67b9a3b9c04f249d41c16d517 ? +html/mask-origin-2.htm 66dea1e4283a718f62e2ea23616ebba929179c7e ? +xhtml1/mask-origin-2.xht 66dea1e4283a718f62e2ea23616ebba929179c7e ? +html/mask-position-1a.htm 2335ff1467039590c16bb12ebc78046fec611646 ? +xhtml1/mask-position-1a.xht 2335ff1467039590c16bb12ebc78046fec611646 ? +html/mask-position-1b.htm ae0e1a39aa966e45b66460a567690b4163f61a3b ? +xhtml1/mask-position-1b.xht ae0e1a39aa966e45b66460a567690b4163f61a3b ? +html/mask-position-1c.htm 8748ccea63d9e702eabc4ac653787d062b67baa4 ? +xhtml1/mask-position-1c.xht 8748ccea63d9e702eabc4ac653787d062b67baa4 ? +html/mask-position-2a.htm 8615cfc1c2f3027339c00b724ba18a1a32a95af6 ? +xhtml1/mask-position-2a.xht 8615cfc1c2f3027339c00b724ba18a1a32a95af6 ? +html/mask-position-2b.htm b439a79fc048d75a9986f059ff28c037989a2c4f ? +xhtml1/mask-position-2b.xht b439a79fc048d75a9986f059ff28c037989a2c4f ? +html/mask-position-3a.htm 0245963b690e1a69d2b038aefae8090f2360b26b ? +xhtml1/mask-position-3a.xht 0245963b690e1a69d2b038aefae8090f2360b26b ? +html/mask-position-3b.htm 57a1d58ad54660e0d9db408c84e7eb676dcca3de ? +xhtml1/mask-position-3b.xht 57a1d58ad54660e0d9db408c84e7eb676dcca3de ? +html/mask-position-4a.htm 8ba99a0b2997678a795ecb9448d32fda8c9a3438 ? +xhtml1/mask-position-4a.xht 8ba99a0b2997678a795ecb9448d32fda8c9a3438 ? +html/mask-position-4b.htm 896f34c0a24e2897d0ebd4f6e6b6d3ff0aedcd73 ? +xhtml1/mask-position-4b.xht 896f34c0a24e2897d0ebd4f6e6b6d3ff0aedcd73 ? +html/mask-position-4c.htm 2b46935b6c1872062ecd31a5f8d7ea3ef7bf12e5 ? +xhtml1/mask-position-4c.xht 2b46935b6c1872062ecd31a5f8d7ea3ef7bf12e5 ? +html/mask-position-4d.htm d03d65891d1024664353f14429801b0cbcf7b645 ? +xhtml1/mask-position-4d.xht d03d65891d1024664353f14429801b0cbcf7b645 ? +html/mask-position-5.htm 7dd089a99722b3c52e507713b4205d202c1d95bc ? +xhtml1/mask-position-5.xht 7dd089a99722b3c52e507713b4205d202c1d95bc ? +html/mask-position-6.htm cf0739b65e8cadf1b6584cdfd5d0d080eb5db37f ? +xhtml1/mask-position-6.xht cf0739b65e8cadf1b6584cdfd5d0d080eb5db37f ? +html/mask-position-7.htm 170b41b3839dd4eeef13317d5bc3abde0ac5fac5 ? +xhtml1/mask-position-7.xht 170b41b3839dd4eeef13317d5bc3abde0ac5fac5 ? +html/mask-repeat-1.htm 7aa5abafcb59758e49ed8c93eedc453352c4ecfa ? +xhtml1/mask-repeat-1.xht 7aa5abafcb59758e49ed8c93eedc453352c4ecfa ? +html/mask-repeat-2.htm 6f053417e4a91fe62f6f117d71ac7d3755a09731 ? +xhtml1/mask-repeat-2.xht 6f053417e4a91fe62f6f117d71ac7d3755a09731 ? +html/mask-repeat-3.htm 287d3b829e337e127ac50ce317d3dfa1ea70cf4c ? +xhtml1/mask-repeat-3.xht 287d3b829e337e127ac50ce317d3dfa1ea70cf4c ? +html/mask-size-auto-auto.htm e95cdc294474c9f816c0b484b67625970fa74404 ? +xhtml1/mask-size-auto-auto.xht e95cdc294474c9f816c0b484b67625970fa74404 ? +html/mask-size-auto-length.htm 1f052e9710dd860ce5682cdcd67a3def4c799eab ? +xhtml1/mask-size-auto-length.xht 1f052e9710dd860ce5682cdcd67a3def4c799eab ? +html/mask-size-auto-percent.htm 0a30cf915fa1b4c839e64804b80274d6eaf69a47 ? +xhtml1/mask-size-auto-percent.xht 0a30cf915fa1b4c839e64804b80274d6eaf69a47 ? +html/mask-size-auto.htm 0a2fa5214c192bd1a3ddb2d57ccde814470a8390 ? +xhtml1/mask-size-auto.xht 0a2fa5214c192bd1a3ddb2d57ccde814470a8390 ? +html/mask-size-contain-clip-border.htm aa4a17de4f0d7f5fd54382e359391b1b42663aba ? +xhtml1/mask-size-contain-clip-border.xht aa4a17de4f0d7f5fd54382e359391b1b42663aba ? +html/mask-size-contain-clip-padding.htm de2b62b736281554d3a1a572b7933a6bf3fb0261 ? +xhtml1/mask-size-contain-clip-padding.xht de2b62b736281554d3a1a572b7933a6bf3fb0261 ? +html/mask-size-contain-position-fifty-fifty.htm 18f4d823525760a32479bfdc1960a3f79848f05e ? +xhtml1/mask-size-contain-position-fifty-fifty.xht 18f4d823525760a32479bfdc1960a3f79848f05e ? +html/mask-size-contain.htm 986a82cf8b954a2f04c8f444e6bac443b7502ce2 ? +xhtml1/mask-size-contain.xht 986a82cf8b954a2f04c8f444e6bac443b7502ce2 ? +html/mask-size-cover.htm 45930d72d1b48cd5333465233c3970c459e75262 ? +xhtml1/mask-size-cover.xht 45930d72d1b48cd5333465233c3970c459e75262 ? +html/mask-size-length-auto.htm 28403cc5c4c8a6e58bd2ab0821ff78eac60cc058 ? +xhtml1/mask-size-length-auto.xht 28403cc5c4c8a6e58bd2ab0821ff78eac60cc058 ? +html/mask-size-length-length.htm aed9c4ca10b440457c970be7b6a4945508dc2d92 ? +xhtml1/mask-size-length-length.xht aed9c4ca10b440457c970be7b6a4945508dc2d92 ? +html/mask-size-length-percent.htm 65bb0e6875c0534743e6aeb4dfe43c1bf2146b17 ? +xhtml1/mask-size-length-percent.xht 65bb0e6875c0534743e6aeb4dfe43c1bf2146b17 ? +html/mask-size-length.htm 4defd24447eb46cfd5ad227c703996c885dd996a ? +xhtml1/mask-size-length.xht 4defd24447eb46cfd5ad227c703996c885dd996a ? +html/mask-size-percent-auto.htm 8baa71d4d2b7d41a425e827c92d5a2a078f18124 ? +xhtml1/mask-size-percent-auto.xht 8baa71d4d2b7d41a425e827c92d5a2a078f18124 ? +html/mask-size-percent-length.htm a8a7d1ef5b2b7d2e05730ff635da2e52febea06a ? +xhtml1/mask-size-percent-length.xht a8a7d1ef5b2b7d2e05730ff635da2e52febea06a ? +html/mask-size-percent-percent-stretch.htm 9df34563dc65ae4b0a1247137af3e5a7e2cae099 ? +xhtml1/mask-size-percent-percent-stretch.xht 9df34563dc65ae4b0a1247137af3e5a7e2cae099 ? +html/mask-size-percent-percent.htm 3af6f431c0ac9d53fd4194503030f5188753ad43 ? +xhtml1/mask-size-percent-percent.xht 3af6f431c0ac9d53fd4194503030f5188753ad43 ? +html/mask-size-percent.htm 222fd7b0d5f7e5a5fa1c9ce93838d7a768c47a76 ? +xhtml1/mask-size-percent.xht 222fd7b0d5f7e5a5fa1c9ce93838d7a768c47a76 ? html/test-mask.htm d958a4c5495e1038da67e6f0a88ada4dbb3f9c1d ? xhtml1/test-mask.xht d958a4c5495e1038da67e6f0a88ada4dbb3f9c1d ? diff --git a/tests/wpt/css-tests/css-masking-1_dev/index.htm b/tests/wpt/css-tests/css-masking-1_dev/index.htm index 72234767e0a..e54ce972b96 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/index.htm +++ b/tests/wpt/css-tests/css-masking-1_dev/index.htm @@ -131,9 +131,11 @@ <p>Many thanks to the following for their contributions:</p> <ul> + <li>Astley Chen</li> <li>CJ Ku</li> <li>Denise White</li> <li>Dirk Schulze</li> + <li>Ethan Lin</li> <li>Laury Kenton</li> <li>Li Jun</li> <li>Mozilla</li> diff --git a/tests/wpt/css-tests/css-masking-1_dev/index.xht b/tests/wpt/css-tests/css-masking-1_dev/index.xht index 31207280394..4a75ec6ab19 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/index.xht +++ b/tests/wpt/css-tests/css-masking-1_dev/index.xht @@ -131,9 +131,11 @@ <p>Many thanks to the following for their contributions:</p> <ul> + <li>Astley Chen</li> <li>CJ Ku</li> <li>Denise White</li> <li>Dirk Schulze</li> + <li>Ethan Lin</li> <li>Laury Kenton</li> <li>Li Jun</li> <li>Mozilla</li> diff --git a/tests/wpt/css-tests/css-masking-1_dev/testinfo.data b/tests/wpt/css-tests/css-masking-1_dev/testinfo.data index 683dc61d3f7..8c683b56782 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/testinfo.data +++ b/tests/wpt/css-tests/css-masking-1_dev/testinfo.data @@ -56,8 +56,52 @@ clip-rect-comma-003 reference/clip-no-clipping-ref CSS Masking: Test comma separ clip-rect-comma-004 reference/clip-no-clipping-ref CSS Masking: Test comma separation of rect function on clip - no comma between 3rd and 4th value http://www.w3.org/TR/css-masking-1/#clip-property 38b542cefdad3a69bbb2c9161784112bfdbb0565 `Dirk Schulze`<mailto:dschulze@adobe.com> Values for rect function on clip can be white space or comma separated, but not both. Otherwise the property setting gets ignored. Testing rect function without comma separation between 3rd and 4th value. On pass you should see a green square with a blue border. clip-rule-001 reference/clip-rule-rectangle-border-ref CSS Masking: Test clip-rule property on polygon clip rule evenodd http://www.w3.org/TR/css-masking-1/#clipping-paths,http://www.w3.org/TR/css-masking-1/#propdef-clip-path,http://www.w3.org/TR/css-masking-1/#ClipPathElement 685b1c6b98405699db11621e3739893d03bb287f `Dirk Schulze`<mailto:dschulze@adobe.com> The clipPath element takes the basic shape 'polygon' for clipping. The point list for the polygon creates a 'whole' with the dimension of the background. With the clip rule 'evenodd', this whole is clipped out. The clipping makes the green background of the parent div box visible. On pass you should see a green box with a blue border. clip-rule-002 reference/clip-rule-rectangle-border-ref CSS Masking: Test clip-rule property on polygon clip rule nonzero http://www.w3.org/TR/css-masking-1/#clipping-paths,http://www.w3.org/TR/css-masking-1/#propdef-clip-path,http://www.w3.org/TR/css-masking-1/#ClipPathElement 060477805299dce5079f7940f4140876d0d2d33e `Dirk Schulze`<mailto:dschulze@adobe.com> The clipPath element takes the basic shape 'polygon' for clipping. The point list for the polygon creates a 'whole' with the dimension of the background. With the clip rule 'nonzero', this whole is clipped out. The clipping makes the green background of the parent div box visible. On pass you should see a green box with a blue border. +mask-clip-1 reference/mask-clip-1-ref CSS Masking: mask-clip: clip mask image http://www.w3.org/TR/css-masking-1/#the-mask-clip ab17761a9fea47931e59ef59248f25abd6791108 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> border-box, padding-box, and content-box values of mask-clip should clip to the appropriate boxes. mask-composite-1a reference/mask-composite-1-ref CSS Masking: mask-composite: compose vector image http://www.w3.org/TR/css-masking-1/#the-mask-composite 74dbc9500f92eb0a5a1bfe501a5a800f86ab65c3 `CJ Ku`<mailto:cku@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks that vector-mask-image can be composed correctly by different mask-composite value. mask-composite-1b reference/mask-composite-1-ref CSS Masking: mask-composite: compose raster image http://www.w3.org/TR/css-masking-1/#the-mask-composite eb991ca37e25232a0345ddc51d97205951f49ce6 `CJ Ku`<mailto:cku@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks that raster-mask-image can be composed correctly by different mask-composite value. mask-composite-2a reference/mask-composite-2-ref CSS Masking: mask-composite: compose vector image http://www.w3.org/TR/css-masking-1/#the-mask-composite 26f6311f7ed2e3302adef9ef7918f2e88eaa2a3d `CJ Ku`<mailto:cku@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks that vector-mask-image can be composed correctly by different mask-composite value. mask-composite-2b reference/mask-composite-2-ref CSS Masking: mask-composite: compose raster image http://www.w3.org/TR/css-masking-1/#the-mask-composite b9d66fde9152a2bda5f60db59a64b816f2f1b7ca `CJ Ku`<mailto:cku@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks that raster-mask-image can be composed correctly by different mask-composite value. +mask-image-1a reference/mask-image-1-ref CSS Masking: mask-image: mask layer image https://www.w3.org/TR/css-masking-1/#the-mask-image 9dcbd4b3ff1098164640ba8e6381243a6c165c68 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether image as mask layer works correctly or not. +mask-image-1b reference/mask-image-1-ref CSS Masking: mask-image: mask layer image https://www.w3.org/TR/css-masking-1/#the-mask-image 5c3b7f570678ab052a9fb7cf5cb5ea2238d9ffa9 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether SVG image as mask layer works correctly or not. +mask-image-1c reference/mask-image-1-ref CSS Masking: mask-image: mask layer image https://www.w3.org/TR/css-masking-1/#the-mask-image 67a05342df5dad237e53b40a181554db612da086 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether SVG mask element as mask layer works correctly or not. +mask-image-2 reference/mask-image-2-ref CSS Masking: mask-image: mask layer image https://www.w3.org/TR/css-masking-1/#the-mask-image 5369c24eb94bfe4899442f789cc0d988fe6d2aeb `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether gradient CSS image as mask layer works correctly or not. +mask-mode-a reference/mask-mode-ref CSS Masking: mask-mode with vector image https://www.w3.org/TR/css-masking-1/#propdef-mask-mode a64455fb83c162922ddfb6d45497b79f77b50ef3 `Ethan Lin`<mailto:ethlin@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks that mask an SVG image referenced by mask-image is correct with different mask mode. +mask-mode-b reference/mask-mode-ref CSS Masking: mask-mode with raster image https://www.w3.org/TR/css-masking-1/#propdef-mask-mode 61737e162df85c4362c54ffabd1f086f6d387506 `Ethan Lin`<mailto:ethlin@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks that mask a PNG image referenced by mask-image is correct with different mask mode. +mask-origin-1 reference/mask-origin-1-ref CSS Masking: mask-origin: mask positioning area https://www.w3.org/TR/css-masking-1/#the-mask-origin 5ba2e66ad99e92e67b9a3b9c04f249d41c16d517 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether setting mask position area works correctly or not. +mask-origin-2 reference/mask-origin-2-ref CSS Masking: mask-origin: mask positioning area https://www.w3.org/TR/css-masking-1/#the-mask-origin 66dea1e4283a718f62e2ea23616ebba929179c7e `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether setting mask origin to margin-box works correctly or not. +mask-position-1a reference/mask-position-1-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position 2335ff1467039590c16bb12ebc78046fec611646 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-1b reference/mask-position-1-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position ae0e1a39aa966e45b66460a567690b4163f61a3b `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-1c reference/mask-position-1-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position 8748ccea63d9e702eabc4ac653787d062b67baa4 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-2a reference/mask-position-2-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position 8615cfc1c2f3027339c00b724ba18a1a32a95af6 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-2b reference/mask-position-2-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position b439a79fc048d75a9986f059ff28c037989a2c4f `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-3a reference/mask-position-3-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position 0245963b690e1a69d2b038aefae8090f2360b26b `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-3b reference/mask-position-3-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position 57a1d58ad54660e0d9db408c84e7eb676dcca3de `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-4a reference/mask-position-4-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position 8ba99a0b2997678a795ecb9448d32fda8c9a3438 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-4b reference/mask-position-4-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position 896f34c0a24e2897d0ebd4f6e6b6d3ff0aedcd73 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-4c reference/mask-position-4-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position 2b46935b6c1872062ecd31a5f8d7ea3ef7bf12e5 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-4d reference/mask-position-4-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position d03d65891d1024664353f14429801b0cbcf7b645 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-5 reference/mask-position-5-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position 7dd089a99722b3c52e507713b4205d202c1d95bc `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-6 reference/mask-position-6-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position cf0739b65e8cadf1b6584cdfd5d0d080eb5db37f `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-position-7 reference/mask-position-7-ref CSS Masking: mask-position: mask positioning https://www.w3.org/TR/css-masking-1/#the-mask-position 170b41b3839dd4eeef13317d5bc3abde0ac5fac5 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether positioning mask layer works correctly or not. +mask-repeat-1 reference/mask-repeat-1-ref CSS Masking: mask-repeat: repeated mask layer image https://www.w3.org/TR/css-masking-1/#the-mask-repeat 7aa5abafcb59758e49ed8c93eedc453352c4ecfa `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether repeated mask layer works correctly or not. +mask-repeat-2 reference/mask-repeat-2-ref CSS Masking: mask-repeat: repeated mask layer image https://www.w3.org/TR/css-masking-1/#the-mask-repeat 6f053417e4a91fe62f6f117d71ac7d3755a09731 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether repeated mask layer works correctly or not. +mask-repeat-3 reference/mask-repeat-3-ref CSS Masking: mask-repeat: repeated mask layer image https://www.w3.org/TR/css-masking-1/#the-mask-repeat 287d3b829e337e127ac50ce317d3dfa1ea70cf4c `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether repeated mask layer works correctly or not. +mask-size-auto reference/mask-size-auto-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 0a2fa5214c192bd1a3ddb2d57ccde814470a8390 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-auto-auto reference/mask-size-auto-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size e95cdc294474c9f816c0b484b67625970fa74404 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-auto-length reference/mask-size-auto-length-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 1f052e9710dd860ce5682cdcd67a3def4c799eab `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-auto-percent reference/mask-size-auto-length-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 0a30cf915fa1b4c839e64804b80274d6eaf69a47 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-contain reference/mask-size-contain-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 986a82cf8b954a2f04c8f444e6bac443b7502ce2 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-contain-clip-border reference/mask-size-contain-clip-border-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size aa4a17de4f0d7f5fd54382e359391b1b42663aba `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-contain-clip-padding reference/mask-size-contain-clip-padding-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size de2b62b736281554d3a1a572b7933a6bf3fb0261 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-contain-position-fifty-fifty reference/mask-size-contain-position-fifty-fifty-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 18f4d823525760a32479bfdc1960a3f79848f05e `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-cover reference/mask-size-cover-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 45930d72d1b48cd5333465233c3970c459e75262 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-length reference/mask-size-length-length-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 4defd24447eb46cfd5ad227c703996c885dd996a `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-length-auto reference/mask-size-length-length-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 28403cc5c4c8a6e58bd2ab0821ff78eac60cc058 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-length-length reference/mask-size-length-length-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size aed9c4ca10b440457c970be7b6a4945508dc2d92 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-length-percent reference/mask-size-length-percent-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 65bb0e6875c0534743e6aeb4dfe43c1bf2146b17 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-percent reference/mask-size-percent-percent-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 222fd7b0d5f7e5a5fa1c9ce93838d7a768c47a76 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-percent-auto reference/mask-size-percent-percent-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 8baa71d4d2b7d41a425e827c92d5a2a078f18124 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-percent-length reference/mask-size-percent-percent-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size a8a7d1ef5b2b7d2e05730ff635da2e52febea06a `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-percent-percent reference/mask-size-percent-percent-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 3af6f431c0ac9d53fd4194503030f5188753ad43 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. +mask-size-percent-percent-stretch reference/mask-size-percent-percent-stretch-ref CSS Masking: mask-size: mask layer size https://www.w3.org/TR/css-masking-1/#the-mask-size 9df34563dc65ae4b0a1247137af3e5a7e2cae099 `Astley Chen`<mailto:aschen@mozilla.com>,`Mozilla`<https://www.mozilla.org> Test checks whether sizing mask layer works correctly or not. test-mask reference/test-mask-ref CSS Masking: mask-repeat:round repeat; http://www.w3.org/TR/css-masking-1/#the-mask-repeat d958a4c5495e1038da67e6f0a88ada4dbb3f9c1d `Li Jun`<mailto:64835173@qq.com> Test checks that the mask-repeart value diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-10.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-10.xht index 3add24715c0..45f9275258d 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-10.xht +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-10.xht @@ -39,72 +39,18 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-compositing-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-shapes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-transforms"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3bg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3color"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3val"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-filter-effects"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg11"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> @@ -117,9 +63,6 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-7.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-7.xht index 285ce9b05d2..939aed45faa 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-7.xht +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-7.xht @@ -13,7 +13,7 @@ <body> <h1>CSS Masking Level 1 CR Test Suite</h1> - <h2>Positioned Masks (5 tests)</h2> + <h2>Positioned Masks (49 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -37,7 +37,51 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.1">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-image">7.1 Mask Image Source: the mask-image property</a></th></tr> - <!-- 0 tests --> + <!-- 4 tests --> + <tr id="mask-image-1a-7.1" class="primary"> + <td><strong> + <a href="mask-image-1a.xht">mask-image-1a</a></strong></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether image as mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-image-1b-7.1" class="primary"> + <td><strong> + <a href="mask-image-1b.xht">mask-image-1b</a></strong></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether SVG image as mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-image-1c-7.1" class="primary"> + <td><strong> + <a href="mask-image-1c.xht">mask-image-1c</a></strong></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether SVG mask element as mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-image-2-7.1" class="primary"> + <td><strong> + <a href="mask-image-2.xht">mask-image-2</a></strong></td> + <td><a href="reference/mask-image-2-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether gradient CSS image as mask layer works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.1.#mask-layer-image"> <!-- 0 tests --> @@ -61,7 +105,29 @@ <!-- 0 tests --> </tbody> <tbody id="s7.2.#propdef-mask-mode"> - <!-- 0 tests --> + <!-- 2 tests --> + <tr id="mask-mode-a-7.2.#propdef-mask-mode" class="primary"> + <td><strong> + <a href="mask-mode-a.xht">mask-mode-a</a></strong></td> + <td><a href="reference/mask-mode-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-mode with vector image + <ul class="assert"> + <li>Test checks that mask an SVG image referenced by mask-image is correct with different mask mode.</li> + </ul> + </td> + </tr> + <tr id="mask-mode-b-7.2.#propdef-mask-mode" class="primary"> + <td><strong> + <a href="mask-mode-b.xht">mask-mode-b</a></strong></td> + <td><a href="reference/mask-mode-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-mode with raster image + <ul class="assert"> + <li>Test checks that mask a PNG image referenced by mask-image is correct with different mask mode.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.2.#typedef-masking-mode"> <!-- 0 tests --> @@ -79,7 +145,40 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.3">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat">7.3 Tiling Mask Images: The mask-repeat property</a></th></tr> - <!-- 1 tests --> + <!-- 4 tests --> + <tr id="mask-repeat-1-7.3" class="primary"> + <td><strong> + <a href="mask-repeat-1.xht">mask-repeat-1</a></strong></td> + <td><a href="reference/mask-repeat-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-repeat: repeated mask layer image + <ul class="assert"> + <li>Test checks whether repeated mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-repeat-2-7.3" class="primary"> + <td><strong> + <a href="mask-repeat-2.xht">mask-repeat-2</a></strong></td> + <td><a href="reference/mask-repeat-2-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-repeat: repeated mask layer image + <ul class="assert"> + <li>Test checks whether repeated mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-repeat-3-7.3" class="primary"> + <td><strong> + <a href="mask-repeat-3.xht">mask-repeat-3</a></strong></td> + <td><a href="reference/mask-repeat-3-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-repeat: repeated mask layer image + <ul class="assert"> + <li>Test checks whether repeated mask layer works correctly or not.</li> + </ul> + </td> + </tr> <tr id="test-mask-7.3" class=""> <td> <a href="test-mask.xht">test-mask</a></td> @@ -99,7 +198,161 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.4">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-position">7.4 Positioning Mask Images: the mask-position property</a></th></tr> - <!-- 0 tests --> + <!-- 14 tests --> + <tr id="mask-position-1a-7.4" class="primary"> + <td><strong> + <a href="mask-position-1a.xht">mask-position-1a</a></strong></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-1b-7.4" class="primary"> + <td><strong> + <a href="mask-position-1b.xht">mask-position-1b</a></strong></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-1c-7.4" class="primary"> + <td><strong> + <a href="mask-position-1c.xht">mask-position-1c</a></strong></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-2a-7.4" class="primary"> + <td><strong> + <a href="mask-position-2a.xht">mask-position-2a</a></strong></td> + <td><a href="reference/mask-position-2-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-2b-7.4" class="primary"> + <td><strong> + <a href="mask-position-2b.xht">mask-position-2b</a></strong></td> + <td><a href="reference/mask-position-2-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-3a-7.4" class="primary"> + <td><strong> + <a href="mask-position-3a.xht">mask-position-3a</a></strong></td> + <td><a href="reference/mask-position-3-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-3b-7.4" class="primary"> + <td><strong> + <a href="mask-position-3b.xht">mask-position-3b</a></strong></td> + <td><a href="reference/mask-position-3-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4a-7.4" class="primary"> + <td><strong> + <a href="mask-position-4a.xht">mask-position-4a</a></strong></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4b-7.4" class="primary"> + <td><strong> + <a href="mask-position-4b.xht">mask-position-4b</a></strong></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4c-7.4" class="primary"> + <td><strong> + <a href="mask-position-4c.xht">mask-position-4c</a></strong></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4d-7.4" class="primary"> + <td><strong> + <a href="mask-position-4d.xht">mask-position-4d</a></strong></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-5-7.4" class="primary"> + <td><strong> + <a href="mask-position-5.xht">mask-position-5</a></strong></td> + <td><a href="reference/mask-position-5-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-6-7.4" class="primary"> + <td><strong> + <a href="mask-position-6.xht">mask-position-6</a></strong></td> + <td><a href="reference/mask-position-6-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-7-7.4" class="primary"> + <td><strong> + <a href="mask-position-7.xht">mask-position-7</a></strong></td> + <td><a href="reference/mask-position-7-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.4.#propdef-mask-position"> <!-- 0 tests --> @@ -108,7 +361,18 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.5">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-clip">7.5 Masking Area: the mask-clip property</a></th></tr> - <!-- 0 tests --> + <!-- 1 tests --> + <tr id="mask-clip-1-7.5" class=""> + <td> + <a href="mask-clip-1.xht">mask-clip-1</a></td> + <td><a href="reference/mask-clip-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-clip: clip mask image + <ul class="assert"> + <li>border-box, padding-box, and content-box values of mask-clip should clip to the appropriate boxes.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.5.#mask-painting-area"> <!-- 0 tests --> @@ -144,7 +408,29 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.6">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-origin">7.6 Positioning Area: the mask-origin property</a></th></tr> - <!-- 0 tests --> + <!-- 2 tests --> + <tr id="mask-origin-1-7.6" class="primary"> + <td><strong> + <a href="mask-origin-1.xht">mask-origin-1</a></strong></td> + <td><a href="reference/mask-origin-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-origin: mask positioning area + <ul class="assert"> + <li>Test checks whether setting mask position area works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-origin-2-7.6" class="primary"> + <td><strong> + <a href="mask-origin-2.xht">mask-origin-2</a></strong></td> + <td><a href="reference/mask-origin-2-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-origin: mask positioning area + <ul class="assert"> + <li>Test checks whether setting mask origin to margin-box works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.6.#mask-positioning-area"> <!-- 0 tests --> @@ -177,7 +463,205 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.7">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-size">7.7 Sizing Mask Images: the mask-size property</a></th></tr> - <!-- 0 tests --> + <!-- 18 tests --> + <tr id="mask-size-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto.xht">mask-size-auto</a></strong></td> + <td><a href="reference/mask-size-auto-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-auto-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto-auto.xht">mask-size-auto-auto</a></strong></td> + <td><a href="reference/mask-size-auto-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-auto-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto-length.xht">mask-size-auto-length</a></strong></td> + <td><a href="reference/mask-size-auto-length-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-auto-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto-percent.xht">mask-size-auto-percent</a></strong></td> + <td><a href="reference/mask-size-auto-length-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain.xht">mask-size-contain</a></strong></td> + <td><a href="reference/mask-size-contain-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-clip-border-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain-clip-border.xht">mask-size-contain-clip-border</a></strong></td> + <td><a href="reference/mask-size-contain-clip-border-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-clip-padding-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain-clip-padding.xht">mask-size-contain-clip-padding</a></strong></td> + <td><a href="reference/mask-size-contain-clip-padding-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-position-fifty-fifty-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain-position-fifty-fifty.xht">mask-size-contain-position-fifty-fifty</a></strong></td> + <td><a href="reference/mask-size-contain-position-fifty-fifty-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-cover-7.7" class="primary"> + <td><strong> + <a href="mask-size-cover.xht">mask-size-cover</a></strong></td> + <td><a href="reference/mask-size-cover-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-length.xht">mask-size-length</a></strong></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-length-auto.xht">mask-size-length-auto</a></strong></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-length-length.xht">mask-size-length-length</a></strong></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-length-percent.xht">mask-size-length-percent</a></strong></td> + <td><a href="reference/mask-size-length-percent-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent.xht">mask-size-percent</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-auto.xht">mask-size-percent-auto</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-length.xht">mask-size-percent-length</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-percent.xht">mask-size-percent-percent</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-percent-stretch-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-percent-stretch.xht">mask-size-percent-percent-stretch</a></strong></td> + <td><a href="reference/mask-size-percent-percent-stretch-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.7.#propdef-mask-size"> <!-- 0 tests --> diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-C.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-C.xht index ba55e00503d..6794f80981c 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-C.xht +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/chapter-C.xht @@ -39,28 +39,85 @@ <tbody id="sC.#InterfaceSVGMaskElement"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGClipPathElement__clipPathUnits"> + <tbody id="sInterfaceSVGClipPathElement.#SVGClipPathElement__clipPathUnits"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGClipPathElement__transform"> + <tbody id="sInterfaceSVGClipPathElement.#SVGClipPathElement__transform"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__height"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__height"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__maskContentUnits"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__maskContentUnits"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__maskUnits"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__maskUnits"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__width"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__width"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__x"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__x"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__y"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__y"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3color"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-filter-effects"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-compositing-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-shapes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-transforms"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3bg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3val"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg11"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-clip-1.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-clip-1.xht new file mode 100644 index 00000000000..0da39f934cb --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-clip-1.xht @@ -0,0 +1,57 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-clip: clip mask image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="http://www.w3.org/TR/css-masking-1/#the-mask-clip" rel="help" /> + <link href="reference/mask-clip-1-ref.xht" rel="match" /> + <meta content="border-box, padding-box, and content-box values of mask-clip should clip to the appropriate boxes." name="assert" /> + <style type="text/css"> + div { + /* + * content box: 40 x 20 + * padding box: 52 x 38 + * border box: 60 x 50 + * margin box: 66 x 54 + */ + background-color: purple; + position: absolute; + top: 10px; + margin: 1px 2px 3px 4px; + border: solid transparent; + border-width: 8px 2px 4px 6px; + padding: 6px 9px 12px 3px; + width: 40px; + height: 20px; + } + + div.mask { + mask-size: 100% 100%; + mask-origin: border-box; + mask-image: url(support/transparent-100x50-blue-100x50.svg); + } + + div.border { + left: 10px; + mask-clip: border-box; + } + + div.padding { + left: 110px; + mask-clip: padding-box; + } + + div.content { + left: 210px; + mask-clip: content-box; + } + </style> + </head> + <body> + <div class="outer mask border"></div> + <div class="outer mask padding"></div> + <div class="outer mask content"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-1a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-1a.xht new file mode 100644 index 00000000000..0082ca892c6 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-1a.xht @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help" /> + <link href="reference/mask-image-1-ref.xht" rel="match" /> + <meta content="Test checks whether image as mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-png { + mask-image: url(support/transparent-100x50-blue-100x50.png); + } + </style> + </head> + <body> + <div class="mask-by-png"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-1b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-1b.xht new file mode 100644 index 00000000000..765c3763427 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-1b.xht @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help" /> + <link href="reference/mask-image-1-ref.xht" rel="match" /> + <meta content="Test checks whether SVG image as mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-svg { + mask-image: url(support/transparent-100x50-blue-100x50.svg); + } + </style> + </head> + <body> + <div class="mask-by-svg"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-1c.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-1c.xht new file mode 100644 index 00000000000..be78f931867 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-1c.xht @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help" /> + <link href="reference/mask-image-1-ref.xht" rel="match" /> + <meta content="Test checks whether SVG mask element as mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-svg-mask { + mask-image: url(support/mask-half-transparent-100x100.svg#mask); + } + </style> + </head> + <body> + <div class="mask-by-svg-mask"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-2.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-2.xht new file mode 100644 index 00000000000..7ce0fcb930c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-image-2.xht @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help" /> + <link href="reference/mask-image-2-ref.xht" rel="match" /> + <meta content="Test checks whether gradient CSS image as mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-gradient-1 { + mask-image: linear-gradient(rgba(0,0,255,0), rgba(0,0,255,1)); /* blue gradient mask */ + } + + div.mask-by-gradient-2 { + mask-image: linear-gradient(rgba(255,0,0,0), rgba(255,0,0,1)); /* red gradient mask */ + } + </style> + </head> + <body> + <div class="mask-by-gradient-1"></div> + <div class="mask-by-gradient-2"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-mode-a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-mode-a.xht new file mode 100644 index 00000000000..30ebf8d051e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-mode-a.xht @@ -0,0 +1,60 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-mode with vector image</title> + <link href="mailto:ethlin@mozilla.com" rel="author" title="Ethan Lin" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#propdef-mask-mode" rel="help" /> + <link href="reference/mask-mode-ref.xht" rel="match" /> + <meta content="Test checks that mask an SVG image referenced by mask-image is correct with different mask mode." name="assert" /> + <style type="text/css"> + div { + background-color: blue; + position: absolute; + margin: 0px; + padding: 0px; + width: 100px; + height: 100px; + top: 10px; + } + + div.auto { + left: 10px; + mask-mode: match-source; + mask-image: url(support/blue-100x100.svg); + } + + div.alpha { + left: 120px; + mask-mode: alpha; + mask-image: url(support/blue-100x100.svg); + } + + div.luminance1 { + left: 230px; + mask-mode: luminance; + mask-image: url(support/blue-100x100.svg); + } + + div.luminance2 { + left: 340px; + mask-mode: luminance; + mask-image: url(support/red-100x100.svg); + } + + div.luminance3 { + left: 450px; + mask-mode: luminance; + mask-image: url(support/green-100x100.svg); + } + </style> + </head> + <body> + <div class="auto"></div> + <div class="alpha"></div> + <div class="luminance1"></div> + <div class="luminance2"></div> + <div class="luminance3"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-mode-b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-mode-b.xht new file mode 100644 index 00000000000..6e68991fab6 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-mode-b.xht @@ -0,0 +1,61 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-mode with raster image</title> + <link href="mailto:ethlin@mozilla.com" rel="author" title="Ethan Lin" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#propdef-mask-mode" rel="help" /> + <link href="reference/mask-mode-ref.xht" rel="match" /> + <meta content="Test checks that mask a PNG image referenced by mask-image is correct with different mask mode." name="assert" /> + <style type="text/css"> + div { + background-color: blue; + position: absolute; + margin: 0px; + padding: 0px; + width: 100px; + height: 100px; + top: 10px; + } + + div.auto { + left: 10px; + mask-mode: match-source; + mask-image: url(support/blue-100x100.png); + } + + div.alpha { + left: 120px; + mask-mode: alpha; + mask-image: url(support/blue-100x100.png); + } + + div.luminance1 { + left: 230px; + mask-mode: luminance; + mask-image: url(support/blue-100x100.png); + } + + div.luminance2 { + left: 340px; + mask-mode: luminance; + mask-image: url(support/red-100x100.png); + } + + div.luminance3 { + left: 450px; + mask-mode: luminance; + mask-image: url(support/green-100x100.png); + } + </style> + </head> + <body> + <div class="auto"></div> + <div class="alpha"></div> + <div class="luminance1"></div> + <div class="luminance2"></div> + <div class="luminance3"></div> + + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-origin-1.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-origin-1.xht new file mode 100644 index 00000000000..de38c342d61 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-origin-1.xht @@ -0,0 +1,48 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-origin" rel="help" /> + <link href="reference/mask-origin-1-ref.xht" rel="match" /> + <meta content="Test checks whether setting mask position area works correctly or not." name="assert" /> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + div.inner { + /* + * content box: 60 x 60 + * padding box: 72 x 78 + * border box: 80 x 90 + * margin box: 86 x 94 + */ + margin: 1px 2px 3px 4px; + border: solid transparent; + border-width: 8px 2px 4px 6px; + padding: 6px 9px 12px 3px; + width: 60px; + height: 60px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-position: left top; + } + + #border { mask-origin: border-box; } + #padding { mask-origin: padding-box; } + #content { mask-origin: content-box; } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div id="border" class="inner"></div></div> + <div class="outer"><div id="padding" class="inner"></div></div> + <div class="outer"><div id="content" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-origin-2.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-origin-2.xht new file mode 100644 index 00000000000..720b3ecbd48 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-origin-2.xht @@ -0,0 +1,77 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-origin" rel="help" /> + <link href="reference/mask-origin-2-ref.xht" rel="match" /> + <meta content="Test checks whether setting mask origin to margin-box works correctly or not." name="assert" /> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 125px; + height: 125px; + } + + div.inner { + /* + * content box: 60 x 60 + * padding box: 72 x 78 + * border box: 80 x 90 + * margin box: 86 x 94 + */ + margin: 1px 2px 3px 4px; + border: solid red; + border-width: 8px 2px 4px 6px; + padding: 6px 9px 12px 3px; + width: 60px; + height: 60px; + position: relative; + background-color: blue; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-origin: margin-box; + } + + div.overflow { + position: absolute; + left: -10px; + top: -9px; + border: solid transparent; + border-width: 15px 13px 19px 13px; + width: 60px; + height: 60px; + background-color: purple; + } + + #pos-left-auto { mask-position: left; } + #pos-left-bottom { mask-position: left bottom; } + #pos-right-top { mask-position: right top; } + #pos-right-bottom { mask-position: right bottom; } + </style> + </head> + <body> + <div class="outer"> + <div id="pos-left-auto" class="inner"> + <div class="overflow"></div> + </div> + </div> + <div class="outer"> + <div id="pos-left-bottom" class="inner"> + <div class="overflow"></div> + </div> + </div> + <div class="outer"> + <div id="pos-right-top" class="inner"> + <div class="overflow"></div> + </div> + </div> + <div class="outer"> + <div id="pos-right-bottom" class="inner"> + <div class="overflow"></div> + </div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-1a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-1a.xht new file mode 100644 index 00000000000..6650890fbcc --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-1a.xht @@ -0,0 +1,39 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-1-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { mask-position: right 20% bottom 70%; } + #inner2 { mask-position: bottom 70% right 20%; } + #inner3 { mask-position: right 30px bottom 25px; } + #inner4 { mask-position: bottom 25px right 30px; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner3" class="inner"></div></div> + <div class="outer"><div id="inner4" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-1b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-1b.xht new file mode 100644 index 00000000000..ac31c5a6d7d --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-1b.xht @@ -0,0 +1,39 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-1-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { mask-position: left 40px top 15px; } + #inner2 { mask-position: top 30% left 80%; } + #inner3 { mask-position: left 20px top 25px } + #inner4 { mask-position: top 25px left 20px; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner3" class="inner"></div></div> + <div class="outer"><div id="inner4" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-1c.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-1c.xht new file mode 100644 index 00000000000..b236ba8078e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-1c.xht @@ -0,0 +1,39 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-1-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { mask-position: left 80% bottom 70%; } + #inner2 { mask-position: right 20% top 30%; } + #inner3 { mask-position: bottom 50% left 40%; } + #inner4 { mask-position: right 60% top 50%; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner3" class="inner"></div></div> + <div class="outer"><div id="inner4" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-2a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-2a.xht new file mode 100644 index 00000000000..737788278d3 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-2a.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-2-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left 40% bottom 60%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-2b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-2b.xht new file mode 100644 index 00000000000..321407a4149 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-2b.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-2-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: 40% 40%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-3a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-3a.xht new file mode 100644 index 00000000000..08ca0c86104 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-3a.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-3-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: center bottom 80%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-3b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-3b.xht new file mode 100644 index 00000000000..81fc85d65a5 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-3b.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-3-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: center 20%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4a.xht new file mode 100644 index 00000000000..6a9e515e330 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4a.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-4-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left center; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4b.xht new file mode 100644 index 00000000000..b03ce213f53 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4b.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-4-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4c.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4c.xht new file mode 100644 index 00000000000..6fb849974d0 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4c.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-4-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left bottom 50%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4d.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4d.xht new file mode 100644 index 00000000000..9cd8a9e7e24 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-4d.xht @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-4-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask: url(support/50x50-opaque-blue.svg) left no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-5.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-5.xht new file mode 100644 index 00000000000..3ed9ab50ac1 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-5.xht @@ -0,0 +1,35 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-5-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 120px; + height: 120px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: top, bottom; + mask-repeat: no-repeat, no-repeat; + mask-image: url(support/50x50-opaque-blue.svg), + url(support/50x50-opaque-blue.svg); + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-6.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-6.xht new file mode 100644 index 00000000000..91f12558659 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-6.xht @@ -0,0 +1,50 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-6-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + .outer { + border: 1px solid black; + } + + .outer > div { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { + mask-position: left 20px bottom; + } + + #inner2 { + mask-position: left 40% bottom; + } + + #inner3 { + mask-position: right 60% bottom; + } + + #inner4 { + mask-position: right 30px bottom; + } + </style> + </head> + <body> + <div class="outer"><div id="inner1"></div></div> + <div class="outer"><div id="inner2"></div></div> + <div class="outer"><div id="inner3"></div></div> + <div class="outer"><div id="inner4"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-7.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-7.xht new file mode 100644 index 00000000000..fabd6f954d9 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-position-7.xht @@ -0,0 +1,50 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-7-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + .outer { + border: 1px solid black; + } + + .outer > div { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { + mask-position: right top 40%; + } + + #inner2 { + mask-position: right top 20px; + } + + #inner3 { + mask-position: right bottom 60%; + } + + #inner4 { + mask-position: right bottom 30px; + } + </style> + </head> + <body> + <div class="outer"><div id="inner1"></div></div> + <div class="outer"><div id="inner2"></div></div> + <div class="outer"><div id="inner3"></div></div> + <div class="outer"><div id="inner4"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-repeat-1.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-repeat-1.xht new file mode 100644 index 00000000000..8b55894dfe8 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-repeat-1.xht @@ -0,0 +1,47 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat" rel="help" /> + <link href="reference/mask-repeat-1-ref.xht" rel="match" /> + <meta content="Test checks whether repeated mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 128px; + height: 128px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + } + + #no-repeat { + mask-repeat: no-repeat no-repeat; + } + #repeat { + mask-repeat: repeat repeat; + } + #repeat-x { + mask-repeat: repeat no-repeat; + } + #repeat-y { + mask-repeat: no-repeat repeat; + } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div id="no-repeat" class="inner"></div></div> + <div class="outer"><div id="repeat" class="inner"></div></div> + <div class="outer"><div id="repeat-x" class="inner"></div></div> + <div class="outer"><div id="repeat-y" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-repeat-2.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-repeat-2.xht new file mode 100644 index 00000000000..c448eaba2f8 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-repeat-2.xht @@ -0,0 +1,42 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat" rel="help" /> + <link href="reference/mask-repeat-2-ref.xht" rel="match" /> + <meta content="Test checks whether repeated mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 128px; + height: 128px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + } + + #space { + mask-repeat: space; + } + #space-x { + mask-repeat: space no-repeat; + } + #space-y { + mask-repeat: no-repeat space; + } + </style> + </head> + <body> + <div class="outer"><div id="space" class="inner"></div></div> + <div class="outer"><div id="space-x" class="inner"></div></div> + <div class="outer"><div id="space-y" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-repeat-3.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-repeat-3.xht new file mode 100644 index 00000000000..66bff9aa5dc --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-repeat-3.xht @@ -0,0 +1,42 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat" rel="help" /> + <link href="reference/mask-repeat-3-ref.xht" rel="match" /> + <meta content="Test checks whether repeated mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 150px; + height: 150px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + } + + #round { + mask-repeat: round; + } + #round-x { + mask-repeat: round no-repeat; + } + #round-y { + mask-repeat: no-repeat round; + } + </style> + </head> + <body> + <div class="outer"><div id="round" class="inner"></div></div> + <div class="outer"><div id="round-x" class="inner"></div></div> + <div class="outer"><div id="round-y" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto-auto.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto-auto.xht new file mode 100644 index 00000000000..fff86b75147 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto-auto.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-auto-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto-length.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto-length.xht new file mode 100644 index 00000000000..dc565b5324c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto-length.xht @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-auto-length-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 128px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto 20px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto-percent.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto-percent.xht new file mode 100644 index 00000000000..800a2ead05e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto-percent.xht @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-auto-length-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 128px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto 15.625%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto.xht new file mode 100644 index 00000000000..4abc69fcb28 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-auto.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-auto-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain-clip-border.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain-clip-border.xht new file mode 100644 index 00000000000..0818e89efa7 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain-clip-border.xht @@ -0,0 +1,36 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-contain-clip-border-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + border: 20px solid transparent; + width: 24px; + height: 88px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-clip: border-box; + mask-origin: border-box; + mask-size: contain; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain-clip-padding.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain-clip-padding.xht new file mode 100644 index 00000000000..f36f7885bd5 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain-clip-padding.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-contain-clip-padding-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + background-color: purple; + border: 20px solid transparent; + width: 24px; + height: 88px; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-clip: padding-box; + mask-origin: padding-box; + mask-size: contain; + } + </style> + </head> + <body> + <div id="outer"><div id="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain-position-fifty-fifty.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain-position-fifty-fifty.xht new file mode 100644 index 00000000000..0bda2a2381a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain-position-fifty-fifty.xht @@ -0,0 +1,35 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-contain-position-fifty-fifty-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: contain; + mask-position: 50% 50%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain.xht new file mode 100644 index 00000000000..da3de2e3c30 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-contain.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-contain-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 10px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: contain; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-cover.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-cover.xht new file mode 100644 index 00000000000..a40fd410167 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-cover.xht @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-cover-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + #outer { + border: 10px solid black; + width: 64px; + height: 128px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-origin: content-box; + mask-clip: content-box; + mask-size: cover; + } + </style> + </head> + <body> + <div id="outer"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length-auto.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length-auto.xht new file mode 100644 index 00000000000..7ffa4a86732 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length-auto.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-length-length-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 32px auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length-length.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length-length.xht new file mode 100644 index 00000000000..1f57211cb4c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length-length.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-length-length-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 32px 64px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length-percent.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length-percent.xht new file mode 100644 index 00000000000..c5e564e08c0 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length-percent.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-length-percent-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 16px 25%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length.xht new file mode 100644 index 00000000000..cbdbdcc4d4f --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-length.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-length-length-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 32px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-auto.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-auto.xht new file mode 100644 index 00000000000..731af666789 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-auto.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-percent-percent-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50% auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-length.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-length.xht new file mode 100644 index 00000000000..f120707ecaa --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-length.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-percent-percent-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50% 32px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-percent-stretch.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-percent-stretch.xht new file mode 100644 index 00000000000..e2e89244e67 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-percent-stretch.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-percent-percent-stretch-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 60px; + height: 120px; + } + + #outer { + border: 10px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/transparent-100x50-blue-100x50.svg); + mask-repeat: no-repeat; + mask-size: 100% 100%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-percent.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-percent.xht new file mode 100644 index 00000000000..8dcd3fdb533 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent-percent.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-percent-percent-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50% 25%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent.xht new file mode 100644 index 00000000000..3d3a2ec1e01 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/mask-size-percent.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-percent-percent-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-clip-1-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-clip-1-ref.xht new file mode 100644 index 00000000000..6f6ddb057b6 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-clip-1-ref.xht @@ -0,0 +1,42 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS mask-clip reference</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div { + position: absolute; + top: 10px; + background-color: purple; + } + + div.border { + left: 10px; + margin: 1px 4px; + width: 60px; + height: 25px; + } + + div.padding { + left: 110px; + margin: 9px 10px; + width: 52px; + height: 17px; + } + + div.content { + left: 210px; + margin: 15px 13px; + width: 40px; + height: 11px; + } + </style> + </head> + <body> + <div class="color border"></div> + <div class="color padding"></div> + <div class="color content"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-image-1-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-image-1-ref.xht new file mode 100644 index 00000000000..c70223c52a5 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-image-1-ref.xht @@ -0,0 +1,19 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 50px; + } + </style> + </head> + <body> + <div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-image-2-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-image-2-ref.xht new file mode 100644 index 00000000000..56fc08e7e61 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-image-2-ref.xht @@ -0,0 +1,20 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div { + background-image: linear-gradient(rgba(128,0,128,0), rgba(128,0,128,1)); + width: 100px; + height: 100px; + } + </style> + </head> + <body> + <div></div> + <div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-mode-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-mode-ref.xht new file mode 100644 index 00000000000..11f13f56ac6 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-mode-ref.xht @@ -0,0 +1,52 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS mask-mode reference</title> + <link href="mailto:ethlin@mozilla.com" rel="author" title="Ethan Lin" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div { + background-color: white; + position: absolute; + margin: 0px; + padding: 0px; + width: 100px; + height: 100px; + top: 10px; + } + + div.auto { + left: 10px; + background-image: url(support/blue-100x100.svg); + } + + div.alpha { + left: 120px; + background-image: url(support/blue-100x100.svg); + } + + div.luminance1 { + left: 230px; + background-image: url(support/blue-luminance-100x100.svg); + } + + div.luminance2 { + left: 340px; + background-image: url(support/red-luminance-100x100.svg); + } + + div.luminance3 { + left: 450px; + background-image: url(support/green-luminance-100x100.svg); + } + </style> + </head> + <body> + <div class="auto"></div> + <div class="alpha"></div> + <div class="luminance1"></div> + <div class="luminance2"></div> + <div class="luminance3"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-origin-1-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-origin-1-ref.xht new file mode 100644 index 00000000000..49786aafa02 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-origin-1-ref.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 100px; + height: 100px; + position: relative; + } + + div.inner { + width: 50px; + height: 50px; + background-color: purple; + position: absolute; + } + + #border { left: 4px; top: 1px; } + #padding { left: 10px; top: 9px; } + #content { left: 13px; top: 15px; } + </style> + </head> + <body> + <div class="outer"><div id="border" class="inner"></div></div> + <div class="outer"><div id="border" class="inner"></div></div> + <div class="outer"><div id="padding" class="inner"></div></div> + <div class="outer"><div id="content" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-origin-2-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-origin-2-ref.xht new file mode 100644 index 00000000000..adbc9aaa411 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-origin-2-ref.xht @@ -0,0 +1,35 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 125px; + height: 125px; + position: relative; + } + + div.inner { + width: 50px; + height: 50px; + background-color: purple; + position: absolute; + } + + #pos-left-auto { left: 0px; top: 22px; } + #pos-left-bottom { left: 0px; top: 44px; } + #pos-right-top { left: 36px; top: 0px; } + #pos-right-bottom { left: 36px; top: 44px; } + </style> + </head> + <body> + <div class="outer"><div id="pos-left-auto" class="inner"></div></div> + <div class="outer"><div id="pos-left-bottom" class="inner"></div></div> + <div class="outer"><div id="pos-right-top" class="inner"></div></div> + <div class="outer"><div id="pos-right-bottom" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-1-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-1-ref.xht new file mode 100644 index 00000000000..b0959531e00 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-1-ref.xht @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + position: relative; + width: 100px; + height: 100px; + border: 1px solid black; + } + + div.inner { + position: absolute; + width: 50px; + height: 50px; + background-color: purple; + } + + #inner1 { right: 10px; bottom: 35px; } + #inner2 { right: 30px; bottom: 25px; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-2-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-2-ref.xht new file mode 100644 index 00000000000..dbdd94e0352 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-2-ref.xht @@ -0,0 +1,29 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + #inner { + margin-left: 20px; + margin-top: 20px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-3-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-3-ref.xht new file mode 100644 index 00000000000..429b39f8343 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-3-ref.xht @@ -0,0 +1,29 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + #inner { + margin-left: 25px; + margin-top: 10px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-4-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-4-ref.xht new file mode 100644 index 00000000000..e83d824ba36 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-4-ref.xht @@ -0,0 +1,29 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + #inner { + margin-left: 0px; + margin-top: 25px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-5-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-5-ref.xht new file mode 100644 index 00000000000..2c8799c0f19 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-5-ref.xht @@ -0,0 +1,38 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 120px; + height: 120px; + } + + #inner1 { + margin-left: 35px; + margin-top: 0px; + width: 50px; + height: 50px; + background-color: purple; + } + + #inner2 { + margin-left: 35px; + margin-top: 20px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner1"></div> + <div id="inner2"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-6-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-6-ref.xht new file mode 100644 index 00000000000..2f089bcf2bf --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-6-ref.xht @@ -0,0 +1,30 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + .outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + .inner { + margin-left: 20px; + margin-top: 50px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-7-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-7-ref.xht new file mode 100644 index 00000000000..e1479789d4b --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-position-7-ref.xht @@ -0,0 +1,30 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + .outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + .inner { + margin-left: 50px; + margin-top: 20px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-repeat-1-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-repeat-1-ref.xht new file mode 100644 index 00000000000..2ad4cff79d3 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-repeat-1-ref.xht @@ -0,0 +1,45 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + width: 128px; + height: 128px; + position: relative; + border: 1px solid black; + } + + div.inner { + width: 50px; + height: 50px; + position: absolute; + background-color: purple; + } + + #pos-top-left { left: 0; top: 0; } + #pos-top-right { right: 0; top: 0; } + #pos-bottom-left { left: 0; bottom: 0; } + #pos-bottom-right { right: 0; bottom: 0; } + </style> + </head> + <body> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + <div id="pos-bottom-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-repeat-2-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-repeat-2-ref.xht new file mode 100644 index 00000000000..2ad4cff79d3 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-repeat-2-ref.xht @@ -0,0 +1,45 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + width: 128px; + height: 128px; + position: relative; + border: 1px solid black; + } + + div.inner { + width: 50px; + height: 50px; + position: absolute; + background-color: purple; + } + + #pos-top-left { left: 0; top: 0; } + #pos-top-right { right: 0; top: 0; } + #pos-bottom-left { left: 0; bottom: 0; } + #pos-bottom-right { right: 0; bottom: 0; } + </style> + </head> + <body> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + <div id="pos-bottom-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-repeat-3-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-repeat-3-ref.xht new file mode 100644 index 00000000000..16e88e3792e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-repeat-3-ref.xht @@ -0,0 +1,40 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + width: 150px; + height: 150px; + border: 1px solid black; + } + + .color { + background-color: purple; + } + + #round { + width: 150px; + height: 150px; + } + + #round-x { + width: 150px; + height: 50px; + } + + #round-y { + width: 50px; + height: 150px; + } + </style> + </head> + <body> + <div class="outer"><div id="round" class="color"></div></div> + <div class="outer"><div id="round-x" class="color"></div></div> + <div class="outer"><div id="round-y" class="color"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-auto-length-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-auto-length-ref.xht new file mode 100644 index 00000000000..f1e26917112 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-auto-length-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 20px; + height: 20px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-auto-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-auto-ref.xht new file mode 100644 index 00000000000..33ee1a3064f --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-auto-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-clip-border-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-clip-border-ref.xht new file mode 100644 index 00000000000..45aa0b2ff9b --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-clip-border-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-clip-padding-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-clip-padding-ref.xht new file mode 100644 index 00000000000..c55229a8464 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-clip-padding-ref.xht @@ -0,0 +1,35 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + border: 20px solid white; + width: 24px; + height: 88px; + } + + #innermost { + width: 24px; + height: 24px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"> + <div id="innermost"></div> + </div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-position-fifty-fifty-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-position-fifty-fifty-ref.xht new file mode 100644 index 00000000000..ff52b22d438 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-position-fifty-fifty-ref.xht @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner1 { + width: 64px; + height: 32px; + } + + #inner2 { + width: 64px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner1"></div> + <div id="inner2"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-ref.xht new file mode 100644 index 00000000000..90104654696 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-contain-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 10px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-cover-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-cover-ref.xht new file mode 100644 index 00000000000..e869b34f7a6 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-cover-ref.xht @@ -0,0 +1,21 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 10px solid transparent; + width: 64px; + height: 128px; + background-clip: content-box; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-length-length-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-length-length-ref.xht new file mode 100644 index 00000000000..63e175601db --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-length-length-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 32px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-length-percent-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-length-percent-ref.xht new file mode 100644 index 00000000000..e2c20794d3e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-length-percent-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 16px; + height: 32px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-ref.xht new file mode 100644 index 00000000000..a8e19318904 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 32px; + height: 32px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-stretch-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-stretch-ref.xht new file mode 100644 index 00000000000..049a065b979 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-stretch-ref.xht @@ -0,0 +1,29 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div { + width: 60px; + height: 120px; + } + + #outer { + border: 10px solid black; + } + + #inner { + height: 60px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/50x100-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/50x100-opaque-blue.svg new file mode 100644 index 00000000000..0ce8f599731 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/50x100-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="100"> + <rect x="0" y="0" width="50" height="100" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/50x50-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/50x50-opaque-blue.svg new file mode 100644 index 00000000000..ac194ee3473 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/50x50-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50"> + <rect x="0" y="0" width="50" height="50" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-100x100.png Binary files differnew file mode 100644 index 00000000000..3b72d5ce53c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-100x100.svg new file mode 100644 index 00000000000..ebe8fa73aee --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-100x50-transparent-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-100x50-transparent-100x50.svg index a79d9685c94..2ed03935634 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-100x50-transparent-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-100x50-transparent-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="0"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="1"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="1"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-luminance-100x100.svg new file mode 100644 index 00000000000..3f8e0341e4a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/blue-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(238,238,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/green-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/green-100x100.png Binary files differnew file mode 100644 index 00000000000..d65838b7f02 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/green-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/green-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/green-100x100.svg new file mode 100644 index 00000000000..d792713591e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/green-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="lime" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/green-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/green-luminance-100x100.svg new file mode 100644 index 00000000000..c33436ed43c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/green-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(73,73,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/mask-half-transparent-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/mask-half-transparent-100x100.svg new file mode 100644 index 00000000000..2abd94deec4 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/mask-half-transparent-100x100.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> + <defs> + <mask id="mask" mask-type="alpha"> + <rect x="0" y="0" width="100" height="50" fill-opacity="1"/> + <rect x="0" y="50" width="100" height="50" fill-opacity="0"/> + </mask> + </defs> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/red-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/red-100x100.png Binary files differnew file mode 100644 index 00000000000..43b8e542a92 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/red-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/red-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/red-100x100.svg new file mode 100644 index 00000000000..175c05f28f2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/red-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="red" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/red-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/red-luminance-100x100.svg new file mode 100644 index 00000000000..274905d6b90 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/red-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(201,201,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/transparent-100x50-blue-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/transparent-100x50-blue-100x50.svg index c4017557889..81d59b1bcf1 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/transparent-100x50-blue-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reference/support/transparent-100x50-blue-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="1"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="0"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="0"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reftest-toc.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reftest-toc.xht index 4cb744babb6..3745e30d477 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reftest-toc.xht +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reftest-toc.xht @@ -480,6 +480,14 @@ <td rowspan="1"></td> </tr> </tbody> + <tbody id="mask-clip-1" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-clip: clip mask image"> + <a href="mask-clip-1.xht">mask-clip-1</a></td> + <td><a href="reference/mask-clip-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> <tbody id="mask-composite-1a" class=""> <tr> <td rowspan="1" title="CSS Masking: mask-composite: compose vector image"> @@ -512,6 +520,350 @@ <td rowspan="1"></td> </tr> </tbody> + <tbody id="mask-image-1a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-1a.xht">mask-image-1a</a></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-image-1b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-1b.xht">mask-image-1b</a></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-image-1c" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-1c.xht">mask-image-1c</a></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-image-2" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-2.xht">mask-image-2</a></td> + <td><a href="reference/mask-image-2-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-mode-a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-mode with vector image"> + <a href="mask-mode-a.xht">mask-mode-a</a></td> + <td><a href="reference/mask-mode-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-mode-b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-mode with raster image"> + <a href="mask-mode-b.xht">mask-mode-b</a></td> + <td><a href="reference/mask-mode-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-origin-1" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-origin: mask positioning area"> + <a href="mask-origin-1.xht">mask-origin-1</a></td> + <td><a href="reference/mask-origin-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-origin-2" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-origin: mask positioning area"> + <a href="mask-origin-2.xht">mask-origin-2</a></td> + <td><a href="reference/mask-origin-2-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-1a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-1a.xht">mask-position-1a</a></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-1b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-1b.xht">mask-position-1b</a></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-1c" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-1c.xht">mask-position-1c</a></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-2a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-2a.xht">mask-position-2a</a></td> + <td><a href="reference/mask-position-2-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-2b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-2b.xht">mask-position-2b</a></td> + <td><a href="reference/mask-position-2-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-3a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-3a.xht">mask-position-3a</a></td> + <td><a href="reference/mask-position-3-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-3b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-3b.xht">mask-position-3b</a></td> + <td><a href="reference/mask-position-3-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4a.xht">mask-position-4a</a></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4b.xht">mask-position-4b</a></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4c" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4c.xht">mask-position-4c</a></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4d" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4d.xht">mask-position-4d</a></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-5" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-5.xht">mask-position-5</a></td> + <td><a href="reference/mask-position-5-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-6" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-6.xht">mask-position-6</a></td> + <td><a href="reference/mask-position-6-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-7" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-7.xht">mask-position-7</a></td> + <td><a href="reference/mask-position-7-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-repeat-1" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-repeat: repeated mask layer image"> + <a href="mask-repeat-1.xht">mask-repeat-1</a></td> + <td><a href="reference/mask-repeat-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-repeat-2" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-repeat: repeated mask layer image"> + <a href="mask-repeat-2.xht">mask-repeat-2</a></td> + <td><a href="reference/mask-repeat-2-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-repeat-3" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-repeat: repeated mask layer image"> + <a href="mask-repeat-3.xht">mask-repeat-3</a></td> + <td><a href="reference/mask-repeat-3-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto.xht">mask-size-auto</a></td> + <td><a href="reference/mask-size-auto-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto-auto.xht">mask-size-auto-auto</a></td> + <td><a href="reference/mask-size-auto-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto-length.xht">mask-size-auto-length</a></td> + <td><a href="reference/mask-size-auto-length-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto-percent.xht">mask-size-auto-percent</a></td> + <td><a href="reference/mask-size-auto-length-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain.xht">mask-size-contain</a></td> + <td><a href="reference/mask-size-contain-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain-clip-border" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain-clip-border.xht">mask-size-contain-clip-border</a></td> + <td><a href="reference/mask-size-contain-clip-border-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain-clip-padding" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain-clip-padding.xht">mask-size-contain-clip-padding</a></td> + <td><a href="reference/mask-size-contain-clip-padding-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain-position-fifty-fifty" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain-position-fifty-fifty.xht">mask-size-contain-position-fifty-fifty</a></td> + <td><a href="reference/mask-size-contain-position-fifty-fifty-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-cover" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-cover.xht">mask-size-cover</a></td> + <td><a href="reference/mask-size-cover-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length.xht">mask-size-length</a></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length-auto.xht">mask-size-length-auto</a></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length-length.xht">mask-size-length-length</a></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length-percent.xht">mask-size-length-percent</a></td> + <td><a href="reference/mask-size-length-percent-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent.xht">mask-size-percent</a></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-auto.xht">mask-size-percent-auto</a></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-length.xht">mask-size-percent-length</a></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-percent.xht">mask-size-percent-percent</a></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-percent-stretch" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-percent-stretch.xht">mask-size-percent-percent-stretch</a></td> + <td><a href="reference/mask-size-percent-percent-stretch-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> <tbody id="test-mask" class=""> <tr> <td rowspan="1" title="CSS Masking: mask-repeat:round repeat;"> diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reftest.list b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reftest.list index b07ea246fcb..6160e0edaf9 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reftest.list +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/reftest.list @@ -56,8 +56,52 @@ clip-rect-comma-003.xht == reference/clip-no-clipping-ref.xht clip-rect-comma-004.xht == reference/clip-no-clipping-ref.xht clip-rule-001.xht == reference/clip-rule-rectangle-border-ref.xht clip-rule-002.xht == reference/clip-rule-rectangle-border-ref.xht +mask-clip-1.xht == reference/mask-clip-1-ref.xht mask-composite-1a.xht == reference/mask-composite-1-ref.xht mask-composite-1b.xht == reference/mask-composite-1-ref.xht mask-composite-2a.xht == reference/mask-composite-2-ref.xht mask-composite-2b.xht == reference/mask-composite-2-ref.xht +mask-image-1a.xht == reference/mask-image-1-ref.xht +mask-image-1b.xht == reference/mask-image-1-ref.xht +mask-image-1c.xht == reference/mask-image-1-ref.xht +mask-image-2.xht == reference/mask-image-2-ref.xht +mask-mode-a.xht == reference/mask-mode-ref.xht +mask-mode-b.xht == reference/mask-mode-ref.xht +mask-origin-1.xht == reference/mask-origin-1-ref.xht +mask-origin-2.xht == reference/mask-origin-2-ref.xht +mask-position-1a.xht == reference/mask-position-1-ref.xht +mask-position-1b.xht == reference/mask-position-1-ref.xht +mask-position-1c.xht == reference/mask-position-1-ref.xht +mask-position-2a.xht == reference/mask-position-2-ref.xht +mask-position-2b.xht == reference/mask-position-2-ref.xht +mask-position-3a.xht == reference/mask-position-3-ref.xht +mask-position-3b.xht == reference/mask-position-3-ref.xht +mask-position-4a.xht == reference/mask-position-4-ref.xht +mask-position-4b.xht == reference/mask-position-4-ref.xht +mask-position-4c.xht == reference/mask-position-4-ref.xht +mask-position-4d.xht == reference/mask-position-4-ref.xht +mask-position-5.xht == reference/mask-position-5-ref.xht +mask-position-6.xht == reference/mask-position-6-ref.xht +mask-position-7.xht == reference/mask-position-7-ref.xht +mask-repeat-1.xht == reference/mask-repeat-1-ref.xht +mask-repeat-2.xht == reference/mask-repeat-2-ref.xht +mask-repeat-3.xht == reference/mask-repeat-3-ref.xht +mask-size-auto.xht == reference/mask-size-auto-ref.xht +mask-size-auto-auto.xht == reference/mask-size-auto-ref.xht +mask-size-auto-length.xht == reference/mask-size-auto-length-ref.xht +mask-size-auto-percent.xht == reference/mask-size-auto-length-ref.xht +mask-size-contain.xht == reference/mask-size-contain-ref.xht +mask-size-contain-clip-border.xht == reference/mask-size-contain-clip-border-ref.xht +mask-size-contain-clip-padding.xht == reference/mask-size-contain-clip-padding-ref.xht +mask-size-contain-position-fifty-fifty.xht == reference/mask-size-contain-position-fifty-fifty-ref.xht +mask-size-cover.xht == reference/mask-size-cover-ref.xht +mask-size-length.xht == reference/mask-size-length-length-ref.xht +mask-size-length-auto.xht == reference/mask-size-length-length-ref.xht +mask-size-length-length.xht == reference/mask-size-length-length-ref.xht +mask-size-length-percent.xht == reference/mask-size-length-percent-ref.xht +mask-size-percent.xht == reference/mask-size-percent-percent-ref.xht +mask-size-percent-auto.xht == reference/mask-size-percent-percent-ref.xht +mask-size-percent-length.xht == reference/mask-size-percent-percent-ref.xht +mask-size-percent-percent.xht == reference/mask-size-percent-percent-ref.xht +mask-size-percent-percent-stretch.xht == reference/mask-size-percent-percent-stretch-ref.xht test-mask.xht == reference/test-mask-ref.xht diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/50x100-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/50x100-opaque-blue.svg new file mode 100644 index 00000000000..0ce8f599731 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/50x100-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="100"> + <rect x="0" y="0" width="50" height="100" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/50x50-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/50x50-opaque-blue.svg new file mode 100644 index 00000000000..ac194ee3473 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/50x50-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50"> + <rect x="0" y="0" width="50" height="50" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-100x100.png Binary files differnew file mode 100644 index 00000000000..3b72d5ce53c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-100x100.svg new file mode 100644 index 00000000000..ebe8fa73aee --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-100x50-transparent-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-100x50-transparent-100x50.svg index a79d9685c94..2ed03935634 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-100x50-transparent-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-100x50-transparent-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="0"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="1"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="1"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-luminance-100x100.svg new file mode 100644 index 00000000000..3f8e0341e4a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/blue-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(238,238,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/green-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/green-100x100.png Binary files differnew file mode 100644 index 00000000000..d65838b7f02 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/green-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/green-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/green-100x100.svg new file mode 100644 index 00000000000..d792713591e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/green-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="lime" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/green-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/green-luminance-100x100.svg new file mode 100644 index 00000000000..c33436ed43c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/green-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(73,73,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/mask-half-transparent-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/mask-half-transparent-100x100.svg new file mode 100644 index 00000000000..2abd94deec4 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/mask-half-transparent-100x100.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> + <defs> + <mask id="mask" mask-type="alpha"> + <rect x="0" y="0" width="100" height="50" fill-opacity="1"/> + <rect x="0" y="50" width="100" height="50" fill-opacity="0"/> + </mask> + </defs> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/red-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/red-100x100.png Binary files differnew file mode 100644 index 00000000000..43b8e542a92 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/red-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/red-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/red-100x100.svg new file mode 100644 index 00000000000..175c05f28f2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/red-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="red" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/red-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/red-luminance-100x100.svg new file mode 100644 index 00000000000..274905d6b90 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/red-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(201,201,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/transparent-100x50-blue-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/transparent-100x50-blue-100x50.svg index c4017557889..81d59b1bcf1 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/transparent-100x50-blue-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/support/transparent-100x50-blue-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="1"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="0"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="0"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/toc.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/toc.xht index 3fed4050d31..3eb5110a3ec 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1/toc.xht +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1/toc.xht @@ -52,7 +52,7 @@ <tbody id="s7"> <tr><th><a href="chapter-7.xht">Chapter 7 - Positioned Masks</a></th> - <td>(5 Tests)</td></tr> + <td>(49 Tests)</td></tr> </tbody> <tbody id="s8"> <tr><th><a href="chapter-8.xht">Chapter 8 - diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-10.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-10.xht index 3add24715c0..45f9275258d 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-10.xht +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-10.xht @@ -39,72 +39,18 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-compositing-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-shapes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-transforms"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3bg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3color"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3val"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-filter-effects"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg11"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> @@ -117,9 +63,6 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-7.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-7.xht index 285ce9b05d2..939aed45faa 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-7.xht +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-7.xht @@ -13,7 +13,7 @@ <body> <h1>CSS Masking Level 1 CR Test Suite</h1> - <h2>Positioned Masks (5 tests)</h2> + <h2>Positioned Masks (49 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -37,7 +37,51 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.1">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-image">7.1 Mask Image Source: the mask-image property</a></th></tr> - <!-- 0 tests --> + <!-- 4 tests --> + <tr id="mask-image-1a-7.1" class="primary"> + <td><strong> + <a href="mask-image-1a.xht">mask-image-1a</a></strong></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether image as mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-image-1b-7.1" class="primary"> + <td><strong> + <a href="mask-image-1b.xht">mask-image-1b</a></strong></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether SVG image as mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-image-1c-7.1" class="primary"> + <td><strong> + <a href="mask-image-1c.xht">mask-image-1c</a></strong></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether SVG mask element as mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-image-2-7.1" class="primary"> + <td><strong> + <a href="mask-image-2.xht">mask-image-2</a></strong></td> + <td><a href="reference/mask-image-2-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-image: mask layer image + <ul class="assert"> + <li>Test checks whether gradient CSS image as mask layer works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.1.#mask-layer-image"> <!-- 0 tests --> @@ -61,7 +105,29 @@ <!-- 0 tests --> </tbody> <tbody id="s7.2.#propdef-mask-mode"> - <!-- 0 tests --> + <!-- 2 tests --> + <tr id="mask-mode-a-7.2.#propdef-mask-mode" class="primary"> + <td><strong> + <a href="mask-mode-a.xht">mask-mode-a</a></strong></td> + <td><a href="reference/mask-mode-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-mode with vector image + <ul class="assert"> + <li>Test checks that mask an SVG image referenced by mask-image is correct with different mask mode.</li> + </ul> + </td> + </tr> + <tr id="mask-mode-b-7.2.#propdef-mask-mode" class="primary"> + <td><strong> + <a href="mask-mode-b.xht">mask-mode-b</a></strong></td> + <td><a href="reference/mask-mode-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-mode with raster image + <ul class="assert"> + <li>Test checks that mask a PNG image referenced by mask-image is correct with different mask mode.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.2.#typedef-masking-mode"> <!-- 0 tests --> @@ -79,7 +145,40 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.3">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat">7.3 Tiling Mask Images: The mask-repeat property</a></th></tr> - <!-- 1 tests --> + <!-- 4 tests --> + <tr id="mask-repeat-1-7.3" class="primary"> + <td><strong> + <a href="mask-repeat-1.xht">mask-repeat-1</a></strong></td> + <td><a href="reference/mask-repeat-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-repeat: repeated mask layer image + <ul class="assert"> + <li>Test checks whether repeated mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-repeat-2-7.3" class="primary"> + <td><strong> + <a href="mask-repeat-2.xht">mask-repeat-2</a></strong></td> + <td><a href="reference/mask-repeat-2-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-repeat: repeated mask layer image + <ul class="assert"> + <li>Test checks whether repeated mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-repeat-3-7.3" class="primary"> + <td><strong> + <a href="mask-repeat-3.xht">mask-repeat-3</a></strong></td> + <td><a href="reference/mask-repeat-3-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-repeat: repeated mask layer image + <ul class="assert"> + <li>Test checks whether repeated mask layer works correctly or not.</li> + </ul> + </td> + </tr> <tr id="test-mask-7.3" class=""> <td> <a href="test-mask.xht">test-mask</a></td> @@ -99,7 +198,161 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.4">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-position">7.4 Positioning Mask Images: the mask-position property</a></th></tr> - <!-- 0 tests --> + <!-- 14 tests --> + <tr id="mask-position-1a-7.4" class="primary"> + <td><strong> + <a href="mask-position-1a.xht">mask-position-1a</a></strong></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-1b-7.4" class="primary"> + <td><strong> + <a href="mask-position-1b.xht">mask-position-1b</a></strong></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-1c-7.4" class="primary"> + <td><strong> + <a href="mask-position-1c.xht">mask-position-1c</a></strong></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-2a-7.4" class="primary"> + <td><strong> + <a href="mask-position-2a.xht">mask-position-2a</a></strong></td> + <td><a href="reference/mask-position-2-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-2b-7.4" class="primary"> + <td><strong> + <a href="mask-position-2b.xht">mask-position-2b</a></strong></td> + <td><a href="reference/mask-position-2-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-3a-7.4" class="primary"> + <td><strong> + <a href="mask-position-3a.xht">mask-position-3a</a></strong></td> + <td><a href="reference/mask-position-3-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-3b-7.4" class="primary"> + <td><strong> + <a href="mask-position-3b.xht">mask-position-3b</a></strong></td> + <td><a href="reference/mask-position-3-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4a-7.4" class="primary"> + <td><strong> + <a href="mask-position-4a.xht">mask-position-4a</a></strong></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4b-7.4" class="primary"> + <td><strong> + <a href="mask-position-4b.xht">mask-position-4b</a></strong></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4c-7.4" class="primary"> + <td><strong> + <a href="mask-position-4c.xht">mask-position-4c</a></strong></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-4d-7.4" class="primary"> + <td><strong> + <a href="mask-position-4d.xht">mask-position-4d</a></strong></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-5-7.4" class="primary"> + <td><strong> + <a href="mask-position-5.xht">mask-position-5</a></strong></td> + <td><a href="reference/mask-position-5-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-6-7.4" class="primary"> + <td><strong> + <a href="mask-position-6.xht">mask-position-6</a></strong></td> + <td><a href="reference/mask-position-6-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-position-7-7.4" class="primary"> + <td><strong> + <a href="mask-position-7.xht">mask-position-7</a></strong></td> + <td><a href="reference/mask-position-7-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-position: mask positioning + <ul class="assert"> + <li>Test checks whether positioning mask layer works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.4.#propdef-mask-position"> <!-- 0 tests --> @@ -108,7 +361,18 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.5">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-clip">7.5 Masking Area: the mask-clip property</a></th></tr> - <!-- 0 tests --> + <!-- 1 tests --> + <tr id="mask-clip-1-7.5" class=""> + <td> + <a href="mask-clip-1.xht">mask-clip-1</a></td> + <td><a href="reference/mask-clip-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-clip: clip mask image + <ul class="assert"> + <li>border-box, padding-box, and content-box values of mask-clip should clip to the appropriate boxes.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.5.#mask-painting-area"> <!-- 0 tests --> @@ -144,7 +408,29 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.6">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-origin">7.6 Positioning Area: the mask-origin property</a></th></tr> - <!-- 0 tests --> + <!-- 2 tests --> + <tr id="mask-origin-1-7.6" class="primary"> + <td><strong> + <a href="mask-origin-1.xht">mask-origin-1</a></strong></td> + <td><a href="reference/mask-origin-1-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-origin: mask positioning area + <ul class="assert"> + <li>Test checks whether setting mask position area works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-origin-2-7.6" class="primary"> + <td><strong> + <a href="mask-origin-2.xht">mask-origin-2</a></strong></td> + <td><a href="reference/mask-origin-2-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-origin: mask positioning area + <ul class="assert"> + <li>Test checks whether setting mask origin to margin-box works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.6.#mask-positioning-area"> <!-- 0 tests --> @@ -177,7 +463,205 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s7.7">+</a> <a href="https://www.w3.org/TR/css-masking-1/#the-mask-size">7.7 Sizing Mask Images: the mask-size property</a></th></tr> - <!-- 0 tests --> + <!-- 18 tests --> + <tr id="mask-size-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto.xht">mask-size-auto</a></strong></td> + <td><a href="reference/mask-size-auto-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-auto-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto-auto.xht">mask-size-auto-auto</a></strong></td> + <td><a href="reference/mask-size-auto-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-auto-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto-length.xht">mask-size-auto-length</a></strong></td> + <td><a href="reference/mask-size-auto-length-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-auto-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-auto-percent.xht">mask-size-auto-percent</a></strong></td> + <td><a href="reference/mask-size-auto-length-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain.xht">mask-size-contain</a></strong></td> + <td><a href="reference/mask-size-contain-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-clip-border-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain-clip-border.xht">mask-size-contain-clip-border</a></strong></td> + <td><a href="reference/mask-size-contain-clip-border-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-clip-padding-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain-clip-padding.xht">mask-size-contain-clip-padding</a></strong></td> + <td><a href="reference/mask-size-contain-clip-padding-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-contain-position-fifty-fifty-7.7" class="primary"> + <td><strong> + <a href="mask-size-contain-position-fifty-fifty.xht">mask-size-contain-position-fifty-fifty</a></strong></td> + <td><a href="reference/mask-size-contain-position-fifty-fifty-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-cover-7.7" class="primary"> + <td><strong> + <a href="mask-size-cover.xht">mask-size-cover</a></strong></td> + <td><a href="reference/mask-size-cover-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-length.xht">mask-size-length</a></strong></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-length-auto.xht">mask-size-length-auto</a></strong></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-length-length.xht">mask-size-length-length</a></strong></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-length-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-length-percent.xht">mask-size-length-percent</a></strong></td> + <td><a href="reference/mask-size-length-percent-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent.xht">mask-size-percent</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-auto-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-auto.xht">mask-size-percent-auto</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-length-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-length.xht">mask-size-percent-length</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-percent-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-percent.xht">mask-size-percent-percent</a></strong></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> + <tr id="mask-size-percent-percent-stretch-7.7" class="primary"> + <td><strong> + <a href="mask-size-percent-percent-stretch.xht">mask-size-percent-percent-stretch</a></strong></td> + <td><a href="reference/mask-size-percent-percent-stretch-ref.xht">=</a> </td> + <td></td> + <td>CSS Masking: mask-size: mask layer size + <ul class="assert"> + <li>Test checks whether sizing mask layer works correctly or not.</li> + </ul> + </td> + </tr> </tbody> <tbody id="s7.7.#propdef-mask-size"> <!-- 0 tests --> diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-C.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-C.xht index ba55e00503d..6794f80981c 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-C.xht +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/chapter-C.xht @@ -39,28 +39,85 @@ <tbody id="sC.#InterfaceSVGMaskElement"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGClipPathElement__clipPathUnits"> + <tbody id="sInterfaceSVGClipPathElement.#SVGClipPathElement__clipPathUnits"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGClipPathElement__transform"> + <tbody id="sInterfaceSVGClipPathElement.#SVGClipPathElement__transform"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__height"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__height"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__maskContentUnits"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__maskContentUnits"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__maskUnits"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__maskUnits"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__width"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__width"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__x"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__x"> <!-- 0 tests --> </tbody> - <tbody id="sC.#SVGMaskElement__y"> + <tbody id="sInterfaceSVGMaskElement.#SVGMaskElement__y"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3color"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-filter-effects"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-compositing-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-shapes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-transforms"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3bg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3val"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg11"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-clip-1.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-clip-1.xht new file mode 100644 index 00000000000..0da39f934cb --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-clip-1.xht @@ -0,0 +1,57 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-clip: clip mask image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="http://www.w3.org/TR/css-masking-1/#the-mask-clip" rel="help" /> + <link href="reference/mask-clip-1-ref.xht" rel="match" /> + <meta content="border-box, padding-box, and content-box values of mask-clip should clip to the appropriate boxes." name="assert" /> + <style type="text/css"> + div { + /* + * content box: 40 x 20 + * padding box: 52 x 38 + * border box: 60 x 50 + * margin box: 66 x 54 + */ + background-color: purple; + position: absolute; + top: 10px; + margin: 1px 2px 3px 4px; + border: solid transparent; + border-width: 8px 2px 4px 6px; + padding: 6px 9px 12px 3px; + width: 40px; + height: 20px; + } + + div.mask { + mask-size: 100% 100%; + mask-origin: border-box; + mask-image: url(support/transparent-100x50-blue-100x50.svg); + } + + div.border { + left: 10px; + mask-clip: border-box; + } + + div.padding { + left: 110px; + mask-clip: padding-box; + } + + div.content { + left: 210px; + mask-clip: content-box; + } + </style> + </head> + <body> + <div class="outer mask border"></div> + <div class="outer mask padding"></div> + <div class="outer mask content"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-1a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-1a.xht new file mode 100644 index 00000000000..0082ca892c6 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-1a.xht @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help" /> + <link href="reference/mask-image-1-ref.xht" rel="match" /> + <meta content="Test checks whether image as mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-png { + mask-image: url(support/transparent-100x50-blue-100x50.png); + } + </style> + </head> + <body> + <div class="mask-by-png"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-1b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-1b.xht new file mode 100644 index 00000000000..765c3763427 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-1b.xht @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help" /> + <link href="reference/mask-image-1-ref.xht" rel="match" /> + <meta content="Test checks whether SVG image as mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-svg { + mask-image: url(support/transparent-100x50-blue-100x50.svg); + } + </style> + </head> + <body> + <div class="mask-by-svg"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-1c.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-1c.xht new file mode 100644 index 00000000000..be78f931867 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-1c.xht @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help" /> + <link href="reference/mask-image-1-ref.xht" rel="match" /> + <meta content="Test checks whether SVG mask element as mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-svg-mask { + mask-image: url(support/mask-half-transparent-100x100.svg#mask); + } + </style> + </head> + <body> + <div class="mask-by-svg-mask"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-2.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-2.xht new file mode 100644 index 00000000000..7ce0fcb930c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-image-2.xht @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-image" rel="help" /> + <link href="reference/mask-image-2-ref.xht" rel="match" /> + <meta content="Test checks whether gradient CSS image as mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 100px; + } + + div.mask-by-gradient-1 { + mask-image: linear-gradient(rgba(0,0,255,0), rgba(0,0,255,1)); /* blue gradient mask */ + } + + div.mask-by-gradient-2 { + mask-image: linear-gradient(rgba(255,0,0,0), rgba(255,0,0,1)); /* red gradient mask */ + } + </style> + </head> + <body> + <div class="mask-by-gradient-1"></div> + <div class="mask-by-gradient-2"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-mode-a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-mode-a.xht new file mode 100644 index 00000000000..30ebf8d051e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-mode-a.xht @@ -0,0 +1,60 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-mode with vector image</title> + <link href="mailto:ethlin@mozilla.com" rel="author" title="Ethan Lin" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#propdef-mask-mode" rel="help" /> + <link href="reference/mask-mode-ref.xht" rel="match" /> + <meta content="Test checks that mask an SVG image referenced by mask-image is correct with different mask mode." name="assert" /> + <style type="text/css"> + div { + background-color: blue; + position: absolute; + margin: 0px; + padding: 0px; + width: 100px; + height: 100px; + top: 10px; + } + + div.auto { + left: 10px; + mask-mode: match-source; + mask-image: url(support/blue-100x100.svg); + } + + div.alpha { + left: 120px; + mask-mode: alpha; + mask-image: url(support/blue-100x100.svg); + } + + div.luminance1 { + left: 230px; + mask-mode: luminance; + mask-image: url(support/blue-100x100.svg); + } + + div.luminance2 { + left: 340px; + mask-mode: luminance; + mask-image: url(support/red-100x100.svg); + } + + div.luminance3 { + left: 450px; + mask-mode: luminance; + mask-image: url(support/green-100x100.svg); + } + </style> + </head> + <body> + <div class="auto"></div> + <div class="alpha"></div> + <div class="luminance1"></div> + <div class="luminance2"></div> + <div class="luminance3"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-mode-b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-mode-b.xht new file mode 100644 index 00000000000..6e68991fab6 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-mode-b.xht @@ -0,0 +1,61 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-mode with raster image</title> + <link href="mailto:ethlin@mozilla.com" rel="author" title="Ethan Lin" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#propdef-mask-mode" rel="help" /> + <link href="reference/mask-mode-ref.xht" rel="match" /> + <meta content="Test checks that mask a PNG image referenced by mask-image is correct with different mask mode." name="assert" /> + <style type="text/css"> + div { + background-color: blue; + position: absolute; + margin: 0px; + padding: 0px; + width: 100px; + height: 100px; + top: 10px; + } + + div.auto { + left: 10px; + mask-mode: match-source; + mask-image: url(support/blue-100x100.png); + } + + div.alpha { + left: 120px; + mask-mode: alpha; + mask-image: url(support/blue-100x100.png); + } + + div.luminance1 { + left: 230px; + mask-mode: luminance; + mask-image: url(support/blue-100x100.png); + } + + div.luminance2 { + left: 340px; + mask-mode: luminance; + mask-image: url(support/red-100x100.png); + } + + div.luminance3 { + left: 450px; + mask-mode: luminance; + mask-image: url(support/green-100x100.png); + } + </style> + </head> + <body> + <div class="auto"></div> + <div class="alpha"></div> + <div class="luminance1"></div> + <div class="luminance2"></div> + <div class="luminance3"></div> + + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-origin-1.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-origin-1.xht new file mode 100644 index 00000000000..de38c342d61 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-origin-1.xht @@ -0,0 +1,48 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-origin" rel="help" /> + <link href="reference/mask-origin-1-ref.xht" rel="match" /> + <meta content="Test checks whether setting mask position area works correctly or not." name="assert" /> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + div.inner { + /* + * content box: 60 x 60 + * padding box: 72 x 78 + * border box: 80 x 90 + * margin box: 86 x 94 + */ + margin: 1px 2px 3px 4px; + border: solid transparent; + border-width: 8px 2px 4px 6px; + padding: 6px 9px 12px 3px; + width: 60px; + height: 60px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-position: left top; + } + + #border { mask-origin: border-box; } + #padding { mask-origin: padding-box; } + #content { mask-origin: content-box; } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div id="border" class="inner"></div></div> + <div class="outer"><div id="padding" class="inner"></div></div> + <div class="outer"><div id="content" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-origin-2.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-origin-2.xht new file mode 100644 index 00000000000..720b3ecbd48 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-origin-2.xht @@ -0,0 +1,77 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-origin" rel="help" /> + <link href="reference/mask-origin-2-ref.xht" rel="match" /> + <meta content="Test checks whether setting mask origin to margin-box works correctly or not." name="assert" /> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 125px; + height: 125px; + } + + div.inner { + /* + * content box: 60 x 60 + * padding box: 72 x 78 + * border box: 80 x 90 + * margin box: 86 x 94 + */ + margin: 1px 2px 3px 4px; + border: solid red; + border-width: 8px 2px 4px 6px; + padding: 6px 9px 12px 3px; + width: 60px; + height: 60px; + position: relative; + background-color: blue; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-origin: margin-box; + } + + div.overflow { + position: absolute; + left: -10px; + top: -9px; + border: solid transparent; + border-width: 15px 13px 19px 13px; + width: 60px; + height: 60px; + background-color: purple; + } + + #pos-left-auto { mask-position: left; } + #pos-left-bottom { mask-position: left bottom; } + #pos-right-top { mask-position: right top; } + #pos-right-bottom { mask-position: right bottom; } + </style> + </head> + <body> + <div class="outer"> + <div id="pos-left-auto" class="inner"> + <div class="overflow"></div> + </div> + </div> + <div class="outer"> + <div id="pos-left-bottom" class="inner"> + <div class="overflow"></div> + </div> + </div> + <div class="outer"> + <div id="pos-right-top" class="inner"> + <div class="overflow"></div> + </div> + </div> + <div class="outer"> + <div id="pos-right-bottom" class="inner"> + <div class="overflow"></div> + </div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-1a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-1a.xht new file mode 100644 index 00000000000..6650890fbcc --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-1a.xht @@ -0,0 +1,39 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-1-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { mask-position: right 20% bottom 70%; } + #inner2 { mask-position: bottom 70% right 20%; } + #inner3 { mask-position: right 30px bottom 25px; } + #inner4 { mask-position: bottom 25px right 30px; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner3" class="inner"></div></div> + <div class="outer"><div id="inner4" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-1b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-1b.xht new file mode 100644 index 00000000000..ac31c5a6d7d --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-1b.xht @@ -0,0 +1,39 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-1-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { mask-position: left 40px top 15px; } + #inner2 { mask-position: top 30% left 80%; } + #inner3 { mask-position: left 20px top 25px } + #inner4 { mask-position: top 25px left 20px; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner3" class="inner"></div></div> + <div class="outer"><div id="inner4" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-1c.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-1c.xht new file mode 100644 index 00000000000..b236ba8078e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-1c.xht @@ -0,0 +1,39 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-1-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { mask-position: left 80% bottom 70%; } + #inner2 { mask-position: right 20% top 30%; } + #inner3 { mask-position: bottom 50% left 40%; } + #inner4 { mask-position: right 60% top 50%; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner3" class="inner"></div></div> + <div class="outer"><div id="inner4" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-2a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-2a.xht new file mode 100644 index 00000000000..737788278d3 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-2a.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-2-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left 40% bottom 60%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-2b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-2b.xht new file mode 100644 index 00000000000..321407a4149 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-2b.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-2-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: 40% 40%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-3a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-3a.xht new file mode 100644 index 00000000000..08ca0c86104 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-3a.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-3-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: center bottom 80%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-3b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-3b.xht new file mode 100644 index 00000000000..81fc85d65a5 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-3b.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-3-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: center 20%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4a.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4a.xht new file mode 100644 index 00000000000..6a9e515e330 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4a.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-4-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left center; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4b.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4b.xht new file mode 100644 index 00000000000..b03ce213f53 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4b.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-4-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4c.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4c.xht new file mode 100644 index 00000000000..6fb849974d0 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4c.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-4-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: left bottom 50%; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4d.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4d.xht new file mode 100644 index 00000000000..9cd8a9e7e24 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-4d.xht @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-4-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask: url(support/50x50-opaque-blue.svg) left no-repeat; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-5.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-5.xht new file mode 100644 index 00000000000..3ed9ab50ac1 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-5.xht @@ -0,0 +1,35 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-5-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 120px; + height: 120px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-position: top, bottom; + mask-repeat: no-repeat, no-repeat; + mask-image: url(support/50x50-opaque-blue.svg), + url(support/50x50-opaque-blue.svg); + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-6.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-6.xht new file mode 100644 index 00000000000..91f12558659 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-6.xht @@ -0,0 +1,50 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-6-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + .outer { + border: 1px solid black; + } + + .outer > div { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { + mask-position: left 20px bottom; + } + + #inner2 { + mask-position: left 40% bottom; + } + + #inner3 { + mask-position: right 60% bottom; + } + + #inner4 { + mask-position: right 30px bottom; + } + </style> + </head> + <body> + <div class="outer"><div id="inner1"></div></div> + <div class="outer"><div id="inner2"></div></div> + <div class="outer"><div id="inner3"></div></div> + <div class="outer"><div id="inner4"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-7.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-7.xht new file mode 100644 index 00000000000..fabd6f954d9 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-position-7.xht @@ -0,0 +1,50 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: mask positioning</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-position" rel="help" /> + <link href="reference/mask-position-7-ref.xht" rel="match" /> + <meta content="Test checks whether positioning mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 100px; + height: 100px; + } + + .outer { + border: 1px solid black; + } + + .outer > div { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + } + + #inner1 { + mask-position: right top 40%; + } + + #inner2 { + mask-position: right top 20px; + } + + #inner3 { + mask-position: right bottom 60%; + } + + #inner4 { + mask-position: right bottom 30px; + } + </style> + </head> + <body> + <div class="outer"><div id="inner1"></div></div> + <div class="outer"><div id="inner2"></div></div> + <div class="outer"><div id="inner3"></div></div> + <div class="outer"><div id="inner4"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-repeat-1.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-repeat-1.xht new file mode 100644 index 00000000000..8b55894dfe8 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-repeat-1.xht @@ -0,0 +1,47 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat" rel="help" /> + <link href="reference/mask-repeat-1-ref.xht" rel="match" /> + <meta content="Test checks whether repeated mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 128px; + height: 128px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + } + + #no-repeat { + mask-repeat: no-repeat no-repeat; + } + #repeat { + mask-repeat: repeat repeat; + } + #repeat-x { + mask-repeat: repeat no-repeat; + } + #repeat-y { + mask-repeat: no-repeat repeat; + } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div id="no-repeat" class="inner"></div></div> + <div class="outer"><div id="repeat" class="inner"></div></div> + <div class="outer"><div id="repeat-x" class="inner"></div></div> + <div class="outer"><div id="repeat-y" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-repeat-2.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-repeat-2.xht new file mode 100644 index 00000000000..c448eaba2f8 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-repeat-2.xht @@ -0,0 +1,42 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat" rel="help" /> + <link href="reference/mask-repeat-2-ref.xht" rel="match" /> + <meta content="Test checks whether repeated mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 128px; + height: 128px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + } + + #space { + mask-repeat: space; + } + #space-x { + mask-repeat: space no-repeat; + } + #space-y { + mask-repeat: no-repeat space; + } + </style> + </head> + <body> + <div class="outer"><div id="space" class="inner"></div></div> + <div class="outer"><div id="space-x" class="inner"></div></div> + <div class="outer"><div id="space-y" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-repeat-3.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-repeat-3.xht new file mode 100644 index 00000000000..66bff9aa5dc --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-repeat-3.xht @@ -0,0 +1,42 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-repeat" rel="help" /> + <link href="reference/mask-repeat-3-ref.xht" rel="match" /> + <meta content="Test checks whether repeated mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 150px; + height: 150px; + } + + div.outer { + border: 1px solid black; + } + + div.inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + } + + #round { + mask-repeat: round; + } + #round-x { + mask-repeat: round no-repeat; + } + #round-y { + mask-repeat: no-repeat round; + } + </style> + </head> + <body> + <div class="outer"><div id="round" class="inner"></div></div> + <div class="outer"><div id="round-x" class="inner"></div></div> + <div class="outer"><div id="round-y" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto-auto.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto-auto.xht new file mode 100644 index 00000000000..fff86b75147 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto-auto.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-auto-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto-length.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto-length.xht new file mode 100644 index 00000000000..dc565b5324c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto-length.xht @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-auto-length-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 128px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto 20px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto-percent.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto-percent.xht new file mode 100644 index 00000000000..800a2ead05e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto-percent.xht @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-auto-length-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 128px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto 15.625%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto.xht new file mode 100644 index 00000000000..4abc69fcb28 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-auto.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-auto-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain-clip-border.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain-clip-border.xht new file mode 100644 index 00000000000..0818e89efa7 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain-clip-border.xht @@ -0,0 +1,36 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-contain-clip-border-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + border: 20px solid transparent; + width: 24px; + height: 88px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-clip: border-box; + mask-origin: border-box; + mask-size: contain; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain-clip-padding.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain-clip-padding.xht new file mode 100644 index 00000000000..f36f7885bd5 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain-clip-padding.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-contain-clip-padding-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + background-color: purple; + border: 20px solid transparent; + width: 24px; + height: 88px; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-clip: padding-box; + mask-origin: padding-box; + mask-size: contain; + } + </style> + </head> + <body> + <div id="outer"><div id="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain-position-fifty-fifty.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain-position-fifty-fifty.xht new file mode 100644 index 00000000000..0bda2a2381a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain-position-fifty-fifty.xht @@ -0,0 +1,35 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-contain-position-fifty-fifty-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: contain; + mask-position: 50% 50%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain.xht new file mode 100644 index 00000000000..da3de2e3c30 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-contain.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-contain-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 10px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: contain; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-cover.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-cover.xht new file mode 100644 index 00000000000..a40fd410167 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-cover.xht @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-cover-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + #outer { + border: 10px solid black; + width: 64px; + height: 128px; + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-origin: content-box; + mask-clip: content-box; + mask-size: cover; + } + </style> + </head> + <body> + <div id="outer"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length-auto.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length-auto.xht new file mode 100644 index 00000000000..7ffa4a86732 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length-auto.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-length-length-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 32px auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length-length.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length-length.xht new file mode 100644 index 00000000000..1f57211cb4c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length-length.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-length-length-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 32px 64px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length-percent.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length-percent.xht new file mode 100644 index 00000000000..c5e564e08c0 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length-percent.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-length-percent-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 16px 25%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length.xht new file mode 100644 index 00000000000..cbdbdcc4d4f --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-length.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-length-length-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x100-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 32px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-auto.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-auto.xht new file mode 100644 index 00000000000..731af666789 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-auto.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-percent-percent-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50% auto; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-length.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-length.xht new file mode 100644 index 00000000000..f120707ecaa --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-length.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-percent-percent-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50% 32px; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-percent-stretch.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-percent-stretch.xht new file mode 100644 index 00000000000..e2e89244e67 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-percent-stretch.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-percent-percent-stretch-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 60px; + height: 120px; + } + + #outer { + border: 10px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/transparent-100x50-blue-100x50.svg); + mask-repeat: no-repeat; + mask-size: 100% 100%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-percent.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-percent.xht new file mode 100644 index 00000000000..8dcd3fdb533 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent-percent.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-percent-percent-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50% 25%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent.xht new file mode 100644 index 00000000000..3d3a2ec1e01 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/mask-size-percent.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <link href="https://www.w3.org/TR/css-masking-1/#the-mask-size" rel="help" /> + <link href="reference/mask-size-percent-percent-ref.xht" rel="match" /> + <meta content="Test checks whether sizing mask layer works correctly or not." name="assert" /> + <style type="text/css"> + div { + width: 64px; + height: 128px; + } + + #outer { + border: 1px solid black; + } + + #inner { + background-color: purple; + mask-image: url(support/50x50-opaque-blue.svg); + mask-repeat: no-repeat; + mask-size: 50%; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-clip-1-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-clip-1-ref.xht new file mode 100644 index 00000000000..6f6ddb057b6 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-clip-1-ref.xht @@ -0,0 +1,42 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS mask-clip reference</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div { + position: absolute; + top: 10px; + background-color: purple; + } + + div.border { + left: 10px; + margin: 1px 4px; + width: 60px; + height: 25px; + } + + div.padding { + left: 110px; + margin: 9px 10px; + width: 52px; + height: 17px; + } + + div.content { + left: 210px; + margin: 15px 13px; + width: 40px; + height: 11px; + } + </style> + </head> + <body> + <div class="color border"></div> + <div class="color padding"></div> + <div class="color content"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-image-1-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-image-1-ref.xht new file mode 100644 index 00000000000..c70223c52a5 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-image-1-ref.xht @@ -0,0 +1,19 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div { + background-color: purple; + width: 100px; + height: 50px; + } + </style> + </head> + <body> + <div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-image-2-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-image-2-ref.xht new file mode 100644 index 00000000000..56fc08e7e61 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-image-2-ref.xht @@ -0,0 +1,20 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-image: mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div { + background-image: linear-gradient(rgba(128,0,128,0), rgba(128,0,128,1)); + width: 100px; + height: 100px; + } + </style> + </head> + <body> + <div></div> + <div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-mode-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-mode-ref.xht new file mode 100644 index 00000000000..11f13f56ac6 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-mode-ref.xht @@ -0,0 +1,52 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS mask-mode reference</title> + <link href="mailto:ethlin@mozilla.com" rel="author" title="Ethan Lin" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div { + background-color: white; + position: absolute; + margin: 0px; + padding: 0px; + width: 100px; + height: 100px; + top: 10px; + } + + div.auto { + left: 10px; + background-image: url(support/blue-100x100.svg); + } + + div.alpha { + left: 120px; + background-image: url(support/blue-100x100.svg); + } + + div.luminance1 { + left: 230px; + background-image: url(support/blue-luminance-100x100.svg); + } + + div.luminance2 { + left: 340px; + background-image: url(support/red-luminance-100x100.svg); + } + + div.luminance3 { + left: 450px; + background-image: url(support/green-luminance-100x100.svg); + } + </style> + </head> + <body> + <div class="auto"></div> + <div class="alpha"></div> + <div class="luminance1"></div> + <div class="luminance2"></div> + <div class="luminance3"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-origin-1-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-origin-1-ref.xht new file mode 100644 index 00000000000..49786aafa02 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-origin-1-ref.xht @@ -0,0 +1,34 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 100px; + height: 100px; + position: relative; + } + + div.inner { + width: 50px; + height: 50px; + background-color: purple; + position: absolute; + } + + #border { left: 4px; top: 1px; } + #padding { left: 10px; top: 9px; } + #content { left: 13px; top: 15px; } + </style> + </head> + <body> + <div class="outer"><div id="border" class="inner"></div></div> + <div class="outer"><div id="border" class="inner"></div></div> + <div class="outer"><div id="padding" class="inner"></div></div> + <div class="outer"><div id="content" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-origin-2-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-origin-2-ref.xht new file mode 100644 index 00000000000..adbc9aaa411 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-origin-2-ref.xht @@ -0,0 +1,35 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-origin: mask positioning area</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + border: 1px solid black; + width: 125px; + height: 125px; + position: relative; + } + + div.inner { + width: 50px; + height: 50px; + background-color: purple; + position: absolute; + } + + #pos-left-auto { left: 0px; top: 22px; } + #pos-left-bottom { left: 0px; top: 44px; } + #pos-right-top { left: 36px; top: 0px; } + #pos-right-bottom { left: 36px; top: 44px; } + </style> + </head> + <body> + <div class="outer"><div id="pos-left-auto" class="inner"></div></div> + <div class="outer"><div id="pos-left-bottom" class="inner"></div></div> + <div class="outer"><div id="pos-right-top" class="inner"></div></div> + <div class="outer"><div id="pos-right-bottom" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-1-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-1-ref.xht new file mode 100644 index 00000000000..b0959531e00 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-1-ref.xht @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + position: relative; + width: 100px; + height: 100px; + border: 1px solid black; + } + + div.inner { + position: absolute; + width: 50px; + height: 50px; + background-color: purple; + } + + #inner1 { right: 10px; bottom: 35px; } + #inner2 { right: 30px; bottom: 25px; } + </style> + </head> + <body> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner1" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + <div class="outer"><div id="inner2" class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-2-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-2-ref.xht new file mode 100644 index 00000000000..dbdd94e0352 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-2-ref.xht @@ -0,0 +1,29 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + #inner { + margin-left: 20px; + margin-top: 20px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-3-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-3-ref.xht new file mode 100644 index 00000000000..429b39f8343 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-3-ref.xht @@ -0,0 +1,29 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + #inner { + margin-left: 25px; + margin-top: 10px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-4-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-4-ref.xht new file mode 100644 index 00000000000..e83d824ba36 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-4-ref.xht @@ -0,0 +1,29 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + #inner { + margin-left: 0px; + margin-top: 25px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-5-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-5-ref.xht new file mode 100644 index 00000000000..2c8799c0f19 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-5-ref.xht @@ -0,0 +1,38 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 120px; + height: 120px; + } + + #inner1 { + margin-left: 35px; + margin-top: 0px; + width: 50px; + height: 50px; + background-color: purple; + } + + #inner2 { + margin-left: 35px; + margin-top: 20px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner1"></div> + <div id="inner2"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-6-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-6-ref.xht new file mode 100644 index 00000000000..2f089bcf2bf --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-6-ref.xht @@ -0,0 +1,30 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + .outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + .inner { + margin-left: 20px; + margin-top: 50px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-7-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-7-ref.xht new file mode 100644 index 00000000000..e1479789d4b --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-position-7-ref.xht @@ -0,0 +1,30 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-position: position mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + .outer { + border: 1px solid black; + width: 100px; + height: 100px; + } + + .inner { + margin-left: 50px; + margin-top: 20px; + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + <div class="outer"><div class="inner"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-repeat-1-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-repeat-1-ref.xht new file mode 100644 index 00000000000..2ad4cff79d3 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-repeat-1-ref.xht @@ -0,0 +1,45 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + width: 128px; + height: 128px; + position: relative; + border: 1px solid black; + } + + div.inner { + width: 50px; + height: 50px; + position: absolute; + background-color: purple; + } + + #pos-top-left { left: 0; top: 0; } + #pos-top-right { right: 0; top: 0; } + #pos-bottom-left { left: 0; bottom: 0; } + #pos-bottom-right { right: 0; bottom: 0; } + </style> + </head> + <body> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + <div id="pos-bottom-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-repeat-2-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-repeat-2-ref.xht new file mode 100644 index 00000000000..2ad4cff79d3 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-repeat-2-ref.xht @@ -0,0 +1,45 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + width: 128px; + height: 128px; + position: relative; + border: 1px solid black; + } + + div.inner { + width: 50px; + height: 50px; + position: absolute; + background-color: purple; + } + + #pos-top-left { left: 0; top: 0; } + #pos-top-right { right: 0; top: 0; } + #pos-bottom-left { left: 0; bottom: 0; } + #pos-bottom-right { right: 0; bottom: 0; } + </style> + </head> + <body> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + <div id="pos-bottom-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-top-right" class="inner"></div> + </div> + <div class="outer"> + <div id="pos-top-left" class="inner"></div> + <div id="pos-bottom-left" class="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-repeat-3-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-repeat-3-ref.xht new file mode 100644 index 00000000000..16e88e3792e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-repeat-3-ref.xht @@ -0,0 +1,40 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-repeat: repeated mask layer image</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div.outer { + width: 150px; + height: 150px; + border: 1px solid black; + } + + .color { + background-color: purple; + } + + #round { + width: 150px; + height: 150px; + } + + #round-x { + width: 150px; + height: 50px; + } + + #round-y { + width: 50px; + height: 150px; + } + </style> + </head> + <body> + <div class="outer"><div id="round" class="color"></div></div> + <div class="outer"><div id="round-x" class="color"></div></div> + <div class="outer"><div id="round-y" class="color"></div></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-auto-length-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-auto-length-ref.xht new file mode 100644 index 00000000000..f1e26917112 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-auto-length-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 20px; + height: 20px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-auto-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-auto-ref.xht new file mode 100644 index 00000000000..33ee1a3064f --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-auto-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 50px; + height: 50px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-clip-border-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-clip-border-ref.xht new file mode 100644 index 00000000000..45aa0b2ff9b --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-clip-border-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-clip-padding-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-clip-padding-ref.xht new file mode 100644 index 00000000000..c55229a8464 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-clip-padding-ref.xht @@ -0,0 +1,35 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + border: 20px solid white; + width: 24px; + height: 88px; + } + + #innermost { + width: 24px; + height: 24px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"> + <div id="innermost"></div> + </div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-position-fifty-fifty-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-position-fifty-fifty-ref.xht new file mode 100644 index 00000000000..ff52b22d438 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-position-fifty-fifty-ref.xht @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner1 { + width: 64px; + height: 32px; + } + + #inner2 { + width: 64px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner1"></div> + <div id="inner2"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-ref.xht new file mode 100644 index 00000000000..90104654696 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-contain-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 10px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 64px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-cover-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-cover-ref.xht new file mode 100644 index 00000000000..e869b34f7a6 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-cover-ref.xht @@ -0,0 +1,21 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 10px solid transparent; + width: 64px; + height: 128px; + background-clip: content-box; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"></div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-length-length-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-length-length-ref.xht new file mode 100644 index 00000000000..63e175601db --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-length-length-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 32px; + height: 64px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-length-percent-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-length-percent-ref.xht new file mode 100644 index 00000000000..e2c20794d3e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-length-percent-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 16px; + height: 32px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-ref.xht new file mode 100644 index 00000000000..a8e19318904 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-ref.xht @@ -0,0 +1,27 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + #outer { + border: 1px solid black; + width: 64px; + height: 128px; + } + + #inner { + width: 32px; + height: 32px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-stretch-ref.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-stretch-ref.xht new file mode 100644 index 00000000000..049a065b979 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-stretch-ref.xht @@ -0,0 +1,29 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title>CSS Masking: mask-size: mask layer size</title> + <link href="mailto:aschen@mozilla.com" rel="author" title="Astley Chen" /> + <link href="https://www.mozilla.org" rel="author" title="Mozilla" /> + <style type="text/css"> + div { + width: 60px; + height: 120px; + } + + #outer { + border: 10px solid black; + } + + #inner { + height: 60px; + background-color: purple; + } + </style> + </head> + <body> + <div id="outer"> + <div id="inner"></div> + </div> + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/50x100-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/50x100-opaque-blue.svg new file mode 100644 index 00000000000..0ce8f599731 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/50x100-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="100"> + <rect x="0" y="0" width="50" height="100" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/50x50-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/50x50-opaque-blue.svg new file mode 100644 index 00000000000..ac194ee3473 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/50x50-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50"> + <rect x="0" y="0" width="50" height="50" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-100x100.png Binary files differnew file mode 100644 index 00000000000..3b72d5ce53c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-100x100.svg new file mode 100644 index 00000000000..ebe8fa73aee --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-100x50-transparent-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-100x50-transparent-100x50.svg index a79d9685c94..2ed03935634 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-100x50-transparent-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-100x50-transparent-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="0"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="1"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="1"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-luminance-100x100.svg new file mode 100644 index 00000000000..3f8e0341e4a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/blue-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(238,238,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/green-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/green-100x100.png Binary files differnew file mode 100644 index 00000000000..d65838b7f02 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/green-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/green-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/green-100x100.svg new file mode 100644 index 00000000000..d792713591e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/green-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="lime" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/green-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/green-luminance-100x100.svg new file mode 100644 index 00000000000..c33436ed43c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/green-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(73,73,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/mask-half-transparent-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/mask-half-transparent-100x100.svg new file mode 100644 index 00000000000..2abd94deec4 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/mask-half-transparent-100x100.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> + <defs> + <mask id="mask" mask-type="alpha"> + <rect x="0" y="0" width="100" height="50" fill-opacity="1"/> + <rect x="0" y="50" width="100" height="50" fill-opacity="0"/> + </mask> + </defs> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/red-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/red-100x100.png Binary files differnew file mode 100644 index 00000000000..43b8e542a92 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/red-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/red-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/red-100x100.svg new file mode 100644 index 00000000000..175c05f28f2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/red-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="red" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/red-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/red-luminance-100x100.svg new file mode 100644 index 00000000000..274905d6b90 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/red-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(201,201,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/transparent-100x50-blue-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/transparent-100x50-blue-100x50.svg index c4017557889..81d59b1bcf1 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/transparent-100x50-blue-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reference/support/transparent-100x50-blue-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="1"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="0"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="0"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reftest-toc.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reftest-toc.xht index 4cb744babb6..3745e30d477 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reftest-toc.xht +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reftest-toc.xht @@ -480,6 +480,14 @@ <td rowspan="1"></td> </tr> </tbody> + <tbody id="mask-clip-1" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-clip: clip mask image"> + <a href="mask-clip-1.xht">mask-clip-1</a></td> + <td><a href="reference/mask-clip-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> <tbody id="mask-composite-1a" class=""> <tr> <td rowspan="1" title="CSS Masking: mask-composite: compose vector image"> @@ -512,6 +520,350 @@ <td rowspan="1"></td> </tr> </tbody> + <tbody id="mask-image-1a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-1a.xht">mask-image-1a</a></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-image-1b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-1b.xht">mask-image-1b</a></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-image-1c" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-1c.xht">mask-image-1c</a></td> + <td><a href="reference/mask-image-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-image-2" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-image: mask layer image"> + <a href="mask-image-2.xht">mask-image-2</a></td> + <td><a href="reference/mask-image-2-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-mode-a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-mode with vector image"> + <a href="mask-mode-a.xht">mask-mode-a</a></td> + <td><a href="reference/mask-mode-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-mode-b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-mode with raster image"> + <a href="mask-mode-b.xht">mask-mode-b</a></td> + <td><a href="reference/mask-mode-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-origin-1" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-origin: mask positioning area"> + <a href="mask-origin-1.xht">mask-origin-1</a></td> + <td><a href="reference/mask-origin-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-origin-2" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-origin: mask positioning area"> + <a href="mask-origin-2.xht">mask-origin-2</a></td> + <td><a href="reference/mask-origin-2-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-1a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-1a.xht">mask-position-1a</a></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-1b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-1b.xht">mask-position-1b</a></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-1c" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-1c.xht">mask-position-1c</a></td> + <td><a href="reference/mask-position-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-2a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-2a.xht">mask-position-2a</a></td> + <td><a href="reference/mask-position-2-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-2b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-2b.xht">mask-position-2b</a></td> + <td><a href="reference/mask-position-2-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-3a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-3a.xht">mask-position-3a</a></td> + <td><a href="reference/mask-position-3-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-3b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-3b.xht">mask-position-3b</a></td> + <td><a href="reference/mask-position-3-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4a" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4a.xht">mask-position-4a</a></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4b" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4b.xht">mask-position-4b</a></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4c" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4c.xht">mask-position-4c</a></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-4d" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-4d.xht">mask-position-4d</a></td> + <td><a href="reference/mask-position-4-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-5" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-5.xht">mask-position-5</a></td> + <td><a href="reference/mask-position-5-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-6" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-6.xht">mask-position-6</a></td> + <td><a href="reference/mask-position-6-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-position-7" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-position: mask positioning"> + <a href="mask-position-7.xht">mask-position-7</a></td> + <td><a href="reference/mask-position-7-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-repeat-1" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-repeat: repeated mask layer image"> + <a href="mask-repeat-1.xht">mask-repeat-1</a></td> + <td><a href="reference/mask-repeat-1-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-repeat-2" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-repeat: repeated mask layer image"> + <a href="mask-repeat-2.xht">mask-repeat-2</a></td> + <td><a href="reference/mask-repeat-2-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-repeat-3" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-repeat: repeated mask layer image"> + <a href="mask-repeat-3.xht">mask-repeat-3</a></td> + <td><a href="reference/mask-repeat-3-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto.xht">mask-size-auto</a></td> + <td><a href="reference/mask-size-auto-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto-auto.xht">mask-size-auto-auto</a></td> + <td><a href="reference/mask-size-auto-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto-length.xht">mask-size-auto-length</a></td> + <td><a href="reference/mask-size-auto-length-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-auto-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-auto-percent.xht">mask-size-auto-percent</a></td> + <td><a href="reference/mask-size-auto-length-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain.xht">mask-size-contain</a></td> + <td><a href="reference/mask-size-contain-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain-clip-border" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain-clip-border.xht">mask-size-contain-clip-border</a></td> + <td><a href="reference/mask-size-contain-clip-border-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain-clip-padding" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain-clip-padding.xht">mask-size-contain-clip-padding</a></td> + <td><a href="reference/mask-size-contain-clip-padding-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-contain-position-fifty-fifty" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-contain-position-fifty-fifty.xht">mask-size-contain-position-fifty-fifty</a></td> + <td><a href="reference/mask-size-contain-position-fifty-fifty-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-cover" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-cover.xht">mask-size-cover</a></td> + <td><a href="reference/mask-size-cover-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length.xht">mask-size-length</a></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length-auto.xht">mask-size-length-auto</a></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length-length.xht">mask-size-length-length</a></td> + <td><a href="reference/mask-size-length-length-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-length-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-length-percent.xht">mask-size-length-percent</a></td> + <td><a href="reference/mask-size-length-percent-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent.xht">mask-size-percent</a></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-auto" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-auto.xht">mask-size-percent-auto</a></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-length" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-length.xht">mask-size-percent-length</a></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-percent" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-percent.xht">mask-size-percent-percent</a></td> + <td><a href="reference/mask-size-percent-percent-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> + <tbody id="mask-size-percent-percent-stretch" class=""> + <tr> + <td rowspan="1" title="CSS Masking: mask-size: mask layer size"> + <a href="mask-size-percent-percent-stretch.xht">mask-size-percent-percent-stretch</a></td> + <td><a href="reference/mask-size-percent-percent-stretch-ref.xht">=</a> </td> + <td rowspan="1"></td> + </tr> + </tbody> <tbody id="test-mask" class=""> <tr> <td rowspan="1" title="CSS Masking: mask-repeat:round repeat;"> diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reftest.list b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reftest.list index b07ea246fcb..6160e0edaf9 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reftest.list +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/reftest.list @@ -56,8 +56,52 @@ clip-rect-comma-003.xht == reference/clip-no-clipping-ref.xht clip-rect-comma-004.xht == reference/clip-no-clipping-ref.xht clip-rule-001.xht == reference/clip-rule-rectangle-border-ref.xht clip-rule-002.xht == reference/clip-rule-rectangle-border-ref.xht +mask-clip-1.xht == reference/mask-clip-1-ref.xht mask-composite-1a.xht == reference/mask-composite-1-ref.xht mask-composite-1b.xht == reference/mask-composite-1-ref.xht mask-composite-2a.xht == reference/mask-composite-2-ref.xht mask-composite-2b.xht == reference/mask-composite-2-ref.xht +mask-image-1a.xht == reference/mask-image-1-ref.xht +mask-image-1b.xht == reference/mask-image-1-ref.xht +mask-image-1c.xht == reference/mask-image-1-ref.xht +mask-image-2.xht == reference/mask-image-2-ref.xht +mask-mode-a.xht == reference/mask-mode-ref.xht +mask-mode-b.xht == reference/mask-mode-ref.xht +mask-origin-1.xht == reference/mask-origin-1-ref.xht +mask-origin-2.xht == reference/mask-origin-2-ref.xht +mask-position-1a.xht == reference/mask-position-1-ref.xht +mask-position-1b.xht == reference/mask-position-1-ref.xht +mask-position-1c.xht == reference/mask-position-1-ref.xht +mask-position-2a.xht == reference/mask-position-2-ref.xht +mask-position-2b.xht == reference/mask-position-2-ref.xht +mask-position-3a.xht == reference/mask-position-3-ref.xht +mask-position-3b.xht == reference/mask-position-3-ref.xht +mask-position-4a.xht == reference/mask-position-4-ref.xht +mask-position-4b.xht == reference/mask-position-4-ref.xht +mask-position-4c.xht == reference/mask-position-4-ref.xht +mask-position-4d.xht == reference/mask-position-4-ref.xht +mask-position-5.xht == reference/mask-position-5-ref.xht +mask-position-6.xht == reference/mask-position-6-ref.xht +mask-position-7.xht == reference/mask-position-7-ref.xht +mask-repeat-1.xht == reference/mask-repeat-1-ref.xht +mask-repeat-2.xht == reference/mask-repeat-2-ref.xht +mask-repeat-3.xht == reference/mask-repeat-3-ref.xht +mask-size-auto.xht == reference/mask-size-auto-ref.xht +mask-size-auto-auto.xht == reference/mask-size-auto-ref.xht +mask-size-auto-length.xht == reference/mask-size-auto-length-ref.xht +mask-size-auto-percent.xht == reference/mask-size-auto-length-ref.xht +mask-size-contain.xht == reference/mask-size-contain-ref.xht +mask-size-contain-clip-border.xht == reference/mask-size-contain-clip-border-ref.xht +mask-size-contain-clip-padding.xht == reference/mask-size-contain-clip-padding-ref.xht +mask-size-contain-position-fifty-fifty.xht == reference/mask-size-contain-position-fifty-fifty-ref.xht +mask-size-cover.xht == reference/mask-size-cover-ref.xht +mask-size-length.xht == reference/mask-size-length-length-ref.xht +mask-size-length-auto.xht == reference/mask-size-length-length-ref.xht +mask-size-length-length.xht == reference/mask-size-length-length-ref.xht +mask-size-length-percent.xht == reference/mask-size-length-percent-ref.xht +mask-size-percent.xht == reference/mask-size-percent-percent-ref.xht +mask-size-percent-auto.xht == reference/mask-size-percent-percent-ref.xht +mask-size-percent-length.xht == reference/mask-size-percent-percent-ref.xht +mask-size-percent-percent.xht == reference/mask-size-percent-percent-ref.xht +mask-size-percent-percent-stretch.xht == reference/mask-size-percent-percent-stretch-ref.xht test-mask.xht == reference/test-mask-ref.xht diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/50x100-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/50x100-opaque-blue.svg new file mode 100644 index 00000000000..0ce8f599731 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/50x100-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="100"> + <rect x="0" y="0" width="50" height="100" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/50x50-opaque-blue.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/50x50-opaque-blue.svg new file mode 100644 index 00000000000..ac194ee3473 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/50x50-opaque-blue.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50"> + <rect x="0" y="0" width="50" height="50" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-100x100.png Binary files differnew file mode 100644 index 00000000000..3b72d5ce53c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-100x100.svg new file mode 100644 index 00000000000..ebe8fa73aee --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="blue" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-100x50-transparent-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-100x50-transparent-100x50.svg index a79d9685c94..2ed03935634 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-100x50-transparent-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-100x50-transparent-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="0"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="1"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="1"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-luminance-100x100.svg new file mode 100644 index 00000000000..3f8e0341e4a --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/blue-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(238,238,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/green-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/green-100x100.png Binary files differnew file mode 100644 index 00000000000..d65838b7f02 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/green-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/green-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/green-100x100.svg new file mode 100644 index 00000000000..d792713591e --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/green-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="lime" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/green-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/green-luminance-100x100.svg new file mode 100644 index 00000000000..c33436ed43c --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/green-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(73,73,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/mask-half-transparent-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/mask-half-transparent-100x100.svg new file mode 100644 index 00000000000..2abd94deec4 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/mask-half-transparent-100x100.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> + <defs> + <mask id="mask" mask-type="alpha"> + <rect x="0" y="0" width="100" height="50" fill-opacity="1"/> + <rect x="0" y="50" width="100" height="50" fill-opacity="0"/> + </mask> + </defs> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/red-100x100.png b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/red-100x100.png Binary files differnew file mode 100644 index 00000000000..43b8e542a92 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/red-100x100.png diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/red-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/red-100x100.svg new file mode 100644 index 00000000000..175c05f28f2 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/red-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="red" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/red-luminance-100x100.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/red-luminance-100x100.svg new file mode 100644 index 00000000000..274905d6b90 --- /dev/null +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/red-luminance-100x100.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100%" height="100%" fill="RGB(201,201,255)" fill-opacity="1"/> +</svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/transparent-100x50-blue-100x50.svg b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/transparent-100x50-blue-100x50.svg index c4017557889..81d59b1bcf1 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/transparent-100x50-blue-100x50.svg +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/support/transparent-100x50-blue-100x50.svg @@ -1,4 +1,4 @@ <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect x="0" y="0" width="100%" height="50%" fill="blue" fill-opacity="1"/> - <rect x="0" y="50" width="100%" height="50%" fill="blue" fill-opacity="0"/> + <rect x="0" y="50%" width="100%" height="50%" fill="blue" fill-opacity="0"/> </svg>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/toc.xht b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/toc.xht index 3fed4050d31..3eb5110a3ec 100644 --- a/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/toc.xht +++ b/tests/wpt/css-tests/css-masking-1_dev/xhtml1print/toc.xht @@ -52,7 +52,7 @@ <tbody id="s7"> <tr><th><a href="chapter-7.xht">Chapter 7 - Positioned Masks</a></th> - <td>(5 Tests)</td></tr> + <td>(49 Tests)</td></tr> </tbody> <tbody id="s8"> <tr><th><a href="chapter-8.xht">Chapter 8 - diff --git a/tests/wpt/css-tests/css-multicol-1_dev/html4/chapter-9.htm b/tests/wpt/css-tests/css-multicol-1_dev/html4/chapter-9.htm index 782d22ae3d8..e6353006bc9 100644 --- a/tests/wpt/css-tests/css-multicol-1_dev/html4/chapter-9.htm +++ b/tests/wpt/css-tests/css-multicol-1_dev/html4/chapter-9.htm @@ -39,43 +39,43 @@ <a href="https://www.w3.org/TR/css3-multicol/#cr-exit-criteria">9.1 CR exit criteria</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2119"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="s.#status-of-this-document"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="s.#table-of-contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="s.#w3c-working"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status-of-this-document"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#table-of-contents"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c-working"> + <tbody id="stable-of-contents.#contents"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-multicol-1_dev/xhtml1/chapter-9.xht b/tests/wpt/css-tests/css-multicol-1_dev/xhtml1/chapter-9.xht index 0fa42c8f3c6..f84460b3033 100644 --- a/tests/wpt/css-tests/css-multicol-1_dev/xhtml1/chapter-9.xht +++ b/tests/wpt/css-tests/css-multicol-1_dev/xhtml1/chapter-9.xht @@ -39,43 +39,43 @@ <a href="https://www.w3.org/TR/css3-multicol/#cr-exit-criteria">9.1 CR exit criteria</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2119"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="s.#status-of-this-document"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="s.#table-of-contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="s.#w3c-working"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status-of-this-document"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#table-of-contents"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c-working"> + <tbody id="stable-of-contents.#contents"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-multicol-1_dev/xhtml1print/chapter-9.xht b/tests/wpt/css-tests/css-multicol-1_dev/xhtml1print/chapter-9.xht index 0fa42c8f3c6..f84460b3033 100644 --- a/tests/wpt/css-tests/css-multicol-1_dev/xhtml1print/chapter-9.xht +++ b/tests/wpt/css-tests/css-multicol-1_dev/xhtml1print/chapter-9.xht @@ -39,43 +39,43 @@ <a href="https://www.w3.org/TR/css3-multicol/#cr-exit-criteria">9.1 CR exit criteria</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2119"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="s.#status-of-this-document"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="s.#table-of-contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="s.#w3c-working"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status-of-this-document"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#table-of-contents"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c-working"> + <tbody id="stable-of-contents.#contents"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-namespaces-3_dev/html/chapter-4.htm b/tests/wpt/css-tests/css-namespaces-3_dev/html/chapter-4.htm index fefc041bf98..17c99f29fc2 100644 --- a/tests/wpt/css-tests/css-namespaces-3_dev/html/chapter-4.htm +++ b/tests/wpt/css-tests/css-namespaces-3_dev/html/chapter-4.htm @@ -48,40 +48,40 @@ <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#css21"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#rfc2119"> + <tbody id="sinformative.#select"> <!-- 0 tests --> </tbody> - <tbody id="s.#select"> + <tbody id="snormative.#css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#xml-names"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#xml-names"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-namespaces-3_dev/xhtml1/chapter-4.xht b/tests/wpt/css-tests/css-namespaces-3_dev/xhtml1/chapter-4.xht index 1d0764ddc9e..4e4ba1c5781 100644 --- a/tests/wpt/css-tests/css-namespaces-3_dev/xhtml1/chapter-4.xht +++ b/tests/wpt/css-tests/css-namespaces-3_dev/xhtml1/chapter-4.xht @@ -48,40 +48,40 @@ <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#css21"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#rfc2119"> + <tbody id="sinformative.#select"> <!-- 0 tests --> </tbody> - <tbody id="s.#select"> + <tbody id="snormative.#css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#xml-names"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#xml-names"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-page-3_dev/html/chapter-10.htm b/tests/wpt/css-tests/css-page-3_dev/html/chapter-10.htm index cc150a9f17f..cb34cddeff2 100644 --- a/tests/wpt/css-tests/css-page-3_dev/html/chapter-10.htm +++ b/tests/wpt/css-tests/css-page-3_dev/html/chapter-10.htm @@ -33,45 +33,6 @@ <a href="https://www.w3.org/TR/css3-page/#image-properties">10 Image Properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS-DEVICE-ADAPT"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-BREAK"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-IMAGES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-SIZING"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-WRITING-MODES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3BG"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3VAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#JLREQ"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#MEDIAQ"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#PWGMSN"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#SELECT"> - <!-- 0 tests --> - </tbody> <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> @@ -81,12 +42,6 @@ <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative-references"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative-references"> - <!-- 0 tests --> - </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-page-3_dev/html/chapter-B.htm b/tests/wpt/css-tests/css-page-3_dev/html/chapter-B.htm index c0a53b6dc7d..5ef6cbc0394 100644 --- a/tests/wpt/css-tests/css-page-3_dev/html/chapter-B.htm +++ b/tests/wpt/css-tests/css-page-3_dev/html/chapter-B.htm @@ -39,6 +39,51 @@ <tbody id="sB.#signature"> <!-- 0 tests --> </tbody> + <tbody id="sinformative-references.#CSS-DEVICE-ADAPT"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#CSS3-IMAGES"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#CSS3-WRITING-MODES"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#CSS3VAL"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#JLREQ"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3-BREAK"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3-SIZING"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3BG"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#MEDIAQ"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#PWGMSN"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#RFC2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#SELECT"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative-references"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative-references"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-page-3_dev/xhtml1/chapter-10.xht b/tests/wpt/css-tests/css-page-3_dev/xhtml1/chapter-10.xht index 6dfff9908c7..2729d36fdf4 100644 --- a/tests/wpt/css-tests/css-page-3_dev/xhtml1/chapter-10.xht +++ b/tests/wpt/css-tests/css-page-3_dev/xhtml1/chapter-10.xht @@ -33,45 +33,6 @@ <a href="https://www.w3.org/TR/css3-page/#image-properties">10 Image Properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS-DEVICE-ADAPT"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-BREAK"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-IMAGES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-SIZING"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-WRITING-MODES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3BG"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3VAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#JLREQ"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#MEDIAQ"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#PWGMSN"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#SELECT"> - <!-- 0 tests --> - </tbody> <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> @@ -81,12 +42,6 @@ <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative-references"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative-references"> - <!-- 0 tests --> - </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-page-3_dev/xhtml1/chapter-B.xht b/tests/wpt/css-tests/css-page-3_dev/xhtml1/chapter-B.xht index ffe2fd9fe76..b8578d7656b 100644 --- a/tests/wpt/css-tests/css-page-3_dev/xhtml1/chapter-B.xht +++ b/tests/wpt/css-tests/css-page-3_dev/xhtml1/chapter-B.xht @@ -39,6 +39,51 @@ <tbody id="sB.#signature"> <!-- 0 tests --> </tbody> + <tbody id="sinformative-references.#CSS-DEVICE-ADAPT"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#CSS3-IMAGES"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#CSS3-WRITING-MODES"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#CSS3VAL"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#JLREQ"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3-BREAK"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3-SIZING"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3BG"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#MEDIAQ"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#PWGMSN"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#RFC2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#SELECT"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative-references"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative-references"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-page-3_dev/xhtml1print/chapter-10.xht b/tests/wpt/css-tests/css-page-3_dev/xhtml1print/chapter-10.xht index 6dfff9908c7..2729d36fdf4 100644 --- a/tests/wpt/css-tests/css-page-3_dev/xhtml1print/chapter-10.xht +++ b/tests/wpt/css-tests/css-page-3_dev/xhtml1print/chapter-10.xht @@ -33,45 +33,6 @@ <a href="https://www.w3.org/TR/css3-page/#image-properties">10 Image Properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS-DEVICE-ADAPT"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-BREAK"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-IMAGES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-SIZING"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-WRITING-MODES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3BG"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3VAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#JLREQ"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#MEDIAQ"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#PWGMSN"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#SELECT"> - <!-- 0 tests --> - </tbody> <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> @@ -81,12 +42,6 @@ <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative-references"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative-references"> - <!-- 0 tests --> - </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-page-3_dev/xhtml1print/chapter-B.xht b/tests/wpt/css-tests/css-page-3_dev/xhtml1print/chapter-B.xht index ffe2fd9fe76..b8578d7656b 100644 --- a/tests/wpt/css-tests/css-page-3_dev/xhtml1print/chapter-B.xht +++ b/tests/wpt/css-tests/css-page-3_dev/xhtml1print/chapter-B.xht @@ -39,6 +39,51 @@ <tbody id="sB.#signature"> <!-- 0 tests --> </tbody> + <tbody id="sinformative-references.#CSS-DEVICE-ADAPT"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#CSS3-IMAGES"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#CSS3-WRITING-MODES"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#CSS3VAL"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-references.#JLREQ"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3-BREAK"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3-SIZING"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#CSS3BG"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#MEDIAQ"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#PWGMSN"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#RFC2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-references.#SELECT"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative-references"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative-references"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-pseudo-4_dev/html/chapter-6.htm b/tests/wpt/css-tests/css-pseudo-4_dev/html/chapter-6.htm index e5fd5f1c0e1..3489c389c53 100644 --- a/tests/wpt/css-tests/css-pseudo-4_dev/html/chapter-6.htm +++ b/tests/wpt/css-tests/css-pseudo-4_dev/html/chapter-6.htm @@ -120,100 +120,100 @@ <tbody id="s.#acknowledgements"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-fonts"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-text-decor"> + <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3bg"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3cascade"> + <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3color"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3line"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3text"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom-level-2-events"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-html5"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-selectors4"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-uax29"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-uax44"> + <tbody id="sinformative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css3-fonts"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sinformative.#biblio-css3-text-decor"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sinformative.#biblio-css3cascade"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sinformative.#biblio-css3color"> <!-- 0 tests --> </tbody> - <tbody id="s.#idl-index"> + <tbody id="sinformative.#biblio-css3line"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sinformative.#biblio-html5"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#biblio-uax29"> <!-- 0 tests --> </tbody> - <tbody id="s.#issues-index"> + <tbody id="snormative.#biblio-css3text"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-cssom"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-dom-level-2-events"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-selectors4"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-uax44"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-pseudo-4_dev/xhtml1/chapter-6.xht b/tests/wpt/css-tests/css-pseudo-4_dev/xhtml1/chapter-6.xht index ce716b4b940..9b28d50ff22 100644 --- a/tests/wpt/css-tests/css-pseudo-4_dev/xhtml1/chapter-6.xht +++ b/tests/wpt/css-tests/css-pseudo-4_dev/xhtml1/chapter-6.xht @@ -120,100 +120,100 @@ <tbody id="s.#acknowledgements"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-fonts"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-text-decor"> + <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3bg"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3cascade"> + <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3color"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3line"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3text"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom-level-2-events"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-html5"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-selectors4"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-uax29"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-uax44"> + <tbody id="sinformative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css3-fonts"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sinformative.#biblio-css3-text-decor"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sinformative.#biblio-css3cascade"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sinformative.#biblio-css3color"> <!-- 0 tests --> </tbody> - <tbody id="s.#idl-index"> + <tbody id="sinformative.#biblio-css3line"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sinformative.#biblio-html5"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#biblio-uax29"> <!-- 0 tests --> </tbody> - <tbody id="s.#issues-index"> + <tbody id="snormative.#biblio-css3text"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-cssom"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-dom-level-2-events"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-selectors4"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-uax44"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-pseudo-4_dev/xhtml1print/chapter-6.xht b/tests/wpt/css-tests/css-pseudo-4_dev/xhtml1print/chapter-6.xht index ce716b4b940..9b28d50ff22 100644 --- a/tests/wpt/css-tests/css-pseudo-4_dev/xhtml1print/chapter-6.xht +++ b/tests/wpt/css-tests/css-pseudo-4_dev/xhtml1print/chapter-6.xht @@ -120,100 +120,100 @@ <tbody id="s.#acknowledgements"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-fonts"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-text-decor"> + <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3bg"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3cascade"> + <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3color"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3line"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3text"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom-level-2-events"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-html5"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-selectors4"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-uax29"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-uax44"> + <tbody id="sinformative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css3-fonts"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sinformative.#biblio-css3-text-decor"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sinformative.#biblio-css3cascade"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sinformative.#biblio-css3color"> <!-- 0 tests --> </tbody> - <tbody id="s.#idl-index"> + <tbody id="sinformative.#biblio-css3line"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sinformative.#biblio-html5"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#biblio-uax29"> <!-- 0 tests --> </tbody> - <tbody id="s.#issues-index"> + <tbody id="snormative.#biblio-css3text"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-cssom"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-dom-level-2-events"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-selectors4"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-uax44"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-regions-1_dev/html/chapter-11.htm b/tests/wpt/css-tests/css-regions-1_dev/html/chapter-11.htm index b388d824cab..29bc48525eb 100644 --- a/tests/wpt/css-tests/css-regions-1_dev/html/chapter-11.htm +++ b/tests/wpt/css-tests/css-regions-1_dev/html/chapter-11.htm @@ -69,103 +69,103 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-break"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-exclusions"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-flexbox"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-line-grid"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-page-template"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3col"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3page"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3ui"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom-view"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom-level-3-events"> + <tbody id="sinformative.#biblio-css3-exclusions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-html40"> + <tbody id="sinformative.#biblio-css3-flexbox"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sinformative.#biblio-css3-line-grid"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-select"> + <tbody id="sinformative.#biblio-css3-page-template"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css3page"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sinformative.#biblio-css3ui"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-cssom-view"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sinformative.#biblio-html40"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css3-break"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-css3col"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-cssom"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-dom"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-dom-level-3-events"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-select"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-regions-1_dev/xhtml1/chapter-11.xht b/tests/wpt/css-tests/css-regions-1_dev/xhtml1/chapter-11.xht index f506306dc95..75ae227bfa5 100644 --- a/tests/wpt/css-tests/css-regions-1_dev/xhtml1/chapter-11.xht +++ b/tests/wpt/css-tests/css-regions-1_dev/xhtml1/chapter-11.xht @@ -69,103 +69,103 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-break"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-exclusions"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-flexbox"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-line-grid"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-page-template"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3col"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3page"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3ui"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom-view"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom-level-3-events"> + <tbody id="sinformative.#biblio-css3-exclusions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-html40"> + <tbody id="sinformative.#biblio-css3-flexbox"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sinformative.#biblio-css3-line-grid"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-select"> + <tbody id="sinformative.#biblio-css3-page-template"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css3page"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sinformative.#biblio-css3ui"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-cssom-view"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sinformative.#biblio-html40"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css3-break"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-css3col"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-cssom"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-dom"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-dom-level-3-events"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-select"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-regions-1_dev/xhtml1print/chapter-11.xht b/tests/wpt/css-tests/css-regions-1_dev/xhtml1print/chapter-11.xht index f506306dc95..75ae227bfa5 100644 --- a/tests/wpt/css-tests/css-regions-1_dev/xhtml1print/chapter-11.xht +++ b/tests/wpt/css-tests/css-regions-1_dev/xhtml1print/chapter-11.xht @@ -69,103 +69,103 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-break"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-exclusions"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-flexbox"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-line-grid"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-page-template"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-writing-modes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3col"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3page"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3ui"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom-view"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom-level-3-events"> + <tbody id="sinformative.#biblio-css3-exclusions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-html40"> + <tbody id="sinformative.#biblio-css3-flexbox"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sinformative.#biblio-css3-line-grid"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-select"> + <tbody id="sinformative.#biblio-css3-page-template"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css3page"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sinformative.#biblio-css3ui"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-cssom-view"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sinformative.#biblio-html40"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css3-break"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css3-writing-modes"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-css3col"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-cssom"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-dom"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-dom-level-3-events"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-select"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-shapes-1_dev/html/chapter-6.htm b/tests/wpt/css-tests/css-shapes-1_dev/html/chapter-6.htm index 93a3cbe7493..ca80db29c38 100644 --- a/tests/wpt/css-tests/css-shapes-1_dev/html/chapter-6.htm +++ b/tests/wpt/css-tests/css-shapes-1_dev/html/chapter-6.htm @@ -2377,103 +2377,103 @@ <tbody id="s6.3.#valuedef-percentage"> <!-- 0 tests --> </tbody> - <tbody id="s.#20111213"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#20120503"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#20130620"> + <tbody id="s.#change-log"> <!-- 0 tests --> </tbody> - <tbody id="s.#20131203"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#20140211"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#change-log"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="schange-log.#20111213"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="schange-log.#20120503"> <!-- 0 tests --> </tbody> - <tbody id="s.#css-masking"> + <tbody id="schange-log.#20130620"> <!-- 0 tests --> </tbody> - <tbody id="s.#css21"> + <tbody id="schange-log.#20131203"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3-exclusions"> + <tbody id="schange-log.#20140211"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3-transitions"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3bg"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3box"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3val"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#html5"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sinformative.#css-masking"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#css3-exclusions"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sinformative.#css3-transitions"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#css3box"> <!-- 0 tests --> </tbody> - <tbody id="s.#rfc2119"> + <tbody id="snormative.#css3val"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#html5"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-shapes-1_dev/xhtml1/chapter-6.xht b/tests/wpt/css-tests/css-shapes-1_dev/xhtml1/chapter-6.xht index 4c5c3c12a07..e5365df12aa 100644 --- a/tests/wpt/css-tests/css-shapes-1_dev/xhtml1/chapter-6.xht +++ b/tests/wpt/css-tests/css-shapes-1_dev/xhtml1/chapter-6.xht @@ -2377,103 +2377,103 @@ <tbody id="s6.3.#valuedef-percentage"> <!-- 0 tests --> </tbody> - <tbody id="s.#20111213"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#20120503"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#20130620"> + <tbody id="s.#change-log"> <!-- 0 tests --> </tbody> - <tbody id="s.#20131203"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#20140211"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#change-log"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="schange-log.#20111213"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="schange-log.#20120503"> <!-- 0 tests --> </tbody> - <tbody id="s.#css-masking"> + <tbody id="schange-log.#20130620"> <!-- 0 tests --> </tbody> - <tbody id="s.#css21"> + <tbody id="schange-log.#20131203"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3-exclusions"> + <tbody id="schange-log.#20140211"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3-transitions"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3bg"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3box"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3val"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#html5"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sinformative.#css-masking"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#css3-exclusions"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sinformative.#css3-transitions"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#css3box"> <!-- 0 tests --> </tbody> - <tbody id="s.#rfc2119"> + <tbody id="snormative.#css3val"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#html5"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-shapes-1_dev/xhtml1print/chapter-6.xht b/tests/wpt/css-tests/css-shapes-1_dev/xhtml1print/chapter-6.xht index 4c5c3c12a07..e5365df12aa 100644 --- a/tests/wpt/css-tests/css-shapes-1_dev/xhtml1print/chapter-6.xht +++ b/tests/wpt/css-tests/css-shapes-1_dev/xhtml1print/chapter-6.xht @@ -2377,103 +2377,103 @@ <tbody id="s6.3.#valuedef-percentage"> <!-- 0 tests --> </tbody> - <tbody id="s.#20111213"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#20120503"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#20130620"> + <tbody id="s.#change-log"> <!-- 0 tests --> </tbody> - <tbody id="s.#20131203"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#20140211"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#change-log"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="schange-log.#20111213"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="schange-log.#20120503"> <!-- 0 tests --> </tbody> - <tbody id="s.#css-masking"> + <tbody id="schange-log.#20130620"> <!-- 0 tests --> </tbody> - <tbody id="s.#css21"> + <tbody id="schange-log.#20131203"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3-exclusions"> + <tbody id="schange-log.#20140211"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3-transitions"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3bg"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3box"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3val"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#html5"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sinformative.#css-masking"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#css3-exclusions"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sinformative.#css3-transitions"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#css3box"> <!-- 0 tests --> </tbody> - <tbody id="s.#rfc2119"> + <tbody id="snormative.#css3val"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#html5"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-style-attr-1_dev/html4/chapter-6.htm b/tests/wpt/css-tests/css-style-attr-1_dev/html4/chapter-6.htm index 27538c6d75e..92f756eca13 100644 --- a/tests/wpt/css-tests/css-style-attr-1_dev/html4/chapter-6.htm +++ b/tests/wpt/css-tests/css-style-attr-1_dev/html4/chapter-6.htm @@ -33,34 +33,34 @@ <a href="https://www.w3.org/TR/css-style-attr/#references">6 References</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s6.#CSS21"> + <tbody id="s6.#informative-references"> <!-- 0 tests --> </tbody> - <tbody id="s6.#HTML401"> + <tbody id="s6.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s6.#RFC2119"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s6.#SVG11"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s6.#informative-references"> + <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> - <tbody id="s6.#normative-references"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="sinformative-references.#HTML401"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative-references.#SVG11"> <!-- 0 tests --> </tbody> - <tbody id="s.#longstatus-date"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-style-attr-1_dev/xhtml1/chapter-6.xht b/tests/wpt/css-tests/css-style-attr-1_dev/xhtml1/chapter-6.xht index 8cbae9fee2a..151ead92933 100644 --- a/tests/wpt/css-tests/css-style-attr-1_dev/xhtml1/chapter-6.xht +++ b/tests/wpt/css-tests/css-style-attr-1_dev/xhtml1/chapter-6.xht @@ -33,34 +33,34 @@ <a href="https://www.w3.org/TR/css-style-attr/#references">6 References</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s6.#CSS21"> + <tbody id="s6.#informative-references"> <!-- 0 tests --> </tbody> - <tbody id="s6.#HTML401"> + <tbody id="s6.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s6.#RFC2119"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s6.#SVG11"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s6.#informative-references"> + <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> - <tbody id="s6.#normative-references"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="sinformative-references.#HTML401"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative-references.#SVG11"> <!-- 0 tests --> </tbody> - <tbody id="s.#longstatus-date"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-style-attr-1_dev/xhtml1print/chapter-6.xht b/tests/wpt/css-tests/css-style-attr-1_dev/xhtml1print/chapter-6.xht index 8cbae9fee2a..151ead92933 100644 --- a/tests/wpt/css-tests/css-style-attr-1_dev/xhtml1print/chapter-6.xht +++ b/tests/wpt/css-tests/css-style-attr-1_dev/xhtml1print/chapter-6.xht @@ -33,34 +33,34 @@ <a href="https://www.w3.org/TR/css-style-attr/#references">6 References</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s6.#CSS21"> + <tbody id="s6.#informative-references"> <!-- 0 tests --> </tbody> - <tbody id="s6.#HTML401"> + <tbody id="s6.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s6.#RFC2119"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s6.#SVG11"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s6.#informative-references"> + <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> - <tbody id="s6.#normative-references"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="sinformative-references.#HTML401"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative-references.#SVG11"> <!-- 0 tests --> </tbody> - <tbody id="s.#longstatus-date"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative-references.#RFC2119"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-text-3_dev/html/chapter-9.htm b/tests/wpt/css-tests/css-text-3_dev/html/chapter-9.htm index 6665b467631..9f28e319e07 100644 --- a/tests/wpt/css-tests/css-text-3_dev/html/chapter-9.htm +++ b/tests/wpt/css-tests/css-text-3_dev/html/chapter-9.htm @@ -145,120 +145,33 @@ <a href="https://www.w3.org/TR/css-text-3/#bidi-linebox">9.3 Bidirectionality and Line Boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS-COUNTER-STYLES-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-FONTS"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-TEXT-DECOR"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-WRITING-MODES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3VAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#HTML5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#JIS4051"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#JLREQ"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX11"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX14"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX29"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX44"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UNICODE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#XML10"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#ZHMARK"> - <!-- 0 tests --> - </tbody> <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> <tbody id="s.#acknowledgements"> <!-- 0 tests --> </tbody> - <tbody id="s.#authoring-tool"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative-ref"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative-ref"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#recent-changes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#renderer"> - <!-- 0 tests --> - </tbody> <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#style-sheet"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-text-3_dev/html/chapter-C.htm b/tests/wpt/css-tests/css-text-3_dev/html/chapter-C.htm index 8c89d50229a..a8069cbdcf6 100644 --- a/tests/wpt/css-tests/css-text-3_dev/html/chapter-C.htm +++ b/tests/wpt/css-tests/css-text-3_dev/html/chapter-C.htm @@ -36,6 +36,93 @@ <tbody id="sC.#cursive-scripts"> <!-- 0 tests --> </tbody> + <tbody id="schanges.#recent-changes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#authoring-tool"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#renderer"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#style-sheet"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS-COUNTER-STYLES-3"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS3-TEXT-DECOR"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS3VAL"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#HTML5"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#JIS4051"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#JLREQ"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#XML10"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#ZHMARK"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-FONTS"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-WRITING-MODES"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#RFC2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX11"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX14"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX29"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX44"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UNICODE"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative-ref"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative-ref"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-text-3_dev/xhtml1/chapter-9.xht b/tests/wpt/css-tests/css-text-3_dev/xhtml1/chapter-9.xht index 1cc1b7219e8..cb795aede14 100644 --- a/tests/wpt/css-tests/css-text-3_dev/xhtml1/chapter-9.xht +++ b/tests/wpt/css-tests/css-text-3_dev/xhtml1/chapter-9.xht @@ -145,120 +145,33 @@ <a href="https://www.w3.org/TR/css-text-3/#bidi-linebox">9.3 Bidirectionality and Line Boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS-COUNTER-STYLES-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-FONTS"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-TEXT-DECOR"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-WRITING-MODES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3VAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#HTML5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#JIS4051"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#JLREQ"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX11"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX14"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX29"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX44"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UNICODE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#XML10"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#ZHMARK"> - <!-- 0 tests --> - </tbody> <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> <tbody id="s.#acknowledgements"> <!-- 0 tests --> </tbody> - <tbody id="s.#authoring-tool"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative-ref"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative-ref"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#recent-changes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#renderer"> - <!-- 0 tests --> - </tbody> <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#style-sheet"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-text-3_dev/xhtml1/chapter-C.xht b/tests/wpt/css-tests/css-text-3_dev/xhtml1/chapter-C.xht index 65f395134b6..07b5fb4e8c0 100644 --- a/tests/wpt/css-tests/css-text-3_dev/xhtml1/chapter-C.xht +++ b/tests/wpt/css-tests/css-text-3_dev/xhtml1/chapter-C.xht @@ -36,6 +36,93 @@ <tbody id="sC.#cursive-scripts"> <!-- 0 tests --> </tbody> + <tbody id="schanges.#recent-changes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#authoring-tool"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#renderer"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#style-sheet"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS-COUNTER-STYLES-3"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS3-TEXT-DECOR"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS3VAL"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#HTML5"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#JIS4051"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#JLREQ"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#XML10"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#ZHMARK"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-FONTS"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-WRITING-MODES"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#RFC2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX11"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX14"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX29"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX44"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UNICODE"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative-ref"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative-ref"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-text-3_dev/xhtml1print/chapter-9.xht b/tests/wpt/css-tests/css-text-3_dev/xhtml1print/chapter-9.xht index 1cc1b7219e8..cb795aede14 100644 --- a/tests/wpt/css-tests/css-text-3_dev/xhtml1print/chapter-9.xht +++ b/tests/wpt/css-tests/css-text-3_dev/xhtml1print/chapter-9.xht @@ -145,120 +145,33 @@ <a href="https://www.w3.org/TR/css-text-3/#bidi-linebox">9.3 Bidirectionality and Line Boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS-COUNTER-STYLES-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-FONTS"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-TEXT-DECOR"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3-WRITING-MODES"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#CSS3VAL"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#HTML5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#JIS4051"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#JLREQ"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX11"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX14"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX29"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UAX44"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#UNICODE"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#XML10"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#ZHMARK"> - <!-- 0 tests --> - </tbody> <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> <tbody id="s.#acknowledgements"> <!-- 0 tests --> </tbody> - <tbody id="s.#authoring-tool"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative-ref"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative-ref"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#recent-changes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#renderer"> - <!-- 0 tests --> - </tbody> <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#style-sheet"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-text-3_dev/xhtml1print/chapter-C.xht b/tests/wpt/css-tests/css-text-3_dev/xhtml1print/chapter-C.xht index 65f395134b6..07b5fb4e8c0 100644 --- a/tests/wpt/css-tests/css-text-3_dev/xhtml1print/chapter-C.xht +++ b/tests/wpt/css-tests/css-text-3_dev/xhtml1print/chapter-C.xht @@ -36,6 +36,93 @@ <tbody id="sC.#cursive-scripts"> <!-- 0 tests --> </tbody> + <tbody id="schanges.#recent-changes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#authoring-tool"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#renderer"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance-classes.#style-sheet"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS-COUNTER-STYLES-3"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS3-TEXT-DECOR"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS3VAL"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#HTML5"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#JIS4051"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#JLREQ"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#XML10"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#ZHMARK"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-FONTS"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-WRITING-MODES"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#RFC2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX11"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX14"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX29"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UAX44"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#UNICODE"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative-ref"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative-ref"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-text-decor-3_dev/html/chapter-B.htm b/tests/wpt/css-tests/css-text-decor-3_dev/html/chapter-B.htm index bfbad362ef4..ad587292a9a 100644 --- a/tests/wpt/css-tests/css-text-decor-3_dev/html/chapter-B.htm +++ b/tests/wpt/css-tests/css-text-decor-3_dev/html/chapter-B.htm @@ -33,33 +33,6 @@ <a href="https://www.w3.org/TR/css-text-decor-3/#appendix-b-references">B References</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sB.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3-ANIMATIONS"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3-FONTS"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3-WRITING-MODES"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3BG"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3COLOR"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3TEXT"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#UAX44"> - <!-- 0 tests --> - </tbody> <tbody id="sB.#informative-ref"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-text-decor-3_dev/html/chapter-D.htm b/tests/wpt/css-tests/css-text-decor-3_dev/html/chapter-D.htm index d9007ecacf3..2082dcc757d 100644 --- a/tests/wpt/css-tests/css-text-decor-3_dev/html/chapter-D.htm +++ b/tests/wpt/css-tests/css-text-decor-3_dev/html/chapter-D.htm @@ -33,6 +33,33 @@ <a href="https://www.w3.org/TR/css-text-decor-3/#default-stylesheet">D Default UA Stylesheet</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sinformative-ref.#CSS3-ANIMATIONS"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS3COLOR"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#UAX44"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-FONTS"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-WRITING-MODES"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3BG"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3TEXT"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#RFC2119"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1/chapter-B.xht b/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1/chapter-B.xht index 427d2cb7af6..510439c2507 100644 --- a/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1/chapter-B.xht +++ b/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1/chapter-B.xht @@ -33,33 +33,6 @@ <a href="https://www.w3.org/TR/css-text-decor-3/#appendix-b-references">B References</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sB.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3-ANIMATIONS"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3-FONTS"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3-WRITING-MODES"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3BG"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3COLOR"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3TEXT"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#UAX44"> - <!-- 0 tests --> - </tbody> <tbody id="sB.#informative-ref"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1/chapter-D.xht b/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1/chapter-D.xht index 0008e48217a..b602775bbf6 100644 --- a/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1/chapter-D.xht +++ b/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1/chapter-D.xht @@ -33,6 +33,33 @@ <a href="https://www.w3.org/TR/css-text-decor-3/#default-stylesheet">D Default UA Stylesheet</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sinformative-ref.#CSS3-ANIMATIONS"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS3COLOR"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#UAX44"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-FONTS"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-WRITING-MODES"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3BG"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3TEXT"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#RFC2119"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1print/chapter-B.xht b/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1print/chapter-B.xht index 427d2cb7af6..510439c2507 100644 --- a/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1print/chapter-B.xht +++ b/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1print/chapter-B.xht @@ -33,33 +33,6 @@ <a href="https://www.w3.org/TR/css-text-decor-3/#appendix-b-references">B References</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sB.#CSS21"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3-ANIMATIONS"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3-FONTS"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3-WRITING-MODES"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3BG"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3COLOR"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#CSS3TEXT"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#RFC2119"> - <!-- 0 tests --> - </tbody> - <tbody id="sB.#UAX44"> - <!-- 0 tests --> - </tbody> <tbody id="sB.#informative-ref"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1print/chapter-D.xht b/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1print/chapter-D.xht index 0008e48217a..b602775bbf6 100644 --- a/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1print/chapter-D.xht +++ b/tests/wpt/css-tests/css-text-decor-3_dev/xhtml1print/chapter-D.xht @@ -33,6 +33,33 @@ <a href="https://www.w3.org/TR/css-text-decor-3/#default-stylesheet">D Default UA Stylesheet</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sinformative-ref.#CSS3-ANIMATIONS"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#CSS3COLOR"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative-ref.#UAX44"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-FONTS"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3-WRITING-MODES"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3BG"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#CSS3TEXT"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative-ref.#RFC2119"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-21.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-21.htm index a9e965012e1..0f199deb8d6 100644 --- a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-21.htm +++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-21.htm @@ -72,70 +72,70 @@ <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#css21"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3bg"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3val"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#cssom-view"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#issues-index"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sinformative.#cssom-view"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sinformative.#smil3"> <!-- 0 tests --> </tbody> - <tbody id="s.#rfc2119"> + <tbody id="snormative.#css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#smil3"> + <tbody id="snormative.#css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#css3val"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#svg11"> + <tbody id="snormative.#svg11"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-21.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-21.xht index 510c1dce703..d8e622dd268 100644 --- a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-21.xht +++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-21.xht @@ -72,70 +72,70 @@ <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#css21"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3bg"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3val"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#cssom-view"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#issues-index"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sinformative.#cssom-view"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sinformative.#smil3"> <!-- 0 tests --> </tbody> - <tbody id="s.#rfc2119"> + <tbody id="snormative.#css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#smil3"> + <tbody id="snormative.#css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#css3val"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#svg11"> + <tbody id="snormative.#svg11"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-21.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-21.xht index 510c1dce703..d8e622dd268 100644 --- a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-21.xht +++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-21.xht @@ -72,70 +72,70 @@ <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#css21"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3bg"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#css3val"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#cssom-view"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#issues-index"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sinformative.#cssom-view"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sinformative.#smil3"> <!-- 0 tests --> </tbody> - <tbody id="s.#rfc2119"> + <tbody id="snormative.#css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#smil3"> + <tbody id="snormative.#css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#css3val"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#svg11"> + <tbody id="snormative.#svg11"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-transitions-1_dev/html/chapter-10.htm b/tests/wpt/css-tests/css-transitions-1_dev/html/chapter-10.htm index 5193de330ea..a49e415f0a0 100644 --- a/tests/wpt/css-tests/css-transitions-1_dev/html/chapter-10.htm +++ b/tests/wpt/css-tests/css-transitions-1_dev/html/chapter-10.htm @@ -39,46 +39,46 @@ <tbody id="s10.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-CSS21"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-CSS3-ANIMATIONS"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-CSS3-IMAGES"> + <tbody id="s.#editors-list"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-CSS3CASCADE"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-CSS3COLOR"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-SMIL-ANIMATION"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-SVG11"> + <tbody id="sother-references.#ref-CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-WCAG20"> + <tbody id="sother-references.#ref-CSS3-ANIMATIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="sother-references.#ref-CSS3-IMAGES"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sother-references.#ref-CSS3CASCADE"> <!-- 0 tests --> </tbody> - <tbody id="s.#editors-list"> + <tbody id="sother-references.#ref-CSS3COLOR"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sother-references.#ref-SMIL-ANIMATION"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sother-references.#ref-SVG11"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sother-references.#ref-WCAG20"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-transitions-1_dev/xhtml1/chapter-10.xht b/tests/wpt/css-tests/css-transitions-1_dev/xhtml1/chapter-10.xht index f3371cb4c68..15a91eed813 100644 --- a/tests/wpt/css-tests/css-transitions-1_dev/xhtml1/chapter-10.xht +++ b/tests/wpt/css-tests/css-transitions-1_dev/xhtml1/chapter-10.xht @@ -39,46 +39,46 @@ <tbody id="s10.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-CSS21"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-CSS3-ANIMATIONS"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-CSS3-IMAGES"> + <tbody id="s.#editors-list"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-CSS3CASCADE"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-CSS3COLOR"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-SMIL-ANIMATION"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-SVG11"> + <tbody id="sother-references.#ref-CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s10.#ref-WCAG20"> + <tbody id="sother-references.#ref-CSS3-ANIMATIONS"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="sother-references.#ref-CSS3-IMAGES"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sother-references.#ref-CSS3CASCADE"> <!-- 0 tests --> </tbody> - <tbody id="s.#editors-list"> + <tbody id="sother-references.#ref-CSS3COLOR"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sother-references.#ref-SMIL-ANIMATION"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="sother-references.#ref-SVG11"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sother-references.#ref-WCAG20"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-ui-3_dev/html/chapter-3.htm b/tests/wpt/css-tests/css-ui-3_dev/html/chapter-3.htm index 3450004c9c2..7f78d518e9e 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/html/chapter-3.htm +++ b/tests/wpt/css-tests/css-ui-3_dev/html/chapter-3.htm @@ -432,9 +432,6 @@ </td> </tr> </tbody> - <tbody id="s3.1.#box-sizing-example"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.#example-ede4dfdf"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-ui-3_dev/html/chapter-5.htm b/tests/wpt/css-tests/css-ui-3_dev/html/chapter-5.htm index 1188ecde9ac..ee51c25fb3a 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/html/chapter-5.htm +++ b/tests/wpt/css-tests/css-ui-3_dev/html/chapter-5.htm @@ -183,9 +183,6 @@ </td> </tr> </tbody> - <tbody id="s5.2.#awesome-table"> - <!-- 0 tests --> - </tbody> <tbody id="s5.2.#clip"> <!-- 0 tests --> </tbody> @@ -204,12 +201,6 @@ <tbody id="s5.2.#example-4d792064"> <!-- 0 tests --> </tbody> - <tbody id="s5.2.#example-c43e380d"> - <!-- 0 tests --> - </tbody> - <tbody id="s5.2.#example-d22e5e5b"> - <!-- 0 tests --> - </tbody> <tbody id="s5.2.#overflow-clip"> <!-- 0 tests --> </tbody> @@ -222,9 +213,6 @@ <tbody id="s5.2.#propdef-text-overflow"> <!-- 0 tests --> </tbody> - <tbody id="s5.2.#text-overflow-examples"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-ui-3_dev/html/chapter-6.htm b/tests/wpt/css-tests/css-ui-3_dev/html/chapter-6.htm index 3708bd72428..365ba82fbc6 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/html/chapter-6.htm +++ b/tests/wpt/css-tests/css-ui-3_dev/html/chapter-6.htm @@ -1724,111 +1724,15 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-color-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-images-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css2"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-background"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-writing-modes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3bg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3color"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css4-images"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-cssui"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-png"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-select"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg-integration"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg10"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax29"> - <!-- 0 tests --> - </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-f839f6c8"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> @@ -1841,15 +1745,9 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-ui-3_dev/html/chapter-E.htm b/tests/wpt/css-tests/css-ui-3_dev/html/chapter-E.htm index d348bf7d43a..0689502c08a 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/html/chapter-E.htm +++ b/tests/wpt/css-tests/css-ui-3_dev/html/chapter-E.htm @@ -33,6 +33,123 @@ <a href="https://www.w3.org/TR/css3-ui/#test-suite">E Test Suite</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconventions.#example-f839f6c8"> + <!-- 0 tests --> + </tbody> + <tbody id="sellipsis-scrolling.#example-c43e380d"> + <!-- 0 tests --> + </tbody> + <tbody id="sellipsis-scrolling.#example-d22e5e5b"> + <!-- 0 tests --> + </tbody> + <tbody id="sexample-4d792064.#awesome-table"> + <!-- 0 tests --> + </tbody> + <tbody id="sexample-4d792064.#text-overflow-examples"> + <!-- 0 tests --> + </tbody> + <tbody id="sexample-ede4dfdf.#box-sizing-example"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css1"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css2"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-background"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css4-images"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-cssui"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-select"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-svg10"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-backgrounds-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-color-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-images-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-writing-modes-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-writing-modes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3bg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3color"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-png"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg-integration"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax29"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-3.xht b/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-3.xht index 65147d9ad26..9f23ee6893a 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-3.xht +++ b/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-3.xht @@ -432,9 +432,6 @@ </td> </tr> </tbody> - <tbody id="s3.1.#box-sizing-example"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.#example-ede4dfdf"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-5.xht b/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-5.xht index aadc4b07df7..b6ea06c9f42 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-5.xht +++ b/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-5.xht @@ -183,9 +183,6 @@ </td> </tr> </tbody> - <tbody id="s5.2.#awesome-table"> - <!-- 0 tests --> - </tbody> <tbody id="s5.2.#clip"> <!-- 0 tests --> </tbody> @@ -204,12 +201,6 @@ <tbody id="s5.2.#example-4d792064"> <!-- 0 tests --> </tbody> - <tbody id="s5.2.#example-c43e380d"> - <!-- 0 tests --> - </tbody> - <tbody id="s5.2.#example-d22e5e5b"> - <!-- 0 tests --> - </tbody> <tbody id="s5.2.#overflow-clip"> <!-- 0 tests --> </tbody> @@ -222,9 +213,6 @@ <tbody id="s5.2.#propdef-text-overflow"> <!-- 0 tests --> </tbody> - <tbody id="s5.2.#text-overflow-examples"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-6.xht b/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-6.xht index 06275cfe4c6..c87a44d966c 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-6.xht +++ b/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-6.xht @@ -1713,111 +1713,15 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-color-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-images-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css2"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-background"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-writing-modes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3bg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3color"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css4-images"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-cssui"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-png"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-select"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg-integration"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg10"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax29"> - <!-- 0 tests --> - </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-f839f6c8"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> @@ -1830,15 +1734,9 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-E.xht b/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-E.xht index 133324ada35..60bcf0a5e2f 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-E.xht +++ b/tests/wpt/css-tests/css-ui-3_dev/xhtml1/chapter-E.xht @@ -33,6 +33,123 @@ <a href="https://www.w3.org/TR/css3-ui/#test-suite">E Test Suite</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconventions.#example-f839f6c8"> + <!-- 0 tests --> + </tbody> + <tbody id="sellipsis-scrolling.#example-c43e380d"> + <!-- 0 tests --> + </tbody> + <tbody id="sellipsis-scrolling.#example-d22e5e5b"> + <!-- 0 tests --> + </tbody> + <tbody id="sexample-4d792064.#awesome-table"> + <!-- 0 tests --> + </tbody> + <tbody id="sexample-4d792064.#text-overflow-examples"> + <!-- 0 tests --> + </tbody> + <tbody id="sexample-ede4dfdf.#box-sizing-example"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css1"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css2"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-background"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css4-images"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-cssui"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-select"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-svg10"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-backgrounds-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-color-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-images-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-writing-modes-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-writing-modes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3bg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3color"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-png"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg-integration"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax29"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-3.xht b/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-3.xht index 65147d9ad26..9f23ee6893a 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-3.xht +++ b/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-3.xht @@ -432,9 +432,6 @@ </td> </tr> </tbody> - <tbody id="s3.1.#box-sizing-example"> - <!-- 0 tests --> - </tbody> <tbody id="s3.1.#example-ede4dfdf"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-5.xht b/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-5.xht index aadc4b07df7..b6ea06c9f42 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-5.xht +++ b/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-5.xht @@ -183,9 +183,6 @@ </td> </tr> </tbody> - <tbody id="s5.2.#awesome-table"> - <!-- 0 tests --> - </tbody> <tbody id="s5.2.#clip"> <!-- 0 tests --> </tbody> @@ -204,12 +201,6 @@ <tbody id="s5.2.#example-4d792064"> <!-- 0 tests --> </tbody> - <tbody id="s5.2.#example-c43e380d"> - <!-- 0 tests --> - </tbody> - <tbody id="s5.2.#example-d22e5e5b"> - <!-- 0 tests --> - </tbody> <tbody id="s5.2.#overflow-clip"> <!-- 0 tests --> </tbody> @@ -222,9 +213,6 @@ <tbody id="s5.2.#propdef-text-overflow"> <!-- 0 tests --> </tbody> - <tbody id="s5.2.#text-overflow-examples"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-6.xht b/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-6.xht index 06275cfe4c6..c87a44d966c 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-6.xht +++ b/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-6.xht @@ -1713,111 +1713,15 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-color-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-images-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css2"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-background"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-writing-modes"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3bg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3color"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css4-images"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-cssui"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-png"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-select"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg-integration"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg10"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax29"> - <!-- 0 tests --> - </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-f839f6c8"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> @@ -1830,15 +1734,9 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-E.xht b/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-E.xht index 133324ada35..60bcf0a5e2f 100644 --- a/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-E.xht +++ b/tests/wpt/css-tests/css-ui-3_dev/xhtml1print/chapter-E.xht @@ -33,6 +33,123 @@ <a href="https://www.w3.org/TR/css3-ui/#test-suite">E Test Suite</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconventions.#example-f839f6c8"> + <!-- 0 tests --> + </tbody> + <tbody id="sellipsis-scrolling.#example-c43e380d"> + <!-- 0 tests --> + </tbody> + <tbody id="sellipsis-scrolling.#example-d22e5e5b"> + <!-- 0 tests --> + </tbody> + <tbody id="sexample-4d792064.#awesome-table"> + <!-- 0 tests --> + </tbody> + <tbody id="sexample-4d792064.#text-overflow-examples"> + <!-- 0 tests --> + </tbody> + <tbody id="sexample-ede4dfdf.#box-sizing-example"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css1"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css2"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-background"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css4-images"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-cssui"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-select"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-svg10"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-backgrounds-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-color-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-images-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-writing-modes-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-writing-modes"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3bg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3color"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-png"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg-integration"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax29"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-values-3_dev/html/chapter-5.htm b/tests/wpt/css-tests/css-values-3_dev/html/chapter-5.htm index 95cbfdc523e..b573fe23f01 100644 --- a/tests/wpt/css-tests/css-values-3_dev/html/chapter-5.htm +++ b/tests/wpt/css-tests/css-values-3_dev/html/chapter-5.htm @@ -13,7 +13,7 @@ <body> <h1>CSS Values and Units Module Level 3 CR Test Suite</h1> - <h2>Distance Units: the <length> type (30 tests)</h2> + <h2>Distance Units: the <length> type (32 tests)</h2> <table width="100%"> <col id="test-column"> <col id="refs-column"> @@ -169,7 +169,7 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s5.1.2">+</a> <a href="https://www.w3.org/TR/css3-values/#viewport-relative-lengths">5.1.2 Viewport-percentage lengths: the vw, vh, vmin, vmax units</a></th></tr> - <!-- 21 tests --> + <!-- 23 tests --> <tr id="absolute_length_units-5.1.2" class=""> <td> <a href="absolute_length_units.htm">absolute_length_units</a></td> @@ -335,6 +335,17 @@ </ul> </td> </tr> + <tr id="vh-support-transform-origin-iframe-5.1.2" class=""> + <td> + <a href="vh-support-transform-origin-iframe.htm">vh-support-transform-origin-iframe</a></td> + <td></td> + <td></td> + <td>Viewports units are supported in transform properties (iframe) + <ul class="assert"> + <li>Viewports units are supported in transform properties (translate)</li> + </ul> + </td> + </tr> <tr id="vh-support-transform-translate-5.1.2" class=""> <td> <a href="vh-support-transform-translate.htm">vh-support-transform-translate</a></td> @@ -346,6 +357,17 @@ </ul> </td> </tr> + <tr id="vh-support-transform-translate-iframe-5.1.2" class=""> + <td> + <a href="vh-support-transform-translate-iframe.htm">vh-support-transform-translate-iframe</a></td> + <td></td> + <td></td> + <td>Viewports units are supported in transform properties (iframe) + <ul class="assert"> + <li>Viewports units are supported in transform properties (translate)</li> + </ul> + </td> + </tr> <tr id="vh-zero-support-5.1.2" class=""> <td> <a href="vh-zero-support.htm">vh-zero-support</a></td> diff --git a/tests/wpt/css-tests/css-values-3_dev/html/chapter-9.htm b/tests/wpt/css-tests/css-values-3_dev/html/chapter-9.htm index b2ea19cf5ef..bfdf5647a13 100644 --- a/tests/wpt/css-tests/css-values-3_dev/html/chapter-9.htm +++ b/tests/wpt/css-tests/css-values-3_dev/html/chapter-9.htm @@ -45,160 +45,160 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-compositing-1"> + <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-animations-1"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-break-3"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-cascade-4"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-color-3"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-color-4"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-counter-styles-3"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-fonts-3"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-images-3"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-overflow-3"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-syntax-3"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-text-3"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-text-decor-3"> + <tbody id="sconventions.#example-f839f6c8"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-transitions-1"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-ui-3"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="sinformative.#biblio-mediaq"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-fonts"> + <tbody id="sinformative.#biblio-rfc6694"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-images"> + <tbody id="snormative.#biblio-compositing-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3bg"> + <tbody id="snormative.#biblio-css-animations-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3cascade"> + <tbody id="snormative.#biblio-css-backgrounds-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3color"> + <tbody id="snormative.#biblio-css-break-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3namespace"> + <tbody id="snormative.#biblio-css-cascade-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3page"> + <tbody id="snormative.#biblio-css-color-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3syn"> + <tbody id="snormative.#biblio-css-color-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom-ls"> + <tbody id="snormative.#biblio-css-counter-styles-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-filters-1"> + <tbody id="snormative.#biblio-css-fonts-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-mediaq"> + <tbody id="snormative.#biblio-css-images-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-mediaqueries-4"> + <tbody id="snormative.#biblio-css-overflow-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="snormative.#biblio-css-syntax-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc6694"> + <tbody id="snormative.#biblio-css-text-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-selectors-4"> + <tbody id="snormative.#biblio-css-text-decor-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-url"> + <tbody id="snormative.#biblio-css-transitions-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="snormative.#biblio-css-ui-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="snormative.#biblio-css3-fonts"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="snormative.#biblio-css3-images"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="snormative.#biblio-css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-f839f6c8"> + <tbody id="snormative.#biblio-css3cascade"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="snormative.#biblio-css3color"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css3namespace"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="snormative.#biblio-css3page"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="snormative.#biblio-css3syn"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-dom-ls"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-filters-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-mediaqueries-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-selectors-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-url"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-values-3_dev/html/toc.htm b/tests/wpt/css-tests/css-values-3_dev/html/toc.htm index 10a0ffa008d..ccc64ff69e0 100644 --- a/tests/wpt/css-tests/css-values-3_dev/html/toc.htm +++ b/tests/wpt/css-tests/css-values-3_dev/html/toc.htm @@ -42,7 +42,7 @@ <tbody id="s5"> <tr><th><a href="chapter-5.htm">Chapter 5 - Distance Units: the <length> type</a></th> - <td>(30 Tests)</td></tr> + <td>(32 Tests)</td></tr> </tbody> <tbody id="s6"> <tr><th><a href="chapter-6.htm">Chapter 6 - diff --git a/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-origin-iframe.htm b/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-origin-iframe.htm new file mode 100644 index 00000000000..aca5d3a0756 --- /dev/null +++ b/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-origin-iframe.htm @@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title> + CSS Values and Units Test: + Viewports units are supported in transform properties (iframe) + </title> + <meta content=" + Viewports units are supported in transform properties (translate) + " name="assert"> + + <link href="mailto:fremycompany.developer@yahoo.fr" rel="author" title="François REMY"> + + <link href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths" rel="help"> + <link href="http://www.w3.org/TR/css3-2d-transforms/#css-values" rel="help"> + + <style type="text/css"> + + html, body { margin: 0px; padding: 0px; overflow: hidden; } + + html { background: green; } + #target, #over-target { + position: absolute; top: 0px; left: 0px; + width: 100px; height: 100px; + transform: scale(0.5); + } + + #target { + background: red; + transform-origin: 200px 200px; + } + + #over-target { + background: green; + transform-origin: 50vw 50vh; + } + + </style> + +</head> +<body> + + <div id="target"></div> + <div id="over-target"></div> + + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-origin.htm b/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-origin.htm index debb88c3535..108f349365d 100644 --- a/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-origin.htm +++ b/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-origin.htm @@ -28,7 +28,7 @@ </head> <body> - <iframe src="iframe/vh-support-transform-origin.html"></iframe> + <iframe src="iframe/vh-support-transform-origin-iframe.html"></iframe> diff --git a/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-translate-iframe.htm b/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-translate-iframe.htm new file mode 100644 index 00000000000..69de40e10a7 --- /dev/null +++ b/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-translate-iframe.htm @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title> + CSS Values and Units Test: + Viewports units are supported in transform properties (iframe) + </title> + <meta content=" + Viewports units are supported in transform properties (translate) + " name="assert"> + + <link href="mailto:fremycompany.developer@yahoo.fr" rel="author" title="François REMY"> + + <link href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths" rel="help"> + <link href="http://www.w3.org/TR/css3-2d-transforms/#css-values" rel="help"> + + <style type="text/css"> + + html, body { margin: 0px; padding: 0px; overflow: hidden; } + + html { background: green; } + #target, #over-target { + position: absolute; top: 0px; left: 0px; + width: 100px; height: 100px; + } + + #target { + background: red; + transform: translate(200px, 200px); + } + + #over-target { + background: green; + transform: translate(50vw, 50vh); + } + + </style> + +</head> +<body> + + <div id="target"></div> + <div id="over-target"></div> + + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-translate.htm b/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-translate.htm index d615b52451e..3ad042c33a0 100644 --- a/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-translate.htm +++ b/tests/wpt/css-tests/css-values-3_dev/html/vh-support-transform-translate.htm @@ -28,7 +28,7 @@ </head> <body> - <iframe src="iframe/vh-support-transform-translate.html"></iframe> + <iframe src="iframe/vh-support-transform-translate-iframe.html"></iframe> diff --git a/tests/wpt/css-tests/css-values-3_dev/implementation-report-TEMPLATE.data b/tests/wpt/css-tests/css-values-3_dev/implementation-report-TEMPLATE.data index 105ff42ee6f..375feddb6b2 100644 --- a/tests/wpt/css-tests/css-values-3_dev/implementation-report-TEMPLATE.data +++ b/tests/wpt/css-tests/css-values-3_dev/implementation-report-TEMPLATE.data @@ -189,10 +189,14 @@ html/vh-support-atviewport.htm 246c990528ff3491a35329ffa4b7a9274160510c ? xhtml1/vh-support-atviewport.xht 246c990528ff3491a35329ffa4b7a9274160510c ? html/vh-support-margin.htm 823e9f5c74674f088c75bb3e0c80b858e7c4fb00 ? xhtml1/vh-support-margin.xht 823e9f5c74674f088c75bb3e0c80b858e7c4fb00 ? -html/vh-support-transform-origin.htm 18233d6b7df8680145b4619278291e7f3452f02a ? -xhtml1/vh-support-transform-origin.xht 18233d6b7df8680145b4619278291e7f3452f02a ? -html/vh-support-transform-translate.htm 6005c29efe52ea0eedb402ba93150a893c06940d ? -xhtml1/vh-support-transform-translate.xht 6005c29efe52ea0eedb402ba93150a893c06940d ? +html/vh-support-transform-origin-iframe.htm 409348efd2507b792a7becc90d3307f493ac1af3 ? +xhtml1/vh-support-transform-origin-iframe.xht 409348efd2507b792a7becc90d3307f493ac1af3 ? +html/vh-support-transform-origin.htm f977bc1302563530a5adc50d30f37d9cb6812433 ? +xhtml1/vh-support-transform-origin.xht f977bc1302563530a5adc50d30f37d9cb6812433 ? +html/vh-support-transform-translate-iframe.htm 35b4d7b37d8e55337eb31daf9e7b9fcb49c8f1bf ? +xhtml1/vh-support-transform-translate-iframe.xht 35b4d7b37d8e55337eb31daf9e7b9fcb49c8f1bf ? +html/vh-support-transform-translate.htm d3c2dfb59b35972d234aee75a0d709cb4a408b06 ? +xhtml1/vh-support-transform-translate.xht d3c2dfb59b35972d234aee75a0d709cb4a408b06 ? html/vh-support.htm 2be374c5e5ec334fe4c6c3417901f70c910e1384 ? xhtml1/vh-support.xht 2be374c5e5ec334fe4c6c3417901f70c910e1384 ? html/vh-zero-support.htm 406973d43e0cda26fba220dc4241b0ef88ea9cb7 ? diff --git a/tests/wpt/css-tests/css-values-3_dev/testinfo.data b/tests/wpt/css-tests/css-values-3_dev/testinfo.data index 6462d3b3139..b4974a3e7e9 100644 --- a/tests/wpt/css-tests/css-values-3_dev/testinfo.data +++ b/tests/wpt/css-tests/css-values-3_dev/testinfo.data @@ -93,8 +93,10 @@ vh-interpolate-vh reference/all-green Viewport units are interpolated correctly vh-support reference/all-green Viewports units are supported in sizing properties http://www.w3.org/TR/css3-values/#viewport-relative-lengths 2be374c5e5ec334fe4c6c3417901f70c910e1384 `François REMY`<mailto:fremycompany.developer@yahoo.fr> Viewports units are supported in sizing properties vh-support-atviewport reference/all-green Viewports units are supported in @viewport rules http://www.w3.org/TR/css3-values/#viewport-relative-lengths,https://drafts.csswg.org/css-device-adapt-1/ 246c990528ff3491a35329ffa4b7a9274160510c `François REMY`<mailto:fremycompany.developer@yahoo.fr> Viewports units are supported in @viewport rules vh-support-margin reference/all-green Viewports units are supported in margin properties http://www.w3.org/TR/css3-values/#viewport-relative-lengths 823e9f5c74674f088c75bb3e0c80b858e7c4fb00 `François REMY`<mailto:fremycompany.developer@yahoo.fr> Viewports units are supported in margin properties -vh-support-transform-origin reference/all-green Viewports units are supported in transform properties http://www.w3.org/TR/css3-values/#viewport-relative-lengths,http://www.w3.org/TR/css3-2d-transforms/#css-values 18233d6b7df8680145b4619278291e7f3452f02a `François REMY`<mailto:fremycompany.developer@yahoo.fr> Viewports units are supported in transform properties -vh-support-transform-translate reference/all-green Viewports units are supported in transform properties http://www.w3.org/TR/css3-values/#viewport-relative-lengths,http://www.w3.org/TR/css3-2d-transforms/#css-values 6005c29efe52ea0eedb402ba93150a893c06940d `François REMY`<mailto:fremycompany.developer@yahoo.fr> Viewports units are supported in transform properties (translate) +vh-support-transform-origin reference/all-green Viewports units are supported in transform properties http://www.w3.org/TR/css3-values/#viewport-relative-lengths,http://www.w3.org/TR/css3-2d-transforms/#css-values f977bc1302563530a5adc50d30f37d9cb6812433 `François REMY`<mailto:fremycompany.developer@yahoo.fr> Viewports units are supported in transform properties +vh-support-transform-origin-iframe Viewports units are supported in transform properties (iframe) http://www.w3.org/TR/css3-values/#viewport-relative-lengths,http://www.w3.org/TR/css3-2d-transforms/#css-values 409348efd2507b792a7becc90d3307f493ac1af3 `François REMY`<mailto:fremycompany.developer@yahoo.fr> Viewports units are supported in transform properties (translate) +vh-support-transform-translate reference/all-green Viewports units are supported in transform properties http://www.w3.org/TR/css3-values/#viewport-relative-lengths,http://www.w3.org/TR/css3-2d-transforms/#css-values d3c2dfb59b35972d234aee75a0d709cb4a408b06 `François REMY`<mailto:fremycompany.developer@yahoo.fr> Viewports units are supported in transform properties (translate) +vh-support-transform-translate-iframe Viewports units are supported in transform properties (iframe) http://www.w3.org/TR/css3-values/#viewport-relative-lengths,http://www.w3.org/TR/css3-2d-transforms/#css-values 35b4d7b37d8e55337eb31daf9e7b9fcb49c8f1bf `François REMY`<mailto:fremycompany.developer@yahoo.fr> Viewports units are supported in transform properties (translate) vh-zero-support reference/all-green 0vh and 0vw are correctly treated as 0px http://www.w3.org/TR/css3-values/#viewport-relative-lengths 406973d43e0cda26fba220dc4241b0ef88ea9cb7 `François REMY`<mailto:fremycompany.developer@yahoo.fr> 0vh and 0vw are correctly treated as 0px vh_not_refreshing_on_chrome reference/vh_not_refreshing_on_chrome-ref vh-based dimension doesn't change when the element's other dimension doesn't change. http://www.w3.org/TR/css3-values/#viewport-relative-lengths a27560454ad4d3e11996f4a3a9ed7d66f4b639b8 `Marc Bourlon`<mailto:marc@bourlon.com> vh-based dimension doesn't change when the element's other dimension doesn't change. vh_not_refreshing_on_chrome_iframe reference/vh_not_refreshing_on_chrome-ref vh-based dimension doesn't change when the element other dimension doesn't change. http://www.w3.org/TR/css3-values/#viewport-relative-lengths 1d8864a842fd30399d2ec65a030154145bda58f4 `Marc Bourlon`<mailto:marc@bourlon.com> vh-based dimension doesn't change when the element other dimension doesn't change. Bug for Chrome 19.0.1084.56 / Mac OS X 10.6.8 diff --git a/tests/wpt/css-tests/css-values-3_dev/xhtml1/chapter-5.xht b/tests/wpt/css-tests/css-values-3_dev/xhtml1/chapter-5.xht index c49f86bd104..79c833b5944 100644 --- a/tests/wpt/css-tests/css-values-3_dev/xhtml1/chapter-5.xht +++ b/tests/wpt/css-tests/css-values-3_dev/xhtml1/chapter-5.xht @@ -13,7 +13,7 @@ <body> <h1>CSS Values and Units Module Level 3 CR Test Suite</h1> - <h2>Distance Units: the <length> type (30 tests)</h2> + <h2>Distance Units: the <length> type (32 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -169,7 +169,7 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s5.1.2">+</a> <a href="https://www.w3.org/TR/css3-values/#viewport-relative-lengths">5.1.2 Viewport-percentage lengths: the vw, vh, vmin, vmax units</a></th></tr> - <!-- 21 tests --> + <!-- 23 tests --> <tr id="absolute_length_units-5.1.2" class=""> <td> <a href="absolute_length_units.xht">absolute_length_units</a></td> @@ -335,6 +335,17 @@ </ul> </td> </tr> + <tr id="vh-support-transform-origin-iframe-5.1.2" class=""> + <td> + <a href="vh-support-transform-origin-iframe.xht">vh-support-transform-origin-iframe</a></td> + <td></td> + <td></td> + <td>Viewports units are supported in transform properties (iframe) + <ul class="assert"> + <li>Viewports units are supported in transform properties (translate)</li> + </ul> + </td> + </tr> <tr id="vh-support-transform-translate-5.1.2" class=""> <td> <a href="vh-support-transform-translate.xht">vh-support-transform-translate</a></td> @@ -346,6 +357,17 @@ </ul> </td> </tr> + <tr id="vh-support-transform-translate-iframe-5.1.2" class=""> + <td> + <a href="vh-support-transform-translate-iframe.xht">vh-support-transform-translate-iframe</a></td> + <td></td> + <td></td> + <td>Viewports units are supported in transform properties (iframe) + <ul class="assert"> + <li>Viewports units are supported in transform properties (translate)</li> + </ul> + </td> + </tr> <tr id="vh-zero-support-5.1.2" class=""> <td> <a href="vh-zero-support.xht">vh-zero-support</a></td> diff --git a/tests/wpt/css-tests/css-values-3_dev/xhtml1/chapter-9.xht b/tests/wpt/css-tests/css-values-3_dev/xhtml1/chapter-9.xht index 5536eb894dd..9c6f38254ed 100644 --- a/tests/wpt/css-tests/css-values-3_dev/xhtml1/chapter-9.xht +++ b/tests/wpt/css-tests/css-values-3_dev/xhtml1/chapter-9.xht @@ -45,160 +45,160 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-compositing-1"> + <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-animations-1"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-break-3"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-cascade-4"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-color-3"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-color-4"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-counter-styles-3"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-fonts-3"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-images-3"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-overflow-3"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-syntax-3"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-text-3"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-text-decor-3"> + <tbody id="sconventions.#example-f839f6c8"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-transitions-1"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-ui-3"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="sinformative.#biblio-mediaq"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-fonts"> + <tbody id="sinformative.#biblio-rfc6694"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-images"> + <tbody id="snormative.#biblio-compositing-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3bg"> + <tbody id="snormative.#biblio-css-animations-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3cascade"> + <tbody id="snormative.#biblio-css-backgrounds-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3color"> + <tbody id="snormative.#biblio-css-break-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3namespace"> + <tbody id="snormative.#biblio-css-cascade-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3page"> + <tbody id="snormative.#biblio-css-color-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3syn"> + <tbody id="snormative.#biblio-css-color-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom-ls"> + <tbody id="snormative.#biblio-css-counter-styles-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-filters-1"> + <tbody id="snormative.#biblio-css-fonts-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-mediaq"> + <tbody id="snormative.#biblio-css-images-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-mediaqueries-4"> + <tbody id="snormative.#biblio-css-overflow-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="snormative.#biblio-css-syntax-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc6694"> + <tbody id="snormative.#biblio-css-text-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-selectors-4"> + <tbody id="snormative.#biblio-css-text-decor-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-url"> + <tbody id="snormative.#biblio-css-transitions-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="snormative.#biblio-css-ui-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="snormative.#biblio-css3-fonts"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="snormative.#biblio-css3-images"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="snormative.#biblio-css3bg"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-f839f6c8"> + <tbody id="snormative.#biblio-css3cascade"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="snormative.#biblio-css3color"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css3namespace"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="snormative.#biblio-css3page"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="snormative.#biblio-css3syn"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-dom-ls"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-filters-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-mediaqueries-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-selectors-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="snormative.#biblio-url"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-values-3_dev/xhtml1/toc.xht b/tests/wpt/css-tests/css-values-3_dev/xhtml1/toc.xht index 29790ced6d4..11be4a62253 100644 --- a/tests/wpt/css-tests/css-values-3_dev/xhtml1/toc.xht +++ b/tests/wpt/css-tests/css-values-3_dev/xhtml1/toc.xht @@ -42,7 +42,7 @@ <tbody id="s5"> <tr><th><a href="chapter-5.xht">Chapter 5 - Distance Units: the <length> type</a></th> - <td>(30 Tests)</td></tr> + <td>(32 Tests)</td></tr> </tbody> <tbody id="s6"> <tr><th><a href="chapter-6.xht">Chapter 6 - diff --git a/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-origin-iframe.xht b/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-origin-iframe.xht new file mode 100644 index 00000000000..18c2c2dd065 --- /dev/null +++ b/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-origin-iframe.xht @@ -0,0 +1,48 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title> + CSS Values and Units Test: + Viewports units are supported in transform properties (iframe) + </title> + <meta content=" + Viewports units are supported in transform properties (translate) + " name="assert" /> + + <link href="mailto:fremycompany.developer@yahoo.fr" rel="author" title="François REMY" /> + + <link href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths" rel="help" /> + <link href="http://www.w3.org/TR/css3-2d-transforms/#css-values" rel="help" /> + + <style type="text/css"> + + html, body { margin: 0px; padding: 0px; overflow: hidden; } + + html { background: green; } + #target, #over-target { + position: absolute; top: 0px; left: 0px; + width: 100px; height: 100px; + transform: scale(0.5); + } + + #target { + background: red; + transform-origin: 200px 200px; + } + + #over-target { + background: green; + transform-origin: 50vw 50vh; + } + + </style> + +</head> +<body> + + <div id="target"></div> + <div id="over-target"></div> + + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-origin.xht b/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-origin.xht index 412b41eefb1..b9cf40ac14e 100644 --- a/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-origin.xht +++ b/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-origin.xht @@ -28,7 +28,7 @@ </head> <body> - <iframe src="iframe/vh-support-transform-origin.html"></iframe> + <iframe src="iframe/vh-support-transform-origin-iframe.html"></iframe> diff --git a/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-translate-iframe.xht b/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-translate-iframe.xht new file mode 100644 index 00000000000..ec57af5848d --- /dev/null +++ b/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-translate-iframe.xht @@ -0,0 +1,47 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta charset="utf-8" /> + <title> + CSS Values and Units Test: + Viewports units are supported in transform properties (iframe) + </title> + <meta content=" + Viewports units are supported in transform properties (translate) + " name="assert" /> + + <link href="mailto:fremycompany.developer@yahoo.fr" rel="author" title="François REMY" /> + + <link href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths" rel="help" /> + <link href="http://www.w3.org/TR/css3-2d-transforms/#css-values" rel="help" /> + + <style type="text/css"> + + html, body { margin: 0px; padding: 0px; overflow: hidden; } + + html { background: green; } + #target, #over-target { + position: absolute; top: 0px; left: 0px; + width: 100px; height: 100px; + } + + #target { + background: red; + transform: translate(200px, 200px); + } + + #over-target { + background: green; + transform: translate(50vw, 50vh); + } + + </style> + +</head> +<body> + + <div id="target"></div> + <div id="over-target"></div> + + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-translate.xht b/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-translate.xht index 6edc9985ce2..c9748901713 100644 --- a/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-translate.xht +++ b/tests/wpt/css-tests/css-values-3_dev/xhtml1/vh-support-transform-translate.xht @@ -28,7 +28,7 @@ </head> <body> - <iframe src="iframe/vh-support-transform-translate.html"></iframe> + <iframe src="iframe/vh-support-transform-translate-iframe.html"></iframe> diff --git a/tests/wpt/css-tests/css-variables-1_dev/html/chapter-6.htm b/tests/wpt/css-tests/css-variables-1_dev/html/chapter-6.htm index d3e6431b0aa..78b8fa5186f 100644 --- a/tests/wpt/css-tests/css-variables-1_dev/html/chapter-6.htm +++ b/tests/wpt/css-tests/css-variables-1_dev/html/chapter-6.htm @@ -36,106 +36,106 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-animations-1"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-cascade-4"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-color-3"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-conditional-3"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-extensions"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-syntax-3"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-values-3"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="sconform-responsible.#conform-future-proofing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom"> + <tbody id="sconform-responsible.#conform-partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom"> + <tbody id="sconform-responsible.#conform-testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sconformance.#conform-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-selectors-4"> + <tbody id="sconformance.#conform-responsible"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-classes"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-future-proofing"> + <tbody id="sconformance.#document-conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-partial"> + <tbody id="sdocument-conventions.#example-a13d9f9a"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-responsible"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-testing"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css-backgrounds-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-css-color-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="sinformative.#biblio-css-extensions"> <!-- 0 tests --> </tbody> - <tbody id="s.#document-conventions"> + <tbody id="snormative.#biblio-css-animations-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-a13d9f9a"> + <tbody id="snormative.#biblio-css-cascade-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css-conditional-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="snormative.#biblio-css-syntax-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="snormative.#biblio-css-values-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-cssom"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-dom"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-selectors-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-variables-1_dev/xhtml1/chapter-6.xht b/tests/wpt/css-tests/css-variables-1_dev/xhtml1/chapter-6.xht index c1321c8b103..845ff71527d 100644 --- a/tests/wpt/css-tests/css-variables-1_dev/xhtml1/chapter-6.xht +++ b/tests/wpt/css-tests/css-variables-1_dev/xhtml1/chapter-6.xht @@ -36,106 +36,106 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-animations-1"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-cascade-4"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-color-3"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-conditional-3"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-extensions"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-syntax-3"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-values-3"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="sconform-responsible.#conform-future-proofing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom"> + <tbody id="sconform-responsible.#conform-partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom"> + <tbody id="sconform-responsible.#conform-testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sconformance.#conform-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-selectors-4"> + <tbody id="sconformance.#conform-responsible"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-classes"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-future-proofing"> + <tbody id="sconformance.#document-conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-partial"> + <tbody id="sdocument-conventions.#example-a13d9f9a"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-responsible"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-testing"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css-backgrounds-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-css-color-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="sinformative.#biblio-css-extensions"> <!-- 0 tests --> </tbody> - <tbody id="s.#document-conventions"> + <tbody id="snormative.#biblio-css-animations-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-a13d9f9a"> + <tbody id="snormative.#biblio-css-cascade-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css-conditional-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="snormative.#biblio-css-syntax-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="snormative.#biblio-css-values-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-cssom"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-dom"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-selectors-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-variables-1_dev/xhtml1print/chapter-6.xht b/tests/wpt/css-tests/css-variables-1_dev/xhtml1print/chapter-6.xht index c1321c8b103..845ff71527d 100644 --- a/tests/wpt/css-tests/css-variables-1_dev/xhtml1print/chapter-6.xht +++ b/tests/wpt/css-tests/css-variables-1_dev/xhtml1print/chapter-6.xht @@ -36,106 +36,106 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-animations-1"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-cascade-4"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-color-3"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-conditional-3"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-extensions"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-syntax-3"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-values-3"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="sconform-responsible.#conform-future-proofing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom"> + <tbody id="sconform-responsible.#conform-partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-dom"> + <tbody id="sconform-responsible.#conform-testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="sconformance.#conform-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-selectors-4"> + <tbody id="sconformance.#conform-responsible"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-classes"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-future-proofing"> + <tbody id="sconformance.#document-conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-partial"> + <tbody id="sdocument-conventions.#example-a13d9f9a"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-responsible"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-testing"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="sinformative.#biblio-css-backgrounds-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sinformative.#biblio-css-color-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="sinformative.#biblio-css-extensions"> <!-- 0 tests --> </tbody> - <tbody id="s.#document-conventions"> + <tbody id="snormative.#biblio-css-animations-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-a13d9f9a"> + <tbody id="snormative.#biblio-css-cascade-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="snormative.#biblio-css-conditional-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="snormative.#biblio-css-syntax-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="snormative.#biblio-css-values-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="snormative.#biblio-cssom"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="snormative.#biblio-dom"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-selectors-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/html/abs-pos-non-replaced-vlr-059.htm b/tests/wpt/css-tests/css-writing-modes-3_dev/html/abs-pos-non-replaced-vlr-059.htm index aa58ca026c4..f977c39cce7 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/html/abs-pos-non-replaced-vlr-059.htm +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/html/abs-pos-non-replaced-vlr-059.htm @@ -3,7 +3,7 @@ <head> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes"> @@ -11,7 +11,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.htm"> <meta name="flags" content="ahem image"> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'."> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'."> <style type="text/css"> div#containing-block diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/html/abs-pos-non-replaced-vrl-058.htm b/tests/wpt/css-tests/css-writing-modes-3_dev/html/abs-pos-non-replaced-vrl-058.htm index 36b14c9a55c..1933b1d0c1f 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/html/abs-pos-non-replaced-vrl-058.htm +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/html/abs-pos-non-replaced-vrl-058.htm @@ -3,7 +3,7 @@ <head> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes"> @@ -11,7 +11,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.htm"> <meta name="flags" content="ahem image"> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'."> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'."> <style type="text/css"> div#containing-block diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-2.htm b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-2.htm index 9ca275d0423..5f1f9665089 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-2.htm +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-2.htm @@ -1434,7 +1434,7 @@ <td></td> <td>vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering <ul class="assert"> - <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright.</li> + <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-3.htm b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-3.htm index 0397f0d3b61..cd25ba6ffc1 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-3.htm +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-3.htm @@ -125,7 +125,7 @@ <td></td> <td>vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering <ul class="assert"> - <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright.</li> + <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-5.htm b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-5.htm index a74b3f30763..f9197483ed6 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-5.htm +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-5.htm @@ -63,7 +63,7 @@ <td></td> <td>vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering <ul class="assert"> - <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright.</li> + <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-7.htm b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-7.htm index 30d227de822..08d18232e69 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-7.htm +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-7.htm @@ -703,9 +703,9 @@ <a href="abs-pos-non-replaced-vlr-059.htm">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.htm">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> @@ -1935,9 +1935,9 @@ <a href="abs-pos-non-replaced-vrl-058.htm">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.htm">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-9.htm b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-9.htm index d339a786dd0..8498ebfa80e 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-9.htm +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-9.htm @@ -407,174 +407,21 @@ <tbody id="s.#acknowledgements"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-break-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-cascade-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-display-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-flexbox-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-fonts-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-images-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-masking-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-multicol-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-page-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-position-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-ruby-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-sizing-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-text-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-text-decor-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-break"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-flexbox"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-fonts"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-text"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-text-decor"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3bg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3col"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3color"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3page"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3text"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html401"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc6919"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg11"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg2"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax11"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax24"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax9"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-unicode"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-utn22"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-utr50"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes-201311"> - <!-- 0 tests --> - </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-f839f6c8"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> @@ -587,15 +434,9 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-A.htm b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-A.htm index 92261297445..7f9fd8c5cef 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-A.htm +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/html/chapter-A.htm @@ -33,6 +33,165 @@ <a href="https://www.w3.org/TR/css-writing-modes-3/#script-orientations">A Vertical Scripts in Unicode</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="schanges.#changes-201311"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconventions.#example-f839f6c8"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-flexbox"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-fonts"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-text-decor"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3color"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3page"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-html401"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-utn22"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-backgrounds-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-break-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-cascade-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-display-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-flexbox-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-fonts-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-images-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-masking-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-multicol-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-page-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-position-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-ruby-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-sizing-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-text-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-text-decor-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-break"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-text"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3bg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3text"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc6919"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg11"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg2"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax11"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax24"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax9"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-unicode"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-utr50"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/html/reftest-toc.htm b/tests/wpt/css-tests/css-writing-modes-3_dev/html/reftest-toc.htm index a56ff9e78c3..a46889f0484 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/html/reftest-toc.htm +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/html/reftest-toc.htm @@ -506,7 +506,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vlr-059" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vlr-059.htm">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.htm">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> @@ -1402,7 +1402,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vrl-058" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vrl-058.htm">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.htm">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/html/table-progression-vlr-003.htm b/tests/wpt/css-tests/css-writing-modes-3_dev/html/table-progression-vlr-003.htm index 61e3b56b78c..eea4f834e26 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/html/table-progression-vlr-003.htm +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/html/table-progression-vlr-003.htm @@ -4,7 +4,7 @@ <link href="http://fantasai.inkedblade.net/contact" rel="author" title="Elika J. Etemad"> <link href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" rel="reviewer" title="Gérard Talbot"> <!-- 2016-01-19 --> <link href="reference/table-progression-001-ref.htm" rel="match"> -<meta content="This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright." name="assert"> +<meta content="This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright." name="assert"> <link href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" rel="help" title="3.1 Block Flow Direction: the 'writing-mode' property"> <link href="http://www.w3.org/TR/css-writing-modes-3/#direction" rel="help" title="2.1 Specifying Directionality: the 'direction' property"> <link href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation" rel="help" title="5.1 Orienting Text: the 'text-orientation' property"> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/implementation-report-TEMPLATE.data b/tests/wpt/css-tests/css-writing-modes-3_dev/implementation-report-TEMPLATE.data index af426ca06ef..c8e4b5f510d 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/implementation-report-TEMPLATE.data +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/implementation-report-TEMPLATE.data @@ -123,8 +123,8 @@ html/abs-pos-non-replaced-vlr-055.htm e6152f2732060736d14b5a78a302e0bc8bbe793f ? xhtml1/abs-pos-non-replaced-vlr-055.xht e6152f2732060736d14b5a78a302e0bc8bbe793f ? html/abs-pos-non-replaced-vlr-057.htm 512802c29f43864633b5ba4997e3435e77dfa780 ? xhtml1/abs-pos-non-replaced-vlr-057.xht 512802c29f43864633b5ba4997e3435e77dfa780 ? -html/abs-pos-non-replaced-vlr-059.htm 4a081025215343dc43c94a9afbecb4f8708d78c0 ? -xhtml1/abs-pos-non-replaced-vlr-059.xht 4a081025215343dc43c94a9afbecb4f8708d78c0 ? +html/abs-pos-non-replaced-vlr-059.htm 87d3f8ddd1ad9152e5654825a8774a88494ade9f ? +xhtml1/abs-pos-non-replaced-vlr-059.xht 87d3f8ddd1ad9152e5654825a8774a88494ade9f ? html/abs-pos-non-replaced-vlr-061.htm d5d7da3ef86e0bc59f71598418b084d23a7fc5e2 ? xhtml1/abs-pos-non-replaced-vlr-061.xht d5d7da3ef86e0bc59f71598418b084d23a7fc5e2 ? html/abs-pos-non-replaced-vlr-063.htm e44b75458e48fc677468fad2f6b97bfb27a04358 ? @@ -347,8 +347,8 @@ html/abs-pos-non-replaced-vrl-054.htm 7ef86efb0eef5f8b43a82658c4cde941fa885c55 ? xhtml1/abs-pos-non-replaced-vrl-054.xht 7ef86efb0eef5f8b43a82658c4cde941fa885c55 ? html/abs-pos-non-replaced-vrl-056.htm 0684b6dac50f2a8a6af6e1e1e43cd9ad96e6607e ? xhtml1/abs-pos-non-replaced-vrl-056.xht 0684b6dac50f2a8a6af6e1e1e43cd9ad96e6607e ? -html/abs-pos-non-replaced-vrl-058.htm 5ed1484c71061d9fdd91d13b776f19b73f7d1853 ? -xhtml1/abs-pos-non-replaced-vrl-058.xht 5ed1484c71061d9fdd91d13b776f19b73f7d1853 ? +html/abs-pos-non-replaced-vrl-058.htm 37684ca4836356475eb9e041a2bd629ff84f4ec3 ? +xhtml1/abs-pos-non-replaced-vrl-058.xht 37684ca4836356475eb9e041a2bd629ff84f4ec3 ? html/abs-pos-non-replaced-vrl-060.htm f125ea87971858a2689e498e6c6e302319fb346b ? xhtml1/abs-pos-non-replaced-vrl-060.xht f125ea87971858a2689e498e6c6e302319fb346b ? html/abs-pos-non-replaced-vrl-062.htm 3a89ef33bd3f993b23dc0dc1a28612218ad0beb9 ? @@ -1569,8 +1569,8 @@ html/table-progression-vlr-001.htm 080b35606e3d9197fad4900ef9db204935b61ed7 ? xhtml1/table-progression-vlr-001.xht 080b35606e3d9197fad4900ef9db204935b61ed7 ? html/table-progression-vlr-002.htm 0d0b33595bbedcce4c7a2461c0a8197a26432a5a ? xhtml1/table-progression-vlr-002.xht 0d0b33595bbedcce4c7a2461c0a8197a26432a5a ? -html/table-progression-vlr-003.htm 27b613e5470475ae30f77994a57911f4f9ba5b62 ? -xhtml1/table-progression-vlr-003.xht 27b613e5470475ae30f77994a57911f4f9ba5b62 ? +html/table-progression-vlr-003.htm c355871237d800fc278646cb02cd52c1ee2dad1c ? +xhtml1/table-progression-vlr-003.xht c355871237d800fc278646cb02cd52c1ee2dad1c ? html/table-progression-vlr-004.htm d2b45d56c96a738ce7dc9f5451e5468f67e0826f ? xhtml1/table-progression-vlr-004.xht d2b45d56c96a738ce7dc9f5451e5468f67e0826f ? html/table-progression-vrl-001.htm fc1814e366b2dbdfc31307664e4a0921dc5ebbbc ? diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/testinfo.data b/tests/wpt/css-tests/css-writing-modes-3_dev/testinfo.data index c4c15640016..e006a871cd3 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/testinfo.data +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/testinfo.data @@ -59,7 +59,7 @@ abs-pos-non-replaced-vlr-051 reference/abs-pos-non-replaced-vlr-003-ref absolute abs-pos-non-replaced-vlr-053 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 9c08e776675637130948bd4b6931af65719d29ff `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'. abs-pos-non-replaced-vlr-055 reference/abs-pos-non-replaced-vlr-007-ref absolutely positioned non-replaced element - 'direction: ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width e6152f2732060736d14b5a78a302e0bc8bbe793f `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. abs-pos-non-replaced-vlr-057 reference/abs-pos-non-replaced-vlr-003-ref absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 512802c29f43864633b5ba4997e3435e77dfa780 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. -abs-pos-non-replaced-vlr-059 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 4a081025215343dc43c94a9afbecb4f8708d78c0 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'. +abs-pos-non-replaced-vlr-059 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 87d3f8ddd1ad9152e5654825a8774a88494ade9f `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'. abs-pos-non-replaced-vlr-061 reference/abs-pos-non-replaced-vlr-007-ref absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width d5d7da3ef86e0bc59f71598418b084d23a7fc5e2 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. abs-pos-non-replaced-vlr-063 reference/abs-pos-non-replaced-vlr-003-ref absolutely positioned non-replaced element - 'direction: ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width e44b75458e48fc677468fad2f6b97bfb27a04358 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'. abs-pos-non-replaced-vlr-065 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: ltr' and 'width' is 'auto', 'left' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 7e931945d698024af484361d702fc1942f4c93d7 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'left', 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'. @@ -171,7 +171,7 @@ abs-pos-non-replaced-vrl-050 reference/abs-pos-non-replaced-vrl-002-ref absolute abs-pos-non-replaced-vrl-052 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 6d08a883aabdabe4db83d6e6a8b86508aa7b7a53 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'. abs-pos-non-replaced-vrl-054 reference/abs-pos-non-replaced-vrl-006-ref absolutely positioned non-replaced element - 'direction: ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 7ef86efb0eef5f8b43a82658c4cde941fa885c55 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. abs-pos-non-replaced-vrl-056 reference/abs-pos-non-replaced-vrl-002-ref absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 0684b6dac50f2a8a6af6e1e1e43cd9ad96e6607e `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. -abs-pos-non-replaced-vrl-058 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 5ed1484c71061d9fdd91d13b776f19b73f7d1853 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'. +abs-pos-non-replaced-vrl-058 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 37684ca4836356475eb9e041a2bd629ff84f4ec3 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'. abs-pos-non-replaced-vrl-060 reference/abs-pos-non-replaced-vrl-006-ref absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width f125ea87971858a2689e498e6c6e302319fb346b `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. abs-pos-non-replaced-vrl-062 reference/abs-pos-non-replaced-vrl-002-ref absolutely positioned non-replaced element - 'direction: ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 3a89ef33bd3f993b23dc0dc1a28612218ad0beb9 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'. abs-pos-non-replaced-vrl-064 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: ltr' and 'width' is 'auto', 'left' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 575dcb96feed2e570ac0e03d1abb0f2af1fe4644 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'. @@ -782,7 +782,7 @@ table-progression-srl-001 reference/table-progression-001-ref sideways-rl Table table-progression-srl-002 reference/table-progression-002-ref sideways-rl Table Column/Colgroup Ordering http://www.w3.org/TR/css-writing-modes-3/#block-flow,http://www.w3.org/TR/css-writing-modes-3/#direction 5b7d0579f3fec248822d31a4d5d3f6fae9787ce3 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/>,`Elika J. Etemad`<http://fantasai.inkedblade.net/contact> This test checks that sideways-rl tables order columns top-to-bottom (LTR) or bottom-to-top (RTL) per the table's 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table columns and column groups. table-progression-vlr-001 reference/table-progression-001-ref vertical-lr Table Row/Rowgroup/Cell Ordering http://www.w3.org/TR/css-writing-modes-3/#block-flow,http://www.w3.org/TR/css-writing-modes-3/#direction 080b35606e3d9197fad4900ef9db204935b61ed7 `Elika J. Etemad`<http://fantasai.inkedblade.net/contact> This test checks that vertical-lr tables order rows/rowgroups left to right and cells top-to-bottom (LTR) or bottom-to-top (RTL) per 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table rows and row groups. table-progression-vlr-002 reference/table-progression-002-ref vertical-lr Table Column/Colgroup Ordering http://www.w3.org/TR/css-writing-modes-3/#block-flow,http://www.w3.org/TR/css-writing-modes-3/#direction 0d0b33595bbedcce4c7a2461c0a8197a26432a5a `Elika J. Etemad`<http://fantasai.inkedblade.net/contact> This test checks that vertical-lr tables order columns top-to-bottom (LTR) or bottom-to-top (RTL) per the table's 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table columns and column groups. -table-progression-vlr-003 reference/table-progression-001-ref vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering http://www.w3.org/TR/css-writing-modes-3/#block-flow,http://www.w3.org/TR/css-writing-modes-3/#direction,http://www.w3.org/TR/css-writing-modes-3/#text-orientation 27b613e5470475ae30f77994a57911f4f9ba5b62 `Elika J. Etemad`<http://fantasai.inkedblade.net/contact> This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright. +table-progression-vlr-003 reference/table-progression-001-ref vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering http://www.w3.org/TR/css-writing-modes-3/#block-flow,http://www.w3.org/TR/css-writing-modes-3/#direction,http://www.w3.org/TR/css-writing-modes-3/#text-orientation c355871237d800fc278646cb02cd52c1ee2dad1c `Elika J. Etemad`<http://fantasai.inkedblade.net/contact> This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright. table-progression-vlr-004 reference/table-progression-002-ref vertical-lr upright orientation Table Column/Colgroup Ordering http://www.w3.org/TR/css-writing-modes-3/#block-flow,http://www.w3.org/TR/css-writing-modes-3/#direction,http://www.w3.org/TR/css-writing-modes-3/#text-orientation d2b45d56c96a738ce7dc9f5451e5468f67e0826f `Elika J. Etemad`<http://fantasai.inkedblade.net/contact> This test checks that vertical-lr tables, whether LTR or RTL, order columns top-to-bottom when text-orientation is upright. table-progression-vrl-001 reference/table-progression-001-ref vertical-rl Table Row/Rowgroup/Cell Ordering http://www.w3.org/TR/css-writing-modes-3/#block-flow,http://www.w3.org/TR/css-writing-modes-3/#direction fc1814e366b2dbdfc31307664e4a0921dc5ebbbc `Elika J. Etemad`<http://fantasai.inkedblade.net/contact> This test checks that vertical-rl tables order rows/rowgroups right to left and cells top-to-bottom (LTR) or bottom-to-top (RTL) per 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table rows and row groups. table-progression-vrl-002 reference/table-progression-002-ref vertical-rl Table Column/Colgroup Ordering http://www.w3.org/TR/css-writing-modes-3/#block-flow,http://www.w3.org/TR/css-writing-modes-3/#direction b75051b071ec6bfe556e2f3554c87cdf12f82c8d `Elika J. Etemad`<http://fantasai.inkedblade.net/contact> This test checks that vertical-rl tables order columns top-to-bottom (LTR) or bottom-to-top (RTL) per the table's 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table columns and column groups. diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/abs-pos-non-replaced-vlr-059.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/abs-pos-non-replaced-vlr-059.xht index 53fa7894e39..2d2d1a0ccb4 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/abs-pos-non-replaced-vlr-059.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/abs-pos-non-replaced-vlr-059.xht @@ -3,7 +3,7 @@ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" /> @@ -11,7 +11,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.xht" /> <meta name="flags" content="ahem image" /> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'." /> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." /> <style type="text/css"><![CDATA[ div#containing-block diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/abs-pos-non-replaced-vrl-058.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/abs-pos-non-replaced-vrl-058.xht index b8ce38d64d5..99fb7a944d2 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/abs-pos-non-replaced-vrl-058.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/abs-pos-non-replaced-vrl-058.xht @@ -3,7 +3,7 @@ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" /> @@ -11,7 +11,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.xht" /> <meta name="flags" content="ahem image" /> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'." /> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." /> <style type="text/css"><![CDATA[ div#containing-block diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-2.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-2.xht index 495e66f67d0..b7837932281 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-2.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-2.xht @@ -1434,7 +1434,7 @@ <td></td> <td>vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering <ul class="assert"> - <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright.</li> + <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-3.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-3.xht index 6aaf0654357..3d953f8bad7 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-3.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-3.xht @@ -125,7 +125,7 @@ <td></td> <td>vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering <ul class="assert"> - <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright.</li> + <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-5.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-5.xht index 581b5331323..4f4005f646e 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-5.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-5.xht @@ -63,7 +63,7 @@ <td></td> <td>vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering <ul class="assert"> - <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright.</li> + <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-7.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-7.xht index 8bf5455c90a..11330effec3 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-7.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-7.xht @@ -703,9 +703,9 @@ <a href="abs-pos-non-replaced-vlr-059.xht">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> @@ -1935,9 +1935,9 @@ <a href="abs-pos-non-replaced-vrl-058.xht">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-9.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-9.xht index 63508373367..8478c118a99 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-9.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-9.xht @@ -407,174 +407,21 @@ <tbody id="s.#acknowledgements"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-break-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-cascade-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-display-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-flexbox-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-fonts-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-images-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-masking-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-multicol-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-page-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-position-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-ruby-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-sizing-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-text-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-text-decor-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-break"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-flexbox"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-fonts"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-text"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-text-decor"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3bg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3col"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3color"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3page"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3text"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html401"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc6919"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg11"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg2"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax11"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax24"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax9"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-unicode"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-utn22"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-utr50"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes-201311"> - <!-- 0 tests --> - </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-f839f6c8"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> @@ -587,15 +434,9 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-A.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-A.xht index b4413580ebc..37f70de22c2 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-A.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/chapter-A.xht @@ -33,6 +33,165 @@ <a href="https://www.w3.org/TR/css-writing-modes-3/#script-orientations">A Vertical Scripts in Unicode</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="schanges.#changes-201311"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconventions.#example-f839f6c8"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-flexbox"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-fonts"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-text-decor"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3color"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3page"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-html401"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-utn22"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-backgrounds-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-break-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-cascade-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-display-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-flexbox-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-fonts-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-images-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-masking-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-multicol-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-page-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-position-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-ruby-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-sizing-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-text-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-text-decor-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-break"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-text"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3bg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3text"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc6919"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg11"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg2"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax11"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax24"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax9"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-unicode"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-utr50"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/reftest-toc.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/reftest-toc.xht index 00c524b95f5..b8a93611cd9 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/reftest-toc.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/reftest-toc.xht @@ -506,7 +506,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vlr-059" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vlr-059.xht">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> @@ -1402,7 +1402,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vrl-058" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vrl-058.xht">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/table-progression-vlr-003.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/table-progression-vlr-003.xht index 5bd83c6a174..c715e4fd1ec 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/table-progression-vlr-003.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1/table-progression-vlr-003.xht @@ -4,7 +4,7 @@ <link href="http://fantasai.inkedblade.net/contact" rel="author" title="Elika J. Etemad" /> <link href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" rel="reviewer" title="Gérard Talbot" /> <!-- 2016-01-19 --> <link href="reference/table-progression-001-ref.xht" rel="match" /> -<meta content="This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright." name="assert" /> +<meta content="This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright." name="assert" /> <link href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" rel="help" title="3.1 Block Flow Direction: the 'writing-mode' property" /> <link href="http://www.w3.org/TR/css-writing-modes-3/#direction" rel="help" title="2.1 Specifying Directionality: the 'direction' property" /> <link href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation" rel="help" title="5.1 Orienting Text: the 'text-orientation' property" /> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/abs-pos-non-replaced-vlr-059.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/abs-pos-non-replaced-vlr-059.xht index 24ebbf6e259..261b0be5ccd 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/abs-pos-non-replaced-vlr-059.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/abs-pos-non-replaced-vlr-059.xht @@ -3,7 +3,7 @@ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <style type="text/css"> @page { font: italic 8pt sans-serif; color: gray; margin: 7%; @@ -20,7 +20,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.xht" /> <meta name="flags" content="ahem image" /> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'." /> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." /> <style type="text/css"><![CDATA[ div#containing-block diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/abs-pos-non-replaced-vrl-058.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/abs-pos-non-replaced-vrl-058.xht index 2d5df908c96..3b7225b4a7c 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/abs-pos-non-replaced-vrl-058.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/abs-pos-non-replaced-vrl-058.xht @@ -3,7 +3,7 @@ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <style type="text/css"> @page { font: italic 8pt sans-serif; color: gray; margin: 7%; @@ -20,7 +20,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.xht" /> <meta name="flags" content="ahem image" /> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'." /> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." /> <style type="text/css"><![CDATA[ div#containing-block diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-2.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-2.xht index 495e66f67d0..b7837932281 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-2.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-2.xht @@ -1434,7 +1434,7 @@ <td></td> <td>vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering <ul class="assert"> - <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright.</li> + <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-3.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-3.xht index 6aaf0654357..3d953f8bad7 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-3.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-3.xht @@ -125,7 +125,7 @@ <td></td> <td>vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering <ul class="assert"> - <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright.</li> + <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-5.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-5.xht index 581b5331323..4f4005f646e 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-5.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-5.xht @@ -63,7 +63,7 @@ <td></td> <td>vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering <ul class="assert"> - <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright.</li> + <li>This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-7.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-7.xht index 8bf5455c90a..11330effec3 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-7.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-7.xht @@ -703,9 +703,9 @@ <a href="abs-pos-non-replaced-vlr-059.xht">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> @@ -1935,9 +1935,9 @@ <a href="abs-pos-non-replaced-vrl-058.xht">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-9.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-9.xht index 63508373367..8478c118a99 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-9.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-9.xht @@ -407,174 +407,21 @@ <tbody id="s.#acknowledgements"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-break-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-cascade-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-display-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-flexbox-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-fonts-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-images-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-masking-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-multicol-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-page-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-position-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-ruby-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-sizing-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-text-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-text-decor-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css-values-3"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-break"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-flexbox"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-fonts"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-sizing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-text"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-text-decor"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3bg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3col"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3color"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3page"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3text"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html401"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc6919"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg11"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg2"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax11"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax24"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-uax9"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-unicode"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-utn22"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-utr50"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes-201311"> - <!-- 0 tests --> - </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#cr-exit-criteria"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#example-f839f6c8"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#index-defined-here"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> @@ -587,15 +434,9 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-A.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-A.xht index b4413580ebc..37f70de22c2 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-A.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/chapter-A.xht @@ -33,6 +33,165 @@ <a href="https://www.w3.org/TR/css-writing-modes-3/#script-orientations">A Vertical Scripts in Unicode</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="schanges.#changes-201311"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#cr-exit-criteria"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sconventions.#example-f839f6c8"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-elsewhere"> + <!-- 0 tests --> + </tbody> + <tbody id="sindex.#index-defined-here"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-flexbox"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-fonts"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-text-decor"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3color"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3page"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-html401"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-utn22"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-backgrounds-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-break-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-cascade-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-display-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-flexbox-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-fonts-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-images-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-masking-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-multicol-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-page-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-position-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-ruby-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-sizing-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-text-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-text-decor-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css-values-3"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-break"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-sizing"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3-text"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3bg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3col"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3text"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc6919"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg11"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg2"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax11"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax24"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-uax9"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-unicode"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-utr50"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/reftest-toc.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/reftest-toc.xht index 00c524b95f5..b8a93611cd9 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/reftest-toc.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/reftest-toc.xht @@ -506,7 +506,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vlr-059" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vlr-059.xht">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> @@ -1402,7 +1402,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vrl-058" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vrl-058.xht">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> diff --git a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/table-progression-vlr-003.xht b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/table-progression-vlr-003.xht index 5bd83c6a174..c715e4fd1ec 100644 --- a/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/table-progression-vlr-003.xht +++ b/tests/wpt/css-tests/css-writing-modes-3_dev/xhtml1print/table-progression-vlr-003.xht @@ -4,7 +4,7 @@ <link href="http://fantasai.inkedblade.net/contact" rel="author" title="Elika J. Etemad" /> <link href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" rel="reviewer" title="Gérard Talbot" /> <!-- 2016-01-19 --> <link href="reference/table-progression-001-ref.xht" rel="match" /> -<meta content="This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright." name="assert" /> +<meta content="This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright." name="assert" /> <link href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" rel="help" title="3.1 Block Flow Direction: the 'writing-mode' property" /> <link href="http://www.w3.org/TR/css-writing-modes-3/#direction" rel="help" title="2.1 Specifying Directionality: the 'direction' property" /> <link href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation" rel="help" title="5.1 Orienting Text: the 'text-orientation' property" /> diff --git a/tests/wpt/css-tests/css21_dev/html4/abs-pos-non-replaced-vlr-059.htm b/tests/wpt/css-tests/css21_dev/html4/abs-pos-non-replaced-vlr-059.htm index aa58ca026c4..f977c39cce7 100644 --- a/tests/wpt/css-tests/css21_dev/html4/abs-pos-non-replaced-vlr-059.htm +++ b/tests/wpt/css-tests/css21_dev/html4/abs-pos-non-replaced-vlr-059.htm @@ -3,7 +3,7 @@ <head> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes"> @@ -11,7 +11,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.htm"> <meta name="flags" content="ahem image"> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'."> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'."> <style type="text/css"> div#containing-block diff --git a/tests/wpt/css-tests/css21_dev/html4/abs-pos-non-replaced-vrl-058.htm b/tests/wpt/css-tests/css21_dev/html4/abs-pos-non-replaced-vrl-058.htm index 36b14c9a55c..1933b1d0c1f 100644 --- a/tests/wpt/css-tests/css21_dev/html4/abs-pos-non-replaced-vrl-058.htm +++ b/tests/wpt/css-tests/css21_dev/html4/abs-pos-non-replaced-vrl-058.htm @@ -3,7 +3,7 @@ <head> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes"> @@ -11,7 +11,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.htm"> <meta name="flags" content="ahem image"> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'."> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'."> <style type="text/css"> div#containing-block diff --git a/tests/wpt/css-tests/css21_dev/html4/at-charset-013.htm b/tests/wpt/css-tests/css21_dev/html4/at-charset-013.htm index a2239858d9f..121d4286e89 100644 --- a/tests/wpt/css-tests/css21_dev/html4/at-charset-013.htm +++ b/tests/wpt/css-tests/css21_dev/html4/at-charset-013.htm @@ -1,11 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> -<html> - <head> +<!DOCTYPE html> +<html><head> <title>CSS Test: Stylesheet encoding via the referring document's encoding (user set)</title> - <link rel="author" title="Microsoft" href="http://www.microsoft.com/"> - <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#charset"> - <meta name="flags" content="interact HTMLonly"> - <meta name="assert" content="The stylesheet's encoding is determined by the user set referring document's encoding."> + <link href="http://www.microsoft.com/" rel="author" title="Microsoft"> + <link href="http://www.w3.org/TR/CSS21/syndata.html#charset" rel="help"> + <meta content="interact HTMLonly" name="flags"> + <meta content="The stylesheet's encoding is determined by the user set referring document's encoding." name="assert"> <style type="text/css"> @import "support/at-charset-013.css"; div @@ -17,7 +16,8 @@ <body> <p>PREREQUISITE: Set the encoding of the page to "Shift-JIS".</p> <p>Test passes if both lines of "Filler Text" below are green.</p> - <div class="平和">Filler Text</div> + <div class="平和">Filler Text</div> <div id="div2">Filler Text</div> - </body> -</html>
\ No newline at end of file + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-005.htm b/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-005.htm index 515b3e36a7f..8cbaa7b8df9 100644 --- a/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-005.htm +++ b/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-005.htm @@ -1,12 +1,11 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> -<html> - <head> +<!DOCTYPE html> +<html><head> <title>CSS Test: Case sensitivity of attributes and attribute values in HTML 4.01</title> - <link rel="author" title="Microsoft" href="http://www.microsoft.com/"> - <link rel="help" href="http://www.w3.org/TR/CSS21/selector.html#attribute-selectors"> - <link rel="match" href="reference/filler-text-below-green.htm"> - <meta name="flags" content="HTMLonly"> - <meta name="assert" content="HTML 4.01 attribute names are not case sensitive."> + <link href="http://www.microsoft.com/" rel="author" title="Microsoft"> + <link href="http://www.w3.org/TR/CSS21/selector.html#attribute-selectors" rel="help"> + <link href="reference/filler-text-below-green.htm" rel="match"> + <meta content="HTMLonly" name="flags"> + <meta content="HTML 4.01 attribute names are not case sensitive." name="assert"> <style type="text/css"> div[CLASS] { @@ -17,5 +16,6 @@ <body> <p>Test passes if the "Filler Text" below is green.</p> <div class="div1">Filler Text</div> - </body> -</html>
\ No newline at end of file + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-007.htm b/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-007.htm index 4eac5bc0f8a..a1488a799fa 100644 --- a/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-007.htm +++ b/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-007.htm @@ -1,12 +1,11 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> -<html> - <head> +<!DOCTYPE html> +<html><head> <title>CSS Test: lang attribute selector - att=val</title> - <link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> - <link rel="author" title="Eira Monstad, Opera Software ASA" href="mailto:public-testsuites@opera.com"> - <link rel="help" href="http://www.w3.org/TR/CSS21/selector.html#attribute-selectors"> - <meta name="flags" content="HTMLonly"> - <meta name="assert" content="lang attribute selector with att=val in HTML should not be case sensitive, and should only match when att is exactly val"> + <link href="mailto:ishida@w3.org" rel="author" title="Richard Ishida"> + <link href="mailto:public-testsuites@opera.com" rel="author" title="Eira Monstad, Opera Software ASA"> + <link href="http://www.w3.org/TR/CSS21/selector.html#attribute-selectors" rel="help"> + <meta content="HTMLonly" name="flags"> + <meta content="lang attribute selector with att=val in HTML should not be case sensitive, and should only match when att is exactly val" name="assert"> <style type="text/css"> div[lang = "es"] { color:white;background-color:green; } p[lang = "es"] { color:white;background-color:green; } @@ -37,5 +36,6 @@ <p lang="de">This line should NOT be green <em>and this should not be green either</em></p> -</body> -</html>
\ No newline at end of file + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-010.htm b/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-010.htm index 0844764993e..3cbaf6dc039 100644 --- a/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-010.htm +++ b/tests/wpt/css-tests/css21_dev/html4/attribute-value-selector-010.htm @@ -1,12 +1,11 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> -<html> - <head> +<!DOCTYPE html> +<html><head> <title>CSS Test: lang attribute selector - att |= val</title> - <link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> - <link rel="author" title="Eira Monstad, Opera Software ASA" href="mailto:public-testsuites@opera.com"> - <link rel="help" href="http://www.w3.org/TR/CSS21/selector.html#attribute-selectors"> - <meta name="flags" content="HTMLonly"> - <meta name="assert" content="lang attribute selector with 'att |= val' in HTML should not be case sensitive, and match hyphen-separated list"> + <link href="mailto:ishida@w3.org" rel="author" title="Richard Ishida"> + <link href="mailto:public-testsuites@opera.com" rel="author" title="Eira Monstad, Opera Software ASA"> + <link href="http://www.w3.org/TR/CSS21/selector.html#attribute-selectors" rel="help"> + <meta content="HTMLonly" name="flags"> + <meta content="lang attribute selector with 'att |= val' in HTML should not be case sensitive, and match hyphen-separated list" name="assert"> <style type="text/css"> div[lang |= "es"] { color:white;background-color:green; } p[lang |= "es"] { color:white;background-color:green; } @@ -37,5 +36,6 @@ <div lang="fr">This line should NOT be green<p>This line should NOT be green</p></div> <p lang="de">This line should NOT be green <em>and this should not be green either</em></p> -</body> -</html>
\ No newline at end of file + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/html4/basic-html-table-001.htm b/tests/wpt/css-tests/css21_dev/html4/basic-html-table-001.htm index f7439117694..ffd82cae3be 100644 --- a/tests/wpt/css-tests/css21_dev/html4/basic-html-table-001.htm +++ b/tests/wpt/css-tests/css21_dev/html4/basic-html-table-001.htm @@ -5,7 +5,6 @@ <link rel="author" title="Microsoft" href="http://www.microsoft.com/"> <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#table-display"> <link rel="help" href="http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.2"> - <meta name="flags" content="HTMLonly"> <meta name="assert" content="HTML table elements are supported."> <style type="text/css"> caption, td, th diff --git a/tests/wpt/css-tests/css21_dev/html4/case-sensitive-006.htm b/tests/wpt/css-tests/css21_dev/html4/case-sensitive-006.htm index 211bfecd71b..47db0818931 100644 --- a/tests/wpt/css-tests/css21_dev/html4/case-sensitive-006.htm +++ b/tests/wpt/css-tests/css21_dev/html4/case-sensitive-006.htm @@ -1,12 +1,11 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> -<html> - <head> +<!DOCTYPE html> +<html><head> <title>CSS Test: Case sensitivity with element selectors</title> - <link rel="author" title="Microsoft" href="http://www.microsoft.com/"> - <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#characters"> - <link rel="match" href="reference/filler-text-below-green.htm"> - <meta name="flags" content="HTMLonly"> - <meta name="assert" content="Element selectors are case-insensitive in HTML."> + <link href="http://www.microsoft.com/" rel="author" title="Microsoft"> + <link href="http://www.w3.org/TR/CSS21/syndata.html#characters" rel="help"> + <link href="reference/filler-text-below-green.htm" rel="match"> + <meta content="HTMLonly" name="flags"> + <meta content="Element selectors are case-insensitive in HTML." name="assert"> <style type="text/css"> DIV { @@ -17,5 +16,6 @@ <body> <p>Test passes if the "Filler Text" below is green.</p> <div>Filler Text</div> - </body> -</html>
\ No newline at end of file + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-1.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-1.htm index 526aaf27956..c11f162224e 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-1.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-1.htm @@ -30,7 +30,10 @@ <tbody id="s1"> <tr><th colspan="4" scope="rowgroup"> <a href="#s1">+</a> - <a href="https://www.w3.org/TR/CSS21/about.html">1 About the CSS 2.1 Specification</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/about.html#q1.0">1 About the CSS 2.1 Specification</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s1.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s1.1"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-10.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-10.htm index df3dd53343a..5e3e6fbb972 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-10.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-10.htm @@ -30,7 +30,10 @@ <tbody id="s10"> <tr><th colspan="4" scope="rowgroup"> <a href="#s10">+</a> - <a href="https://www.w3.org/TR/CSS21/visudet.html">10 Visual formatting model details</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/visudet.html#q10.0">10 Visual formatting model details</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s10.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s10.1"> @@ -4050,9 +4053,9 @@ <a href="abs-pos-non-replaced-vlr-059.htm">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.htm">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> @@ -4578,9 +4581,9 @@ <a href="abs-pos-non-replaced-vrl-058.htm">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.htm">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-11.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-11.htm index 760d7f3e8bc..9de31813e8f 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-11.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-11.htm @@ -30,7 +30,10 @@ <tbody id="s11"> <tr><th colspan="4" scope="rowgroup"> <a href="#s11">+</a> - <a href="https://www.w3.org/TR/CSS21/visufx.html">11 Visual effects</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/visufx.html#q11.0">11 Visual effects</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s11.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s11.1"> @@ -616,7 +619,7 @@ </ul> </td> </tr> - <tr id="overflow-html-body-001-11.1.1" class="HTMLonly"> + <tr id="overflow-html-body-001-11.1.1" class=""> <td> <a href="overflow-html-body-001.htm">overflow-html-body-001</a></td> <td></td> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-12.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-12.htm index 5c274d027a9..cc9b5a3d201 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-12.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-12.htm @@ -33,6 +33,9 @@ <a href="https://www.w3.org/TR/CSS21/generate.html#generated-text">12 Generated content, automatic numbering, and lists</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="s12.#annoying-warning"> + <!-- 0 tests --> + </tbody> <tbody id="s12.#x0"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-13.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-13.htm index bac74c8d6d6..364547f6bad 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-13.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-13.htm @@ -33,6 +33,9 @@ <a href="https://www.w3.org/TR/CSS21/page.html#the-page">13 Paged media</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="s13.#annoying-warning"> + <!-- 0 tests --> + </tbody> <tbody id="s13.1"> <tr><th colspan="4" scope="rowgroup"> <a href="#s13.1">+</a> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-14.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-14.htm index c7f73d321e7..727232f4c55 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-14.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-14.htm @@ -30,7 +30,10 @@ <tbody id="s14"> <tr><th colspan="4" scope="rowgroup"> <a href="#s14">+</a> - <a href="https://www.w3.org/TR/CSS21/colors.html">14 Colors and Backgrounds</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/colors.html#q14.0">14 Colors and Backgrounds</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s14.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s14.1"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-15.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-15.htm index 94be9e9a4af..d34a963ea35 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-15.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-15.htm @@ -30,7 +30,10 @@ <tbody id="s15"> <tr><th colspan="4" scope="rowgroup"> <a href="#s15">+</a> - <a href="https://www.w3.org/TR/CSS21/fonts.html">15 Fonts</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/fonts.html#q15.0">15 Fonts</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s15.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s15.1"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-16.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-16.htm index cda03af4c23..c58cd143c27 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-16.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-16.htm @@ -30,7 +30,10 @@ <tbody id="s16"> <tr><th colspan="4" scope="rowgroup"> <a href="#s16">+</a> - <a href="https://www.w3.org/TR/CSS21/text.html">16 Text</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/text.html#q16.0">16 Text</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s16.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s16.1"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-17.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-17.htm index 01082f1314a..5a6944d231a 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-17.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-17.htm @@ -30,7 +30,10 @@ <tbody id="s17"> <tr><th colspan="4" scope="rowgroup"> <a href="#s17">+</a> - <a href="https://www.w3.org/TR/CSS21/tables.html">17 Tables</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/tables.html#q17.0">17 Tables</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s17.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s17.1"> @@ -137,7 +140,7 @@ </ul> </td> </tr> - <tr id="table-intro-example-001-17.1" class="HTMLonly"> + <tr id="table-intro-example-001-17.1" class=""> <td> <a href="table-intro-example-001.htm">table-intro-example-001</a></td> <td></td> @@ -148,7 +151,7 @@ </ul> </td> </tr> - <tr id="table-intro-example-002-17.1" class="HTMLonly"> + <tr id="table-intro-example-002-17.1" class=""> <td> <a href="table-intro-example-002.htm">table-intro-example-002</a></td> <td></td> @@ -159,7 +162,7 @@ </ul> </td> </tr> - <tr id="table-intro-example-003-17.1" class="HTMLonly"> + <tr id="table-intro-example-003-17.1" class=""> <td> <a href="table-intro-example-003.htm">table-intro-example-003</a></td> <td></td> @@ -170,7 +173,7 @@ </ul> </td> </tr> - <tr id="table-intro-example-004-17.1" class="HTMLonly"> + <tr id="table-intro-example-004-17.1" class=""> <td> <a href="table-intro-example-004.htm">table-intro-example-004</a></td> <td></td> @@ -271,7 +274,7 @@ </ul> </td> </tr> - <tr id="basic-html-table-001-17.2" class="HTMLonly"> + <tr id="basic-html-table-001-17.2" class=""> <td> <a href="basic-html-table-001.htm">basic-html-table-001</a></td> <td></td> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-18.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-18.htm index ef5fc4b3472..c0c31975e83 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-18.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-18.htm @@ -30,7 +30,10 @@ <tbody id="s18"> <tr><th colspan="4" scope="rowgroup"> <a href="#s18">+</a> - <a href="https://www.w3.org/TR/CSS21/ui.html">18 User interface</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/ui.html#q18.0">18 User interface</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s18.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s18.1"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-2.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-2.htm index 6f59da1e15c..a3c5fa70035 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-2.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-2.htm @@ -30,7 +30,10 @@ <tbody id="s2"> <tr><th colspan="4" scope="rowgroup"> <a href="#s2">+</a> - <a href="https://www.w3.org/TR/CSS21/intro.html">2 Introduction to CSS 2.1</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/intro.html#q2.0">2 Introduction to CSS 2.1</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s2.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s2.1"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-3.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-3.htm index 01816f2da4a..20a4f79e853 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-3.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-3.htm @@ -30,7 +30,10 @@ <tbody id="s3"> <tr><th colspan="4" scope="rowgroup"> <a href="#s3">+</a> - <a href="https://www.w3.org/TR/CSS21/conform.html">3 Conformance: Requirements and Recommendations</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/conform.html#q3.0">3 Conformance: Requirements and Recommendations</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s3.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s3.1"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-4.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-4.htm index 247edefaf60..c148945d845 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-4.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-4.htm @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Syntax and basic data types (439 tests)</h2> + <h2>Syntax and basic data types (431 tests)</h2> <table width="100%"> <col id="test-column"> <col id="refs-column"> @@ -30,96 +30,11 @@ <tbody id="s4"> <tr><th colspan="4" scope="rowgroup"> <a href="#s4">+</a> - <a href="https://www.w3.org/TR/CSS21/syndata.html">4 Syntax and basic data types</a></th></tr> - <!-- 8 tests --> - <tr id="counters-001-4" class=""> - <td> - <a href="counters-001.htm">counters-001</a></td> - <td><a href="reference/counters-001-ref.htm">=</a> </td> - <td></td> - <td>Parsing counter functions with just the identifier - <ul class="assert"> - <li>Counters can be referred to using only the identifier.</li> - </ul> - </td> - </tr> - <tr id="counters-002-4" class="invalid"> - <td> - <a href="counters-002.htm">counters-002</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Parsing invalid counter functions - Too many arguments - <ul class="assert"> - <li>A counter is invalid if it has too many arguments.</li> - </ul> - </td> - </tr> - <tr id="ident-014-4" class=""> - <td> - <a href="ident-014.htm">ident-014</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Selector attributes and hyphens - <ul class="assert"> - <li>Attribute selectors can begin with hyphens.</li> - </ul> - </td> - </tr> - <tr id="ident-015-4" class=""> - <td> - <a href="ident-015.htm">ident-015</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Attribute selectors and underscores - <ul class="assert"> - <li>Attribute selectors can begin with underscores.</li> - </ul> - </td> - </tr> - <tr id="ident-016-4" class=""> - <td> - <a href="ident-016.htm">ident-016</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Attribute selectors with hyphens and underscores - <ul class="assert"> - <li>Attribute selectors are valid if they begin with hyphens and then underscores.</li> - </ul> - </td> - </tr> - <tr id="ident-017-4" class="invalid"> - <td> - <a href="ident-017.htm">ident-017</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Attribute selection with digits - <ul class="assert"> - <li>Attribute selectors cannot begin with digits.</li> - </ul> - </td> - </tr> - <tr id="ident-018-4" class="invalid"> - <td> - <a href="ident-018.htm">ident-018</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Attribute selectors starting with hyphens and digits - <ul class="assert"> - <li>Attribute selectors cannot begin with hyphens then digits.</li> - </ul> - </td> - </tr> - <tr id="ident-019-4" class=""> - <td> - <a href="ident-019.htm">ident-019</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Attribute selectors starting with underscore and digits - <ul class="assert"> - <li>Attribute selectors can begin with underscore then digits.</li> - </ul> - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/syndata.html#q4.0">4 Syntax and basic data types</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s4.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s4.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-5.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-5.htm index 88a32856ae8..30c9d15c272 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-5.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-5.htm @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Selectors (677 tests)</h2> + <h2>Selectors (668 tests)</h2> <table width="100%"> <col id="test-column"> <col id="refs-column"> @@ -30,80 +30,11 @@ <tbody id="s5"> <tr><th colspan="4" scope="rowgroup"> <a href="#s5">+</a> - <a href="https://www.w3.org/TR/CSS21/selector.html">5 Selectors</a></th></tr> - <!-- 9 tests --> - <tr id="cascade-import-dynamic-001-5" class=""> - <td> - <a href="cascade-import-dynamic-001.htm">cascade-import-dynamic-001</a></td> - <td><a href="reference/ref-this-text-should-be-green.htm">=</a> </td> - <td></td> - <td>Dynamic sheet append (<style>) - </td> - </tr> - <tr id="cascade-import-dynamic-002-5" class=""> - <td> - <a href="cascade-import-dynamic-002.htm">cascade-import-dynamic-002</a></td> - <td><a href="reference/ref-this-text-should-be-green.htm">=</a> </td> - <td></td> - <td>Dynamic sheet append (<link>) - </td> - </tr> - <tr id="cascade-import-dynamic-003-5" class=""> - <td> - <a href="cascade-import-dynamic-003.htm">cascade-import-dynamic-003</a></td> - <td><a href="reference/ref-this-text-should-be-green.htm">=</a> </td> - <td></td> - <td>Dynamic sheet insertion (<style>) - </td> - </tr> - <tr id="cascade-import-dynamic-004-5" class=""> - <td> - <a href="cascade-import-dynamic-004.htm">cascade-import-dynamic-004</a></td> - <td><a href="reference/ref-this-text-should-be-green.htm">=</a> </td> - <td></td> - <td>Dynamic sheet insertion (<link>) - </td> - </tr> - <tr id="cascade-import-dynamic-005-5" class=""> - <td> - <a href="cascade-import-dynamic-005.htm">cascade-import-dynamic-005</a></td> - <td><a href="reference/ref-this-text-should-be-green.htm">=</a> </td> - <td></td> - <td>Dynamic sheet deletion (<style>) - </td> - </tr> - <tr id="cascade-import-dynamic-006-5" class=""> - <td> - <a href="cascade-import-dynamic-006.htm">cascade-import-dynamic-006</a></td> - <td><a href="reference/ref-this-text-should-be-green.htm">=</a> </td> - <td></td> - <td>Dynamic sheet deletion (<link>) - </td> - </tr> - <tr id="cascade-import-dynamic-control-5" class=""> - <td> - <a href="cascade-import-dynamic-control.htm">cascade-import-dynamic-control</a></td> - <td><a href="reference/ref-this-text-should-be-green.htm">=</a> </td> - <td></td> - <td>Control test - </td> - </tr> - <tr id="html-precedence-004-5" class="userstyle"> - <td> - <a href="html-precedence-004.htm">html-precedence-004</a></td> - <td><a href="reference/html-precedence-004-ref.htm">=</a> </td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User Stylesheets and non-CSS Presentational Hints - </td> - </tr> - <tr id="html-precedence-005-5" class="userstyle"> - <td> - <a href="html-precedence-005.htm">html-precedence-005</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User Stylesheets and non-CSS Presentational Hints - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/selector.html#q5.0">5 Selectors</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s5.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s5.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-6.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-6.htm index 7cdb0ef2d21..04ea8886471 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-6.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-6.htm @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Assigning property values, Cascading, and Inheritance (145 tests)</h2> + <h2>Assigning property values, Cascading, and Inheritance (117 tests)</h2> <table width="100%"> <col id="test-column"> <col id="refs-column"> @@ -30,316 +30,11 @@ <tbody id="s6"> <tr><th colspan="4" scope="rowgroup"> <a href="#s6">+</a> - <a href="https://www.w3.org/TR/CSS21/cascade.html">6 Assigning property values, Cascading, and Inheritance</a></th></tr> - <!-- 28 tests --> - <tr id="at-import-001-6" class=""> - <td> - <a href="at-import-001.htm">at-import-001</a></td> - <td></td> - <td></td> - <td>@import not as the first declaration - <ul class="assert"> - <li>An @import is ignored if it is not the first statement in a style block.</li> - </ul> - </td> - </tr> - <tr id="at-import-002-6" class=""> - <td> - <a href="at-import-002.htm">at-import-002</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Importing external stylesheets with @import - <ul class="assert"> - <li>An @import used to import external stylesheets.</li> - </ul> - </td> - </tr> - <tr id="at-import-003-6" class=""> - <td> - <a href="at-import-003.htm">at-import-003</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Importing styles using @import with a string - <ul class="assert"> - <li>An @import used with just a string is interpreted as if it had url(...) around it.</li> - </ul> - </td> - </tr> - <tr id="at-import-004-6" class=""> - <td> - <a href="at-import-004.htm">at-import-004</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td></td> - <td>Media dependency on @import set to 'print' - <ul class="assert"> - <li>Specifying a media-dependency of print does not apply rules to the user agent display.</li> - </ul> - </td> - </tr> - <tr id="at-import-005-6" class=""> - <td> - <a href="at-import-005.htm">at-import-005</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Media dependency on @import set to 'all' - <ul class="assert"> - <li>Specifying the media-dependency of 'all' applies to all media types including user agent display.</li> - </ul> - </td> - </tr> - <tr id="at-import-006-6" class=""> - <td> - <a href="at-import-006.htm">at-import-006</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Media dependency on @import set to 'screen' - <ul class="assert"> - <li>Specifying the media-dependent import rules to 'screen' applies to user agent display.</li> - </ul> - </td> - </tr> - <tr id="at-import-007-6" class=""> - <td> - <a href="at-import-007.htm">at-import-007</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>@import with @charset - <ul class="assert"> - <li>An @import is valid after @charset.</li> - </ul> - </td> - </tr> - <tr id="html-precedence-002-6" class=""> - <td> - <a href="html-precedence-002.htm">html-precedence-002</a></td> - <td></td> - <td></td> - <td>Universal selector precedence - <ul class="assert"> - <li>The universal selector and the 'color' attribute have the same specificity. The universal selector is applied since CSS takes precedence.</li> - </ul> - </td> - </tr> - <tr id="html-precedence-003-6" class="userstyle"> - <td> - <a href="html-precedence-003.htm">html-precedence-003</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User style sheet precedence - <ul class="assert"> - <li>The 'font' element's 'color' attribute trumps the user stylesheet's universal selector. They have the same specificity but the font element is a virtual author rule.</li> - </ul> - </td> - </tr> - <tr id="inherited-value-002-6" class="ahem"> - <td> - <a href="inherited-value-002.htm">inherited-value-002</a></td> - <td></td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td> - <td>Inheriting computed values - <ul class="assert"> - <li>The computed value of a font-size with a percentage is the percentage of its parent's font-size value. A nested element which also has a percentage applies the parents' specified value (which is inherited).</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-001-6" class="userstyle"> - <td> - <a href="user-stylesheet-001.htm">user-stylesheet-001</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User defined stylesheet can be applied - <ul class="assert"> - <li>User stylesheet can be applied to the page.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-002-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-002.htm">user-stylesheet-002</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User defined stylesheet can be applied and persisted - <ul class="assert"> - <li>The user stylesheet is still applied after close and reopen the user agent window.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-003-6" class="userstyle"> - <td> - <a href="user-stylesheet-003.htm">user-stylesheet-003</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Rules with normal declarations in an user defined stylesheet can be overriden by rules with normal declarations from author in a style block - <ul class="assert"> - <li>A CSS rule (with normal - not !important - declarations) in an author style sheet have more weight than a CSS rule (with normal - not !important -declarations) in an user style sheet.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-004-6" class="userstyle"> - <td> - <a href="user-stylesheet-004.htm">user-stylesheet-004</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Rules with normal declarations in an user defined stylesheet can be overriden by normal declarations from author in an inline style attribute - <ul class="assert"> - <li>A normal - not !important - declaration in an inline style from author have more weight than a CSS rule (with normal - not !important -) declarations in an user style sheet.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-005-6" class="userstyle"> - <td> - <a href="user-stylesheet-005.htm">user-stylesheet-005</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Descendant selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The descendant selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-006-6" class="userstyle"> - <td> - <a href="user-stylesheet-006.htm">user-stylesheet-006</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Child selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The child selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-007-6" class="userstyle"> - <td> - <a href="user-stylesheet-007.htm">user-stylesheet-007</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Adjacent sibling selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The adjacent sibling selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-008-6" class="userstyle"> - <td> - <a href="user-stylesheet-008.htm">user-stylesheet-008</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Attribute selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The attribute selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-009-6" class="userstyle"> - <td> - <a href="user-stylesheet-009.htm">user-stylesheet-009</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>ID selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The ID selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-010-6" class="userstyle"> - <td> - <a href="user-stylesheet-010.htm">user-stylesheet-010</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-class selector :first-child defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :first-child defined in user stylesheet is applied to the first child of an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-011-6" class="userstyle"> - <td> - <a href="user-stylesheet-011.htm">user-stylesheet-011</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element first-line selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :first-line defined in user stylesheet is applied to the first line of an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-012-6" class="history userstyle"> - <td> - <a href="user-stylesheet-012.htm">user-stylesheet-012</a></td> - <td></td> - <td><abbr class="history" title="Requires session history">History</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Link defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :link defined in user stylesheet is applied to all links.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-013-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-013.htm">user-stylesheet-013</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Visited selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :visited defined in user stylesheet is applied when a link has already been visited.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-014-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-014.htm">user-stylesheet-014</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Hover defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :hover defined in user stylesheet is applied when the mouse is above an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-015-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-015.htm">user-stylesheet-015</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-class :active defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :active defined in user stylesheet is implemented.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-016-6" class="userstyle"> - <td> - <a href="user-stylesheet-016.htm">user-stylesheet-016</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element first-letter selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :first-letter defined in user stylesheet is applied to the first letter of an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-017-6" class="userstyle"> - <td> - <a href="user-stylesheet-017.htm">user-stylesheet-017</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element before selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :before defined in user stylesheet is inserted before an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-018-6" class="userstyle"> - <td> - <a href="user-stylesheet-018.htm">user-stylesheet-018</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element after selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :after defined in user stylesheet is inserted after an element.</li> - </ul> - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/cascade.html#q6.0">6 Assigning property values, Cascading, and Inheritance</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s6.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s6.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-7.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-7.htm index 8832ea24e00..ea11d5cd967 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-7.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-7.htm @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Media types (22 tests)</h2> + <h2>Media types (5 tests)</h2> <table width="100%"> <col id="test-column"> <col id="refs-column"> @@ -30,195 +30,11 @@ <tbody id="s7"> <tr><th colspan="4" scope="rowgroup"> <a href="#s7">+</a> - <a href="https://www.w3.org/TR/CSS21/media.html">7 Media types</a></th></tr> - <!-- 17 tests --> - <tr id="media-dependency-001-7" class=""> - <td> - <a href="media-dependency-001.htm">media-dependency-001</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>@media and target mediums - <ul class="assert"> - <li>@media with a target medium applies styles on that target medium (screen).</li> - </ul> - </td> - </tr> - <tr id="media-dependency-002-7" class=""> - <td> - <a href="media-dependency-002.htm">media-dependency-002</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>@import and target mediums - <ul class="assert"> - <li>@media with a target medium applies styles on that target medium (screen).</li> - </ul> - </td> - </tr> - <tr id="media-dependency-003-7" class=""> - <td> - <a href="media-dependency-003.htm">media-dependency-003</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Link tags and target mediums - <ul class="assert"> - <li>Link with a target medium applies styles on that target medium (screen).</li> - </ul> - </td> - </tr> - <tr id="media-dependency-004-7" class=""> - <td> - <a href="media-dependency-004.htm">media-dependency-004</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Case-insensitive media types - <ul class="assert"> - <li>Media types are case-insensitive.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-005-7" class="invalid"> - <td> - <a href="media-dependency-005.htm">media-dependency-005</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Ignoring bad media types with @import - <ul class="assert"> - <li>User agent ignores media types it does not understand with @import.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-006-7" class="invalid"> - <td> - <a href="media-dependency-006.htm">media-dependency-006</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Ignoring bad media types with @media - <ul class="assert"> - <li>User agent ignores media types it does not understand with @media.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-007-7" class=""> - <td> - <a href="media-dependency-007.htm">media-dependency-007</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td></td> - <td>Non-matching target mediums - <ul class="assert"> - <li>The @media block does not apply because it does not match the target medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-008-7" class=""> - <td> - <a href="media-dependency-008.htm">media-dependency-008</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td></td> - <td>Non-matching target mediums and @import - <ul class="assert"> - <li>The @import command does not apply because it does not match the target medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-009-7" class=""> - <td> - <a href="media-dependency-009.htm">media-dependency-009</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Matching the 'All' target medium - <ul class="assert"> - <li>The 'all' media type applies to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-010-7" class=""> - <td> - <a href="media-dependency-010.htm">media-dependency-010</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td></td> - <td>Non-matching target mediums (braille) - <ul class="assert"> - <li>The 'braille' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-011-7" class=""> - <td> - <a href="media-dependency-011.htm">media-dependency-011</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td></td> - <td>Non-matching target mediums (embossed) - <ul class="assert"> - <li>The 'embossed' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-012-7" class=""> - <td> - <a href="media-dependency-012.htm">media-dependency-012</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td></td> - <td>Non-matching target mediums (handheld) - <ul class="assert"> - <li>The 'handheld' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-013-7" class=""> - <td> - <a href="media-dependency-013.htm">media-dependency-013</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td></td> - <td>Non-matching target mediums (projection) - <ul class="assert"> - <li>The 'projection' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-014-7" class=""> - <td> - <a href="media-dependency-014.htm">media-dependency-014</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td></td> - <td>Non-matching target mediums (speech) - <ul class="assert"> - <li>The 'speech' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-015-7" class=""> - <td> - <a href="media-dependency-015.htm">media-dependency-015</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td></td> - <td>Non-matching target mediums (tty) - <ul class="assert"> - <li>The 'tty' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-016-7" class=""> - <td> - <a href="media-dependency-016.htm">media-dependency-016</a></td> - <td><a href="reference/no-red-filler-text-ref.htm">=</a> </td> - <td></td> - <td>Non-matching target mediums (tv) - <ul class="assert"> - <li>The 'tv' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-017-7" class=""> - <td> - <a href="media-dependency-017.htm">media-dependency-017</a></td> - <td><a href="reference/filler-text-below-green.htm">=</a> </td> - <td></td> - <td>Multiple target mediums - <ul class="assert"> - <li>An '@media' rule specifies the target media types separated by commas.</li> - </ul> - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/media.html#q7.0">7 Media types</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s7.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s7.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-8.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-8.htm index 9bfb23d9a95..30e3e8c279f 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-8.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-8.htm @@ -33,6 +33,9 @@ <a href="https://www.w3.org/TR/CSS21/box.html#box-model">8 Box model</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="s8.#annoying-warning"> + <!-- 0 tests --> + </tbody> <tbody id="s8.1"> <tr><th colspan="4" scope="rowgroup"> <a href="#s8.1">+</a> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-9.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-9.htm index 21bd6a382a8..bdddc615005 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-9.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-9.htm @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Visual formatting model (1247 tests)</h2> + <h2>Visual formatting model (1246 tests)</h2> <table width="100%"> <col id="test-column"> <col id="refs-column"> @@ -30,16 +30,11 @@ <tbody id="s9"> <tr><th colspan="4" scope="rowgroup"> <a href="#s9">+</a> - <a href="https://www.w3.org/TR/CSS21/visuren.html">9 Visual formatting model</a></th></tr> - <!-- 1 tests --> - <tr id="c5526c-display-000-9" class=""> - <td> - <a href="c5526c-display-000.htm">c5526c-display-000</a></td> - <td></td> - <td></td> - <td>display/box/float/clear test - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/visuren.html#q9.0">9 Visual formatting model</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s9.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s9.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-A.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-A.htm index 3fdde888e57..784edbb8a65 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-A.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-A.htm @@ -30,7 +30,10 @@ <tbody id="sA"> <tr><th colspan="4" scope="rowgroup"> <a href="#sA">+</a> - <a href="https://www.w3.org/TR/CSS21/aural.html">A Aural style sheets</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/aural.html#q19.0">A Aural style sheets</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sA.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sA.1"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-B.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-B.htm index 035b229cd65..00ba706167b 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-B.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-B.htm @@ -30,7 +30,10 @@ <tbody id="sB"> <tr><th colspan="4" scope="rowgroup"> <a href="#sB">+</a> - <a href="https://www.w3.org/TR/CSS21/refs.html">B Bibliography</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/refs.html#q20.0">B Bibliography</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sB.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sB.1"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-C.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-C.htm index 6ce8a92d6f8..280e4ecac7f 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-C.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-C.htm @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Changes (5 tests)</h2> + <h2>Changes (0 tests)</h2> <table width="100%"> <col id="test-column"> <col id="refs-column"> @@ -30,7 +30,10 @@ <tbody id="sC"> <tr><th colspan="4" scope="rowgroup"> <a href="#sC">+</a> - <a href="https://www.w3.org/TR/CSS21/changes.html">C Changes</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/changes.html#q21.0">C Changes</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sC.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sC.1"> @@ -45,7 +48,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a4.3.6">C.1.1 Section 4.3.6 Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.1.#q2"> + <tbody id="sC.1.1.#q21.2"> <!-- 0 tests --> </tbody> <tbody id="sC.1.2"> @@ -54,7 +57,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a9.2.4">C.1.2 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.2.#q3"> + <tbody id="sC.1.2.#q21.3"> <!-- 0 tests --> </tbody> <tbody id="sC.1.3"> @@ -63,7 +66,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a12.2">C.1.3 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.3.#q4"> + <tbody id="sC.1.3.#q21.4"> <!-- 0 tests --> </tbody> <tbody id="sC.1.4"> @@ -72,7 +75,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a16.6">C.1.4 Section 16.6 White space: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.4.#q5"> + <tbody id="sC.1.4.#q21.5"> <!-- 0 tests --> </tbody> <tbody id="sC.1.5"> @@ -81,7 +84,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a18.1">C.1.5 Section 18.1 Cursors: the 'cursor' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.5.#q6"> + <tbody id="sC.1.5.#q21.6"> <!-- 0 tests --> </tbody> <tbody id="sC.2"> @@ -96,7 +99,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.1">C.2.1 Section 1.1 CSS 2.1 vs CSS 2</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.1.#q8"> + <tbody id="sC.2.1.#q21.8"> <!-- 0 tests --> </tbody> <tbody id="sC.2.2"> @@ -105,7 +108,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.2">C.2.2 Section 1.2 Reading the specification</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.2.#q9"> + <tbody id="sC.2.2.#q21.9"> <!-- 0 tests --> </tbody> <tbody id="sC.2.3"> @@ -114,7 +117,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.3">C.2.3 Section 1.3 How the specification is organized</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.3.#q10"> + <tbody id="sC.2.3.#q21.10"> <!-- 0 tests --> </tbody> <tbody id="sC.2.4"> @@ -123,7 +126,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.2.1">C.2.4 Section 1.4.2.1 Value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.4.#q11"> + <tbody id="sC.2.4.#q21.11"> <!-- 0 tests --> </tbody> <tbody id="sC.2.5"> @@ -132,7 +135,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.2.6">C.2.5 Section 1.4.2.6 Media groups</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.5.#q12"> + <tbody id="sC.2.5.#q21.12"> <!-- 0 tests --> </tbody> <tbody id="sC.2.6"> @@ -141,7 +144,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.2.7">C.2.6 Section 1.4.2.7 Computed value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.6.#q13"> + <tbody id="sC.2.6.#q21.13"> <!-- 0 tests --> </tbody> <tbody id="sC.2.7"> @@ -150,7 +153,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.4">C.2.7 Section 1.4.4 Notes and examples</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.7.#q14"> + <tbody id="sC.2.7.#q21.14"> <!-- 0 tests --> </tbody> <tbody id="sC.2.8"> @@ -159,7 +162,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.5">C.2.8 Section 1.5 Acknowledgments</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.8.#q15"> + <tbody id="sC.2.8.#q21.15"> <!-- 0 tests --> </tbody> <tbody id="sC.2.9"> @@ -168,7 +171,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c3.2">C.2.9 Section 3.2 Conformance</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.9.#q16"> + <tbody id="sC.2.9.#q21.16"> <!-- 0 tests --> </tbody> <tbody id="sC.2.10"> @@ -177,7 +180,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c3.3">C.2.10 Section 3.3 Error Conditions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.10.#q17"> + <tbody id="sC.2.10.#q21.17"> <!-- 0 tests --> </tbody> <tbody id="sC.2.11"> @@ -186,7 +189,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.1.1">C.2.11 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.11.#q18"> + <tbody id="sC.2.11.#q21.18"> <!-- 0 tests --> </tbody> <tbody id="sC.2.11.#underscore"> @@ -198,7 +201,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.1.3">C.2.12 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.12.#q19"> + <tbody id="sC.2.12.#q21.19"> <!-- 0 tests --> </tbody> <tbody id="sC.2.13"> @@ -207,7 +210,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.2">C.2.13 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.13.#q20"> + <tbody id="sC.2.13.#q21.20"> <!-- 0 tests --> </tbody> <tbody id="sC.2.14"> @@ -216,7 +219,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3">C.2.14 Section 4.3 Values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.14.#q21"> + <tbody id="sC.2.14.#q21.21"> <!-- 0 tests --> </tbody> <tbody id="sC.2.15"> @@ -225,7 +228,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.2">C.2.15 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.15.#q22"> + <tbody id="sC.2.15.#q21.22"> <!-- 0 tests --> </tbody> <tbody id="sC.2.16"> @@ -234,7 +237,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.4">C.2.16 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.16.#q23"> + <tbody id="sC.2.16.#q21.23"> <!-- 0 tests --> </tbody> <tbody id="sC.2.17"> @@ -243,7 +246,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.5">C.2.17 Section 4.3.5 Counters</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.17.#q24"> + <tbody id="sC.2.17.#q21.24"> <!-- 0 tests --> </tbody> <tbody id="sC.2.18"> @@ -252,7 +255,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.6">C.2.18 Section 4.3.6 Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.18.#q25"> + <tbody id="sC.2.18.#q21.25"> <!-- 0 tests --> </tbody> <tbody id="sC.2.19"> @@ -261,7 +264,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.8">C.2.19 Section 4.3.8 Unsupported Values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.19.#q26"> + <tbody id="sC.2.19.#q21.26"> <!-- 0 tests --> </tbody> <tbody id="sC.2.20"> @@ -270,7 +273,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.4">C.2.20 Section 4.4 CSS style sheet representation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.20.#q27"> + <tbody id="sC.2.20.#q21.27"> <!-- 0 tests --> </tbody> <tbody id="sC.2.21"> @@ -279,7 +282,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.8.1">C.2.21 Section 5.8.1 Matching attributes and attribute values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.21.#q28"> + <tbody id="sC.2.21.#q21.28"> <!-- 0 tests --> </tbody> <tbody id="sC.2.22"> @@ -288,7 +291,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.8.3">C.2.22 Section 5.8.3 Class selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.22.#q29"> + <tbody id="sC.2.22.#q21.29"> <!-- 0 tests --> </tbody> <tbody id="sC.2.23"> @@ -297,7 +300,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.9">C.2.23 Section 5.9 ID selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.23.#q30"> + <tbody id="sC.2.23.#q21.30"> <!-- 0 tests --> </tbody> <tbody id="sC.2.24"> @@ -306,7 +309,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.10">C.2.24 Section 5.10 Pseudo-elements and pseudo-classes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.24.#q31"> + <tbody id="sC.2.24.#q21.31"> <!-- 0 tests --> </tbody> <tbody id="sC.2.25"> @@ -315,7 +318,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.11.2">C.2.25 Section 5.11.2 The link pseudo-classes: :link and :visited</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.25.#q32"> + <tbody id="sC.2.25.#q21.32"> <!-- 0 tests --> </tbody> <tbody id="sC.2.26"> @@ -324,7 +327,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.11.4">C.2.26 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.26.#q33"> + <tbody id="sC.2.26.#q21.33"> <!-- 0 tests --> </tbody> <tbody id="sC.2.27"> @@ -333,7 +336,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.12.1">C.2.27 Section 5.12.1 The :first-line pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.27.#q34"> + <tbody id="sC.2.27.#q21.34"> <!-- 0 tests --> </tbody> <tbody id="sC.2.28"> @@ -342,7 +345,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.12.2">C.2.28 Section 5.12.2 The :first-letter pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.28.#q35"> + <tbody id="sC.2.28.#q21.35"> <!-- 0 tests --> </tbody> <tbody id="sC.2.29"> @@ -351,7 +354,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.1">C.2.29 Section 6.1 Specified, computed, and actual values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.29.#q36"> + <tbody id="sC.2.29.#q21.36"> <!-- 0 tests --> </tbody> <tbody id="sC.2.30"> @@ -360,7 +363,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.4.1">C.2.30 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.30.#q37"> + <tbody id="sC.2.30.#q21.37"> <!-- 0 tests --> </tbody> <tbody id="sC.2.31"> @@ -369,7 +372,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.4.3">C.2.31 Section 6.4.3 Calculating a selector's specificity</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.31.#q38"> + <tbody id="sC.2.31.#q21.38"> <!-- 0 tests --> </tbody> <tbody id="sC.2.32"> @@ -378,7 +381,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.4.4">C.2.32 Section 6.4.4 Precedence of non-CSS presentational hints</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.32.#q39"> + <tbody id="sC.2.32.#q21.39"> <!-- 0 tests --> </tbody> <tbody id="sC.2.33"> @@ -387,7 +390,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c7.3">C.2.33 Section 7.3 Recognized Media Types</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.33.#q40"> + <tbody id="sC.2.33.#q21.40"> <!-- 0 tests --> </tbody> <tbody id="sC.2.34"> @@ -396,7 +399,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c7.3.1">C.2.34 Section 7.3.1 Media Groups</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.34.#q41"> + <tbody id="sC.2.34.#q21.41"> <!-- 0 tests --> </tbody> <tbody id="sC.2.35"> @@ -405,7 +408,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.3">C.2.35 Section 8.3 Margin properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.35.#q42"> + <tbody id="sC.2.35.#q21.42"> <!-- 0 tests --> </tbody> <tbody id="sC.2.36"> @@ -414,7 +417,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.3.1">C.2.36 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.36.#q43"> + <tbody id="sC.2.36.#q21.43"> <!-- 0 tests --> </tbody> <tbody id="sC.2.37"> @@ -423,7 +426,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.4">C.2.37 Section 8.4 Padding properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.37.#q44"> + <tbody id="sC.2.37.#q21.44"> <!-- 0 tests --> </tbody> <tbody id="sC.2.38"> @@ -432,7 +435,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.5.2">C.2.38 Section 8.5.2 Border color</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.38.#q45"> + <tbody id="sC.2.38.#q21.45"> <!-- 0 tests --> </tbody> <tbody id="sC.2.39"> @@ -441,7 +444,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.5.3">C.2.39 Section 8.5.3 Border style</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.39.#q46"> + <tbody id="sC.2.39.#q21.46"> <!-- 0 tests --> </tbody> <tbody id="sC.2.40"> @@ -450,7 +453,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.6">C.2.40 Section 8.6 The box model for inline elements in bidirectional context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.40.#q47"> + <tbody id="sC.2.40.#q21.47"> <!-- 0 tests --> </tbody> <tbody id="sC.2.41"> @@ -459,7 +462,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.1.2">C.2.41 Section 9.1.2 Containing blocks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.41.#q48"> + <tbody id="sC.2.41.#q21.48"> <!-- 0 tests --> </tbody> <tbody id="sC.2.42"> @@ -468,7 +471,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.1.1">C.2.42 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.42.#q49"> + <tbody id="sC.2.42.#q21.49"> <!-- 0 tests --> </tbody> <tbody id="sC.2.43"> @@ -477,7 +480,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.2.1">C.2.43 Section 9.2.2.1 Anonymous inline boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.43.#q50"> + <tbody id="sC.2.43.#q21.50"> <!-- 0 tests --> </tbody> <tbody id="sC.2.44"> @@ -486,7 +489,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.3">C.2.44 Section 9.2.3 Run-in boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.44.#q51"> + <tbody id="sC.2.44.#q21.51"> <!-- 0 tests --> </tbody> <tbody id="sC.2.45"> @@ -495,7 +498,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.4">C.2.45 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.45.#q52"> + <tbody id="sC.2.45.#q21.52"> <!-- 0 tests --> </tbody> <tbody id="sC.2.46"> @@ -504,7 +507,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.3.1">C.2.46 Section 9.3.1 Choosing a positioning scheme</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.46.#q53"> + <tbody id="sC.2.46.#q21.53"> <!-- 0 tests --> </tbody> <tbody id="sC.2.47"> @@ -513,7 +516,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.3.2">C.2.47 Section 9.3.2 Box offsets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.47.#q54"> + <tbody id="sC.2.47.#q21.54"> <!-- 0 tests --> </tbody> <tbody id="sC.2.48"> @@ -522,7 +525,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.4.1">C.2.48 Section 9.4.1 Block formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.48.#q55"> + <tbody id="sC.2.48.#q21.55"> <!-- 0 tests --> </tbody> <tbody id="sC.2.49"> @@ -531,7 +534,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.4.2">C.2.49 Section 9.4.2 Inline formatting context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.49.#q56"> + <tbody id="sC.2.49.#q21.56"> <!-- 0 tests --> </tbody> <tbody id="sC.2.50"> @@ -540,7 +543,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.4.3">C.2.50 Section 9.4.3 Relative positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.50.#q57"> + <tbody id="sC.2.50.#q21.57"> <!-- 0 tests --> </tbody> <tbody id="sC.2.51"> @@ -549,7 +552,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.5">C.2.51 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.51.#q58"> + <tbody id="sC.2.51.#q21.58"> <!-- 0 tests --> </tbody> <tbody id="sC.2.52"> @@ -558,7 +561,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.5.1">C.2.52 Section 9.5.1 Positioning the float</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.52.#q59"> + <tbody id="sC.2.52.#q21.59"> <!-- 0 tests --> </tbody> <tbody id="sC.2.53"> @@ -567,7 +570,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.5.2">C.2.53 Section 9.5.2 Controlling flow next to floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.53.#q60"> + <tbody id="sC.2.53.#q21.60"> <!-- 0 tests --> </tbody> <tbody id="sC.2.54"> @@ -576,7 +579,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.7">C.2.54 Section 9.7 Relationships between 'display', 'position', and 'float'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.54.#q61"> + <tbody id="sC.2.54.#q21.61"> <!-- 0 tests --> </tbody> <tbody id="sC.2.55"> @@ -585,7 +588,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.9">C.2.55 Section 9.9 Layered presentation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.55.#q62"> + <tbody id="sC.2.55.#q21.62"> <!-- 0 tests --> </tbody> <tbody id="sC.2.56"> @@ -594,7 +597,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.10">C.2.56 Section 9.10 Text direction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.56.#q63"> + <tbody id="sC.2.56.#q21.63"> <!-- 0 tests --> </tbody> <tbody id="sC.2.57"> @@ -603,7 +606,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10">C.2.57 Chapter 10 Visual formatting model details</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.57.#q64"> + <tbody id="sC.2.57.#q21.64"> <!-- 0 tests --> </tbody> <tbody id="sC.2.58"> @@ -615,7 +618,7 @@ <tbody id="sC.2.58.#initial-containing-block"> <!-- 0 tests --> </tbody> - <tbody id="sC.2.58.#q65"> + <tbody id="sC.2.58.#q21.65"> <!-- 0 tests --> </tbody> <tbody id="sC.2.59"> @@ -624,7 +627,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.2">C.2.59 Section 10.2 Content width</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.59.#q66"> + <tbody id="sC.2.59.#q21.66"> <!-- 0 tests --> </tbody> <tbody id="sC.2.60"> @@ -633,7 +636,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3">C.2.60 Section 10.3 Calculating widths and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.60.#q67"> + <tbody id="sC.2.60.#q21.67"> <!-- 0 tests --> </tbody> <tbody id="sC.2.61"> @@ -642,7 +645,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.2">C.2.61 Section 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.61.#q68"> + <tbody id="sC.2.61.#q21.68"> <!-- 0 tests --> </tbody> <tbody id="sC.2.62"> @@ -651,7 +654,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.3">C.2.62 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.62.#q69"> + <tbody id="sC.2.62.#q21.69"> <!-- 0 tests --> </tbody> <tbody id="sC.2.63"> @@ -660,7 +663,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.4">C.2.63 Section 10.3.4 Block-level, replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.63.#q70"> + <tbody id="sC.2.63.#q21.70"> <!-- 0 tests --> </tbody> <tbody id="sC.2.64"> @@ -669,7 +672,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.5">C.2.64 Section 10.3.5 Floating, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.64.#q71"> + <tbody id="sC.2.64.#q21.71"> <!-- 0 tests --> </tbody> <tbody id="sC.2.65"> @@ -678,7 +681,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.6">C.2.65 Section 10.3.6 Floating, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.65.#q72"> + <tbody id="sC.2.65.#q21.72"> <!-- 0 tests --> </tbody> <tbody id="sC.2.66"> @@ -687,7 +690,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.7">C.2.66 Section 10.3.7 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.66.#q73"> + <tbody id="sC.2.66.#q21.73"> <!-- 0 tests --> </tbody> <tbody id="sC.2.67"> @@ -696,7 +699,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.8">C.2.67 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.67.#q74"> + <tbody id="sC.2.67.#q21.74"> <!-- 0 tests --> </tbody> <tbody id="sC.2.68"> @@ -705,7 +708,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.4">C.2.68 Section 10.4 Minimum and maximum widths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.68.#q75"> + <tbody id="sC.2.68.#q21.75"> <!-- 0 tests --> </tbody> <tbody id="sC.2.69"> @@ -714,7 +717,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.5">C.2.69 Section 10.5 Content height</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.69.#q76"> + <tbody id="sC.2.69.#q21.76"> <!-- 0 tests --> </tbody> <tbody id="sC.2.70"> @@ -723,7 +726,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6">C.2.70 Section 10.6 Calculating heights and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.70.#q77"> + <tbody id="sC.2.70.#q21.77"> <!-- 0 tests --> </tbody> <tbody id="sC.2.71"> @@ -732,7 +735,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.1">C.2.71 Section 10.6.1 Inline, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.71.#q78"> + <tbody id="sC.2.71.#q21.78"> <!-- 0 tests --> </tbody> <tbody id="sC.2.72"> @@ -741,7 +744,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.2">C.2.72 Section 10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.72.#q79"> + <tbody id="sC.2.72.#q21.79"> <!-- 0 tests --> </tbody> <tbody id="sC.2.73"> @@ -750,7 +753,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.3">C.2.73 Section 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.73.#q80"> + <tbody id="sC.2.73.#q21.80"> <!-- 0 tests --> </tbody> <tbody id="sC.2.74"> @@ -759,7 +762,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.4">C.2.74 Section 10.6.4 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.74.#q81"> + <tbody id="sC.2.74.#q21.81"> <!-- 0 tests --> </tbody> <tbody id="sC.2.75"> @@ -768,7 +771,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.5">C.2.75 Section 10.6.5 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.75.#q82"> + <tbody id="sC.2.75.#q21.82"> <!-- 0 tests --> </tbody> <tbody id="sC.2.76"> @@ -777,7 +780,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.7">C.2.76 Section 10.7 Minimum and maximum heights</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.76.#q83"> + <tbody id="sC.2.76.#q21.83"> <!-- 0 tests --> </tbody> <tbody id="sC.2.77"> @@ -786,7 +789,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.8">C.2.77 Section 10.8 Line height calculations</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.77.#q84"> + <tbody id="sC.2.77.#q21.84"> <!-- 0 tests --> </tbody> <tbody id="sC.2.78"> @@ -795,7 +798,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.8.1">C.2.78 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.78.#q85"> + <tbody id="sC.2.78.#q21.85"> <!-- 0 tests --> </tbody> <tbody id="sC.2.79"> @@ -804,7 +807,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.1">C.2.79 Section 11.1 Overflow and clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.79.#q86"> + <tbody id="sC.2.79.#q21.86"> <!-- 0 tests --> </tbody> <tbody id="sC.2.80"> @@ -813,7 +816,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.1.1">C.2.80 Section 11.1.1 Overflow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.80.#q87"> + <tbody id="sC.2.80.#q21.87"> <!-- 0 tests --> </tbody> <tbody id="sC.2.81"> @@ -822,7 +825,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.1.2">C.2.81 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.81.#q88"> + <tbody id="sC.2.81.#q21.88"> <!-- 0 tests --> </tbody> <tbody id="sC.2.82"> @@ -831,7 +834,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.2">C.2.82 Section 11.2 Visibility</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.82.#q89"> + <tbody id="sC.2.82.#q21.89"> <!-- 0 tests --> </tbody> <tbody id="sC.2.83"> @@ -840,7 +843,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12">C.2.83 Chapter 12 Generated content, automatic numbering, and lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.83.#q90"> + <tbody id="sC.2.83.#q21.90"> <!-- 0 tests --> </tbody> <tbody id="sC.2.84"> @@ -849,7 +852,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.1">C.2.84 Section 12.1 The :before and :after pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.84.#q91"> + <tbody id="sC.2.84.#q21.91"> <!-- 0 tests --> </tbody> <tbody id="sC.2.85"> @@ -858,7 +861,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.2">C.2.85 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.85.#q92"> + <tbody id="sC.2.85.#q21.92"> <!-- 0 tests --> </tbody> <tbody id="sC.2.86"> @@ -867,7 +870,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.3.2">C.2.86 Section 12.3.2 Inserting quotes with the 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.86.#q93"> + <tbody id="sC.2.86.#q21.93"> <!-- 0 tests --> </tbody> <tbody id="sC.2.87"> @@ -876,7 +879,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.4">C.2.87 Section 12.4 Automatic counters and numbering</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.87.#q94"> + <tbody id="sC.2.87.#q21.94"> <!-- 0 tests --> </tbody> <tbody id="sC.2.88"> @@ -885,7 +888,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.4.1">C.2.88 Section 12.4.1 Nested counters and scope</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.88.#q95"> + <tbody id="sC.2.88.#q21.95"> <!-- 0 tests --> </tbody> <tbody id="sC.2.89"> @@ -894,7 +897,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.5">C.2.89 Section 12.5 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.89.#q96"> + <tbody id="sC.2.89.#q21.96"> <!-- 0 tests --> </tbody> <tbody id="sC.2.90"> @@ -903,7 +906,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.5.1">C.2.90 Section 12.5.1 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.90.#q97"> + <tbody id="sC.2.90.#q21.97"> <!-- 0 tests --> </tbody> <tbody id="sC.2.91"> @@ -912,7 +915,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.1">C.2.91 Chapter 13 Paged media</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.91.#q98"> + <tbody id="sC.2.91.#q21.98"> <!-- 0 tests --> </tbody> <tbody id="sC.2.92"> @@ -921,7 +924,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.2.2">C.2.92 Section 13.2.2 Page selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.92.#q99"> + <tbody id="sC.2.92.#q21.99"> <!-- 0 tests --> </tbody> <tbody id="sC.2.93"> @@ -930,7 +933,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.3.1">C.2.93 Section 13.3.1 Page break properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.93.#q100"> + <tbody id="sC.2.93.#q21.100"> <!-- 0 tests --> </tbody> <tbody id="sC.2.94"> @@ -939,7 +942,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.3.3">C.2.94 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.94.#q101"> + <tbody id="sC.2.94.#q21.101"> <!-- 0 tests --> </tbody> <tbody id="sC.2.95"> @@ -948,7 +951,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c14.2.1">C.2.95 Section 14.2.1 Background properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.95.#q102"> + <tbody id="sC.2.95.#q21.102"> <!-- 0 tests --> </tbody> <tbody id="sC.2.96"> @@ -957,7 +960,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c14.3">C.2.96 Section 14.3 Gamma correction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.96.#q103"> + <tbody id="sC.2.96.#q21.103"> <!-- 0 tests --> </tbody> <tbody id="sC.2.97"> @@ -966,7 +969,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15">C.2.97 Chapter 15 Fonts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.97.#q104"> + <tbody id="sC.2.97.#q21.104"> <!-- 0 tests --> </tbody> <tbody id="sC.2.98"> @@ -975,7 +978,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.2">C.2.98 Section 15.2 Font matching algorithm</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.98.#q105"> + <tbody id="sC.2.98.#q21.105"> <!-- 0 tests --> </tbody> <tbody id="sC.2.99"> @@ -984,7 +987,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.3">C.2.99 Section 15.2.2 Font family</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.99.#q106"> + <tbody id="sC.2.99.#q21.106"> <!-- 0 tests --> </tbody> <tbody id="sC.2.100"> @@ -993,7 +996,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.5">C.2.100 Section 15.5 Small-caps</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.100.#q107"> + <tbody id="sC.2.100.#q21.107"> <!-- 0 tests --> </tbody> <tbody id="sC.2.101"> @@ -1002,7 +1005,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.6">C.2.101 Section 15.6 Font boldness</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.101.#q108"> + <tbody id="sC.2.101.#q21.108"> <!-- 0 tests --> </tbody> <tbody id="sC.2.102"> @@ -1011,7 +1014,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.7">C.2.102 Section 15.7 Font size</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.102.#q109"> + <tbody id="sC.2.102.#q21.109"> <!-- 0 tests --> </tbody> <tbody id="sC.2.103"> @@ -1020,7 +1023,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16">C.2.103 Chapter 16 Text</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.103.#q110"> + <tbody id="sC.2.103.#q21.110"> <!-- 0 tests --> </tbody> <tbody id="sC.2.104"> @@ -1029,7 +1032,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.2">C.2.104 Section 16.2 Alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.104.#q111"> + <tbody id="sC.2.104.#q21.111"> <!-- 0 tests --> </tbody> <tbody id="sC.2.105"> @@ -1038,7 +1041,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.3.1">C.2.105 Section 16.3.1 Underlining, over lining, striking, and blinking</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.105.#q112"> + <tbody id="sC.2.105.#q21.112"> <!-- 0 tests --> </tbody> <tbody id="sC.2.106"> @@ -1047,7 +1050,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.4">C.2.106 Section 16.4 Letter and word spacing</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.106.#q113"> + <tbody id="sC.2.106.#q21.113"> <!-- 0 tests --> </tbody> <tbody id="sC.2.107"> @@ -1056,7 +1059,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.5">C.2.107 Section 16.5 Capitalization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.107.#q114"> + <tbody id="sC.2.107.#q21.114"> <!-- 0 tests --> </tbody> <tbody id="sC.2.108"> @@ -1065,7 +1068,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.6">C.2.108 Section 16.6 White space</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.108.#q115"> + <tbody id="sC.2.108.#q21.115"> <!-- 0 tests --> </tbody> <tbody id="sC.2.109"> @@ -1074,7 +1077,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17">C.2.109 Chapter 17 Tables</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.109.#q116"> + <tbody id="sC.2.109.#q21.116"> <!-- 0 tests --> </tbody> <tbody id="sC.2.110"> @@ -1083,7 +1086,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.2">C.2.110 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.110.#q117"> + <tbody id="sC.2.110.#q21.117"> <!-- 0 tests --> </tbody> <tbody id="sC.2.111"> @@ -1092,7 +1095,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.2.1">C.2.111 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.111.#q118"> + <tbody id="sC.2.111.#q21.118"> <!-- 0 tests --> </tbody> <tbody id="sC.2.112"> @@ -1101,7 +1104,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.4">C.2.112 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.112.#q119"> + <tbody id="sC.2.112.#q21.119"> <!-- 0 tests --> </tbody> <tbody id="sC.2.113"> @@ -1110,7 +1113,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.4.1">C.2.113 Section 17.4.1 Caption position and alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.113.#q120"> + <tbody id="sC.2.113.#q21.120"> <!-- 0 tests --> </tbody> <tbody id="sC.2.114"> @@ -1119,7 +1122,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5">C.2.114 Section 17.5 Visual layout of table contents</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.114.#q121"> + <tbody id="sC.2.114.#q21.121"> <!-- 0 tests --> </tbody> <tbody id="sC.2.115"> @@ -1128,7 +1131,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.1">C.2.115 Section 17.5.1 Table layers and transparency</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.115.#q122"> + <tbody id="sC.2.115.#q21.122"> <!-- 0 tests --> </tbody> <tbody id="sC.2.116"> @@ -1137,7 +1140,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.2.1">C.2.116 Section 17.5.2.1 Fixed table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.116.#q123"> + <tbody id="sC.2.116.#q21.123"> <!-- 0 tests --> </tbody> <tbody id="sC.2.117"> @@ -1146,7 +1149,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.2.2">C.2.117 Section 17.5.2.2 Automatic table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.117.#q124"> + <tbody id="sC.2.117.#q21.124"> <!-- 0 tests --> </tbody> <tbody id="sC.2.118"> @@ -1155,7 +1158,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.3">C.2.118 Section 17.5.3 Table height algorithms</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.118.#q125"> + <tbody id="sC.2.118.#q21.125"> <!-- 0 tests --> </tbody> <tbody id="sC.2.119"> @@ -1164,7 +1167,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.4">C.2.119 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.119.#q126"> + <tbody id="sC.2.119.#q21.126"> <!-- 0 tests --> </tbody> <tbody id="sC.2.120"> @@ -1173,7 +1176,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6">C.2.120 Section 17.6 Borders</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.120.#q127"> + <tbody id="sC.2.120.#q21.127"> <!-- 0 tests --> </tbody> <tbody id="sC.2.121"> @@ -1182,7 +1185,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.1">C.2.121 Section 17.6.1 The separated borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.121.#q128"> + <tbody id="sC.2.121.#q21.128"> <!-- 0 tests --> </tbody> <tbody id="sC.2.122"> @@ -1191,7 +1194,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.1.1">C.2.122 Section 17.6.1.1 Borders and Backgrounds around empty cells</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.122.#q129"> + <tbody id="sC.2.122.#q21.129"> <!-- 0 tests --> </tbody> <tbody id="sC.2.123"> @@ -1200,7 +1203,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.2">C.2.123 Section 17.6.2 The collapsing border model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.123.#q130"> + <tbody id="sC.2.123.#q21.130"> <!-- 0 tests --> </tbody> <tbody id="sC.2.124"> @@ -1209,7 +1212,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.2.1">C.2.124 Section 17.6.2.1 Border conflict resolution</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.124.#q131"> + <tbody id="sC.2.124.#q21.131"> <!-- 0 tests --> </tbody> <tbody id="sC.2.125"> @@ -1218,7 +1221,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c18.1">C.2.125 Section 18.1 Cursors: the 'cursor' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.125.#q132"> + <tbody id="sC.2.125.#q21.132"> <!-- 0 tests --> </tbody> <tbody id="sC.2.126"> @@ -1227,7 +1230,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c18.4">C.2.126 Section 18.4 Dynamic outlines</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.126.#q133"> + <tbody id="sC.2.126.#q21.133"> <!-- 0 tests --> </tbody> <tbody id="sC.2.127"> @@ -1236,7 +1239,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s-12">C.2.127 Chapter 12 Generated content, automatic numbering, and lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.127.#q134"> + <tbody id="sC.2.127.#q21.134"> <!-- 0 tests --> </tbody> <tbody id="sC.2.128"> @@ -1245,7 +1248,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA">C.2.128 Appendix A. Aural style sheets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.128.#q135"> + <tbody id="sC.2.128.#q21.135"> <!-- 0 tests --> </tbody> <tbody id="sC.2.129"> @@ -1254,7 +1257,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA.5">C.2.129 Appendix A Section 5 Pause properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.129.#q136"> + <tbody id="sC.2.129.#q21.136"> <!-- 0 tests --> </tbody> <tbody id="sC.2.130"> @@ -1263,7 +1266,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA.6">C.2.130 Appendix A Section 6 Cue properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.130.#q137"> + <tbody id="sC.2.130.#q21.137"> <!-- 0 tests --> </tbody> <tbody id="sC.2.131"> @@ -1272,7 +1275,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA.7">C.2.131 Appendix A Section 7 Mixing properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.131.#q138"> + <tbody id="sC.2.131.#q21.138"> <!-- 0 tests --> </tbody> <tbody id="sC.2.132"> @@ -1281,7 +1284,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cB">C.2.132 Appendix B Bibliography</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.132.#q139"> + <tbody id="sC.2.132.#q21.139"> <!-- 0 tests --> </tbody> <tbody id="sC.2.133"> @@ -1290,7 +1293,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#other">C.2.133 Other</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.133.#q140"> + <tbody id="sC.2.133.#q21.140"> <!-- 0 tests --> </tbody> <tbody id="sC.3"> @@ -1305,19 +1308,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x-shorthand-inherit">C.3.1 Shorthand properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.1.#q142"> - <!-- 1 tests --> - <tr id="font-045-C.3.1.#q142" class="ahem invalid"> - <td> - <a href="font-045.htm">font-045</a></td> - <td></td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>font - inherit keyword value - <ul class="assert"> - <li>The inherit keyword value cannot mix with other subproperty values</li> - </ul> - </td> - </tr> + <tbody id="sC.3.1.#q21.142"> + <!-- 0 tests --> </tbody> <tbody id="sC.3.2"> <tr><th colspan="4" scope="rowgroup"> @@ -1325,7 +1317,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x-applies-table">C.3.2 Applies to</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.2.#q143"> + <tbody id="sC.3.2.#q21.143"> <!-- 0 tests --> </tbody> <tbody id="sC.3.3"> @@ -1334,7 +1326,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.1.1">C.3.3 Section 4.1.1 (and G2)</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.3.#q144"> + <tbody id="sC.3.3.#q21.144"> <!-- 0 tests --> </tbody> <tbody id="sC.3.4"> @@ -1343,7 +1335,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.1.3">C.3.4 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.4.#q145"> + <tbody id="sC.3.4.#q21.145"> <!-- 0 tests --> </tbody> <tbody id="sC.3.5"> @@ -1352,7 +1344,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3">C.3.5 Section 4.3 (Double sign problem)</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.5.#q146"> + <tbody id="sC.3.5.#q21.146"> <!-- 0 tests --> </tbody> <tbody id="sC.3.6"> @@ -1361,7 +1353,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.2">C.3.6 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.6.#q147"> + <tbody id="sC.3.6.#q21.147"> <!-- 0 tests --> </tbody> <tbody id="sC.3.7"> @@ -1370,7 +1362,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.3">C.3.7 Section 4.3.3 Percentages</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.7.#q148"> + <tbody id="sC.3.7.#q21.148"> <!-- 0 tests --> </tbody> <tbody id="sC.3.8"> @@ -1379,7 +1371,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.4">C.3.8 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.8.#q149"> + <tbody id="sC.3.8.#q21.149"> <!-- 0 tests --> </tbody> <tbody id="sC.3.9"> @@ -1388,7 +1380,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.5">C.3.9 Section 4.3.5 Counters</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.9.#q150"> + <tbody id="sC.3.9.#q21.150"> <!-- 0 tests --> </tbody> <tbody id="sC.3.10"> @@ -1397,7 +1389,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.6">C.3.10 Section 4.3.6 Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.10.#q151"> + <tbody id="sC.3.10.#q21.151"> <!-- 0 tests --> </tbody> <tbody id="sC.3.11"> @@ -1406,7 +1398,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.7">C.3.11 Section 4.3.7 Strings</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.11.#q152"> + <tbody id="sC.3.11.#q21.152"> <!-- 0 tests --> </tbody> <tbody id="sC.3.12"> @@ -1415,7 +1407,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x5.10">C.3.12 Section 5.10 Pseudo-elements and pseudo-classes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.12.#q153"> + <tbody id="sC.3.12.#q21.153"> <!-- 0 tests --> </tbody> <tbody id="sC.3.13"> @@ -1424,7 +1416,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x6.4">C.3.13 Section 6.4 The cascade</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.13.#q154"> + <tbody id="sC.3.13.#q21.154"> <!-- 0 tests --> </tbody> <tbody id="sC.3.14"> @@ -1433,7 +1425,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x8.1">C.3.14 Section 8.1 Box Dimensions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.14.#q155"> + <tbody id="sC.3.14.#q21.155"> <!-- 0 tests --> </tbody> <tbody id="sC.3.15"> @@ -1442,7 +1434,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x8.2">C.3.15 Section 8.2 Example of margins, padding, and borders</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.15.#q156"> + <tbody id="sC.3.15.#q21.156"> <!-- 0 tests --> </tbody> <tbody id="sC.3.16"> @@ -1451,7 +1443,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x8.5.4">C.3.16 Section 8.5.4 Border shorthand properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.16.#q157"> + <tbody id="sC.3.16.#q21.157"> <!-- 0 tests --> </tbody> <tbody id="sC.3.17"> @@ -1460,7 +1452,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.2.1">C.3.17 Section 9.2.1 Block-level elements and block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.17.#q158"> + <tbody id="sC.3.17.#q21.158"> <!-- 0 tests --> </tbody> <tbody id="sC.3.18"> @@ -1469,7 +1461,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.3.1">C.3.18 Section 9.3.1 Choosing a positioning scheme</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.18.#q159"> + <tbody id="sC.3.18.#q21.159"> <!-- 0 tests --> </tbody> <tbody id="sC.3.19"> @@ -1478,7 +1470,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.3.2">C.3.19 Section 9.3.2 Box offsets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.19.#q160"> + <tbody id="sC.3.19.#q21.160"> <!-- 0 tests --> </tbody> <tbody id="sC.3.20"> @@ -1487,7 +1479,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.4.1">C.3.20 Section 9.4.1 Block formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.20.#q161"> + <tbody id="sC.3.20.#q21.161"> <!-- 0 tests --> </tbody> <tbody id="sC.3.21"> @@ -1496,7 +1488,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.4.2">C.3.21 Section 9.4.2 Inline formatting context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.21.#q162"> + <tbody id="sC.3.21.#q21.162"> <!-- 0 tests --> </tbody> <tbody id="sC.3.22"> @@ -1505,7 +1497,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.4.3">C.3.22 Section 9.4.3 Relative positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.22.#q163"> + <tbody id="sC.3.22.#q21.163"> <!-- 0 tests --> </tbody> <tbody id="sC.3.23"> @@ -1514,7 +1506,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.5">C.3.23 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.23.#q164"> + <tbody id="sC.3.23.#q21.164"> <!-- 0 tests --> </tbody> <tbody id="sC.3.24"> @@ -1523,7 +1515,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.5.1">C.3.24 Section 9.5.1 Positioning the float</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.24.#q165"> + <tbody id="sC.3.24.#q21.165"> <!-- 0 tests --> </tbody> <tbody id="sC.3.25"> @@ -1532,7 +1524,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.5.2">C.3.25 Section 9.5.2 Controlling flow next to floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.25.#q166"> + <tbody id="sC.3.25.#q21.166"> <!-- 0 tests --> </tbody> <tbody id="sC.3.26"> @@ -1541,7 +1533,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.6">C.3.26 Section 9.6 Absolute positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.26.#q167"> + <tbody id="sC.3.26.#q21.167"> <!-- 0 tests --> </tbody> <tbody id="sC.3.27"> @@ -1550,7 +1542,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.7">C.3.27 Section 9.7 Relationships between 'display', 'position', and 'float'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.27.#q168"> + <tbody id="sC.3.27.#q21.168"> <!-- 0 tests --> </tbody> <tbody id="sC.3.28"> @@ -1559,7 +1551,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.10">C.3.28 Section 9.10 Text direction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.28.#q169"> + <tbody id="sC.3.28.#q21.169"> <!-- 0 tests --> </tbody> <tbody id="sC.3.29"> @@ -1568,7 +1560,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.1">C.3.29 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.29.#q170"> + <tbody id="sC.3.29.#q21.170"> <!-- 0 tests --> </tbody> <tbody id="sC.3.30"> @@ -1577,7 +1569,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.3.3">C.3.30 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.30.#q171"> + <tbody id="sC.3.30.#q21.171"> <!-- 0 tests --> </tbody> <tbody id="sC.3.31"> @@ -1586,7 +1578,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.4">C.3.31 Section 10.4 Minimum and maximum widths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.31.#q172"> + <tbody id="sC.3.31.#q21.172"> <!-- 0 tests --> </tbody> <tbody id="sC.3.32"> @@ -1595,7 +1587,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.6.3">C.3.32 Section 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.32.#q173"> + <tbody id="sC.3.32.#q21.173"> <!-- 0 tests --> </tbody> <tbody id="sC.3.33"> @@ -1604,7 +1596,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.7">C.3.33 Section 10.7 Minimum and maximum heights</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.33.#q174"> + <tbody id="sC.3.33.#q21.174"> <!-- 0 tests --> </tbody> <tbody id="sC.3.34"> @@ -1613,7 +1605,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x11.1.1">C.3.34 Section 11.1.1 Overflow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.34.#q175"> + <tbody id="sC.3.34.#q21.175"> <!-- 0 tests --> </tbody> <tbody id="sC.3.35"> @@ -1622,7 +1614,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x11.1.2">C.3.35 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.35.#q176"> + <tbody id="sC.3.35.#q21.176"> <!-- 0 tests --> </tbody> <tbody id="sC.3.36"> @@ -1631,7 +1623,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x11.2">C.3.36 Section 11.2 Visibility</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.36.#q177"> + <tbody id="sC.3.36.#q21.177"> <!-- 0 tests --> </tbody> <tbody id="sC.3.37"> @@ -1640,7 +1632,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x12.4.2">C.3.37 Section 12.4.2 Counter styles</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.37.#q178"> + <tbody id="sC.3.37.#q21.178"> <!-- 0 tests --> </tbody> <tbody id="sC.3.38"> @@ -1649,7 +1641,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x12.6.2">C.3.38 Section 12.6.2 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.38.#q179"> + <tbody id="sC.3.38.#q21.179"> <!-- 0 tests --> </tbody> <tbody id="sC.3.39"> @@ -1658,7 +1650,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x14.2">C.3.39 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.39.#q180"> + <tbody id="sC.3.39.#q21.180"> <!-- 0 tests --> </tbody> <tbody id="sC.3.40"> @@ -1667,7 +1659,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x14.2.1">C.3.40 Section 14.2.1 Background properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.40.#q181"> + <tbody id="sC.3.40.#q21.181"> <!-- 0 tests --> </tbody> <tbody id="sC.3.41"> @@ -1676,7 +1668,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x15.2">C.3.41 Section 15.2 Font matching algorithm</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.41.#q182"> + <tbody id="sC.3.41.#q21.182"> <!-- 0 tests --> </tbody> <tbody id="sC.3.42"> @@ -1685,7 +1677,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x15.7">C.3.42 Section 15.7 Font size</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.42.#q183"> + <tbody id="sC.3.42.#q21.183"> <!-- 0 tests --> </tbody> <tbody id="sC.3.43"> @@ -1694,7 +1686,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x16.1">C.3.43 Section 16.1 Indentation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.43.#q184"> + <tbody id="sC.3.43.#q21.184"> <!-- 0 tests --> </tbody> <tbody id="sC.3.44"> @@ -1703,7 +1695,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x16.2">C.3.44 Section 16.2 Alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.44.#q185"> + <tbody id="sC.3.44.#q21.185"> <!-- 0 tests --> </tbody> <tbody id="sC.3.45"> @@ -1712,7 +1704,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.2">C.3.45 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.45.#q186"> + <tbody id="sC.3.45.#q21.186"> <!-- 0 tests --> </tbody> <tbody id="sC.3.46"> @@ -1721,7 +1713,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.2.1">C.3.46 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.46.#q187"> + <tbody id="sC.3.46.#q21.187"> <!-- 0 tests --> </tbody> <tbody id="sC.3.47"> @@ -1730,7 +1722,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.4">C.3.47 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.47.#q188"> + <tbody id="sC.3.47.#q21.188"> <!-- 0 tests --> </tbody> <tbody id="sC.3.48"> @@ -1739,7 +1731,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.5">C.3.48 Section 17.5 Visual layout of table contents</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.48.#q189"> + <tbody id="sC.3.48.#q21.189"> <!-- 0 tests --> </tbody> <tbody id="sC.3.49"> @@ -1748,7 +1740,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.5.1">C.3.49 Section 17.5.1 Table layers and transparency</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.49.#q190"> + <tbody id="sC.3.49.#q21.190"> <!-- 0 tests --> </tbody> <tbody id="sC.3.50"> @@ -1757,7 +1749,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.6.1">C.3.50 Section 17.6.1 The separated borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.50.#q191"> + <tbody id="sC.3.50.#q21.191"> <!-- 0 tests --> </tbody> <tbody id="sC.3.51"> @@ -1766,7 +1758,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x18.2">C.3.51 Section 18.2 System Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.51.#q192"> + <tbody id="sC.3.51.#q21.192"> <!-- 0 tests --> </tbody> <tbody id="sC.3.52"> @@ -1775,7 +1767,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#xE.2">C.3.52 Section E.2 Painting order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.52.#q193"> + <tbody id="sC.3.52.#q21.193"> <!-- 0 tests --> </tbody> <tbody id="sC.4"> @@ -1790,7 +1782,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r2.1">C.4.1 Section 2.1 A brief CSS 2.1 tutorial for HTML</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.1.#q195"> + <tbody id="sC.4.1.#q21.195"> <!-- 0 tests --> </tbody> <tbody id="sC.4.2"> @@ -1799,7 +1791,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r2.2">C.4.2 Section 2.2 A brief CSS 2.1 tutorial for XML</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.2.#q196"> + <tbody id="sC.4.2.#q21.196"> <!-- 0 tests --> </tbody> <tbody id="sC.4.3"> @@ -1808,7 +1800,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r2.3">C.4.3 Section 2.3 The CSS 2.1 processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.3.#q197"> + <tbody id="sC.4.3.#q21.197"> <!-- 0 tests --> </tbody> <tbody id="sC.4.4"> @@ -1817,7 +1809,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r3.1">C.4.4 Section 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.4.#q198"> + <tbody id="sC.4.4.#q21.198"> <!-- 0 tests --> </tbody> <tbody id="sC.4.5"> @@ -1826,7 +1818,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1">C.4.5 Section 4.1 Syntax</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.5.#q199"> + <tbody id="sC.4.5.#q21.199"> <!-- 0 tests --> </tbody> <tbody id="sC.4.6"> @@ -1835,7 +1827,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1.1">C.4.6 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.6.#q200"> + <tbody id="sC.4.6.#q21.200"> <!-- 0 tests --> </tbody> <tbody id="sC.4.7"> @@ -1844,7 +1836,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1.3">C.4.7 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.7.#q201"> + <tbody id="sC.4.7.#q21.201"> <!-- 0 tests --> </tbody> <tbody id="sC.4.8"> @@ -1853,7 +1845,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1.7">C.4.8 Section 4.1.7 Rule sets, declaration blocks, and selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.8.#q202"> + <tbody id="sC.4.8.#q21.202"> <!-- 0 tests --> </tbody> <tbody id="sC.4.9"> @@ -1862,7 +1854,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.2">C.4.9 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.9.#q203"> + <tbody id="sC.4.9.#q21.203"> <!-- 0 tests --> </tbody> <tbody id="sC.4.10"> @@ -1871,7 +1863,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.3.1">C.4.10 Section 4.3.1 Integers and real numbers</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.10.#q204"> + <tbody id="sC.4.10.#q21.204"> <!-- 0 tests --> </tbody> <tbody id="sC.4.11"> @@ -1880,7 +1872,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.3.2">C.4.11 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.11.#q205"> + <tbody id="sC.4.11.#q21.205"> <!-- 0 tests --> </tbody> <tbody id="sC.4.12"> @@ -1889,7 +1881,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.3.4">C.4.12 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.12.#q206"> + <tbody id="sC.4.12.#q21.206"> <!-- 0 tests --> </tbody> <tbody id="sC.4.13"> @@ -1898,7 +1890,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.1">C.4.13 Section 5.1 Pattern matching</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.13.#q207"> + <tbody id="sC.4.13.#q21.207"> <!-- 0 tests --> </tbody> <tbody id="sC.4.14"> @@ -1907,7 +1899,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.7">C.4.14 Section 5.7 Adjacent sibling selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.14.#q208"> + <tbody id="sC.4.14.#q21.208"> <!-- 0 tests --> </tbody> <tbody id="sC.4.15"> @@ -1916,7 +1908,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.8.1">C.4.15 Section 5.8.1 Matching attributes and attribute values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.15.#q209"> + <tbody id="sC.4.15.#q21.209"> <!-- 0 tests --> </tbody> <tbody id="sC.4.16"> @@ -1925,7 +1917,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.8.2">C.4.16 Section 5.8.2 Default attribute values in DTDs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.16.#q210"> + <tbody id="sC.4.16.#q21.210"> <!-- 0 tests --> </tbody> <tbody id="sC.4.17"> @@ -1934,7 +1926,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.9">C.4.17 Section 5.9 ID selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.17.#q211"> + <tbody id="sC.4.17.#q21.211"> <!-- 0 tests --> </tbody> <tbody id="sC.4.18"> @@ -1943,7 +1935,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.11.3">C.4.18 Section 5.11.3 The dynamic pseudo-classes: :hover, :active, and :focus</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.18.#q212"> + <tbody id="sC.4.18.#q21.212"> <!-- 0 tests --> </tbody> <tbody id="sC.4.19"> @@ -1952,7 +1944,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.11.4">C.4.19 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.19.#q213"> + <tbody id="sC.4.19.#q21.213"> <!-- 0 tests --> </tbody> <tbody id="sC.4.20"> @@ -1961,7 +1953,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.12.2">C.4.20 Section 5.12.2 The :first-letter pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.20.#q214"> + <tbody id="sC.4.20.#q21.214"> <!-- 0 tests --> </tbody> <tbody id="sC.4.21"> @@ -1970,7 +1962,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.2">C.4.21 Section 6.2 Inheritance</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.21.#q215"> + <tbody id="sC.4.21.#q21.215"> <!-- 0 tests --> </tbody> <tbody id="sC.4.22"> @@ -1979,7 +1971,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.2.1">C.4.22 Section 6.2.1 The 'inherit' value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.22.#q216"> + <tbody id="sC.4.22.#q21.216"> <!-- 0 tests --> </tbody> <tbody id="sC.4.23"> @@ -1988,7 +1980,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.3">C.4.23 Section 6.3 The @import rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.23.#q217"> + <tbody id="sC.4.23.#q21.217"> <!-- 0 tests --> </tbody> <tbody id="sC.4.24"> @@ -1997,7 +1989,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.4">C.4.24 Section 6.4 The Cascade</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.24.#q218"> + <tbody id="sC.4.24.#q21.218"> <!-- 0 tests --> </tbody> <tbody id="sC.4.25"> @@ -2006,7 +1998,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.4.1">C.4.25 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.25.#q219"> + <tbody id="sC.4.25.#q21.219"> <!-- 0 tests --> </tbody> <tbody id="sC.4.26"> @@ -2015,7 +2007,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.4.3">C.4.26 Section 6.4.3 Calculating a selector's specificity</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.26.#q220"> + <tbody id="sC.4.26.#q21.220"> <!-- 0 tests --> </tbody> <tbody id="sC.4.27"> @@ -2024,7 +2016,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r7.2.1">C.4.27 Section 7.2.1 The @media rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.27.#q221"> + <tbody id="sC.4.27.#q21.221"> <!-- 0 tests --> </tbody> <tbody id="sC.4.28"> @@ -2033,7 +2025,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r7.3">C.4.28 Section 7.3 Recognized media types</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.28.#q222"> + <tbody id="sC.4.28.#q21.222"> <!-- 0 tests --> </tbody> <tbody id="sC.4.29"> @@ -2042,7 +2034,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r7.3.1">C.4.29 Section 7.3.1 Media groups</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.29.#q223"> + <tbody id="sC.4.29.#q21.223"> <!-- 0 tests --> </tbody> <tbody id="sC.4.30"> @@ -2051,7 +2043,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.1">C.4.30 Section 8.1 Box dimensions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.30.#q224"> + <tbody id="sC.4.30.#q21.224"> <!-- 0 tests --> </tbody> <tbody id="sC.4.31"> @@ -2060,7 +2052,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.3">C.4.31 Section 8.3 Margin properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.31.#q225"> + <tbody id="sC.4.31.#q21.225"> <!-- 0 tests --> </tbody> <tbody id="sC.4.32"> @@ -2069,7 +2061,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.3.1">C.4.32 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.32.#q226"> + <tbody id="sC.4.32.#q21.226"> <!-- 0 tests --> </tbody> <tbody id="sC.4.33"> @@ -2078,7 +2070,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.5.3">C.4.33 Section 8.5.3 Border style</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.33.#q227"> + <tbody id="sC.4.33.#q21.227"> <!-- 0 tests --> </tbody> <tbody id="sC.4.34"> @@ -2087,7 +2079,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.1.1">C.4.34 Section 9.1.1 The viewport</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.34.#q228"> + <tbody id="sC.4.34.#q21.228"> <!-- 0 tests --> </tbody> <tbody id="sC.4.35"> @@ -2096,7 +2088,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.2.4">C.4.35 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.35.#q229"> + <tbody id="sC.4.35.#q21.229"> <!-- 0 tests --> </tbody> <tbody id="sC.4.36"> @@ -2105,7 +2097,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.3.1">C.4.36 Section 9.3.1 Choosing a positioning scheme</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.36.#q230"> + <tbody id="sC.4.36.#q21.230"> <!-- 0 tests --> </tbody> <tbody id="sC.4.37"> @@ -2114,7 +2106,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.3.2">C.4.37 Section 9.3.2 Box offsets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.37.#q231"> + <tbody id="sC.4.37.#q21.231"> <!-- 0 tests --> </tbody> <tbody id="sC.4.38"> @@ -2123,7 +2115,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.4.2">C.4.38 Section 9.4.2 Inline formatting context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.38.#q232"> + <tbody id="sC.4.38.#q21.232"> <!-- 0 tests --> </tbody> <tbody id="sC.4.39"> @@ -2132,7 +2124,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.4.3">C.4.39 Section 9.4.3 Relative positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.39.#q233"> + <tbody id="sC.4.39.#q21.233"> <!-- 0 tests --> </tbody> <tbody id="sC.4.40"> @@ -2141,7 +2133,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.5">C.4.40 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.40.#q234"> + <tbody id="sC.4.40.#q21.234"> <!-- 0 tests --> </tbody> <tbody id="sC.4.41"> @@ -2150,7 +2142,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.5.1">C.4.41 Section 9.5.1 Positioning the float</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.41.#q235"> + <tbody id="sC.4.41.#q21.235"> <!-- 0 tests --> </tbody> <tbody id="sC.4.42"> @@ -2159,7 +2151,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.5.2">C.4.42 Section 9.5.2 Controlling flow next to floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.42.#q236"> + <tbody id="sC.4.42.#q21.236"> <!-- 0 tests --> </tbody> <tbody id="sC.4.43"> @@ -2168,7 +2160,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.8">C.4.43 Section 9.8 Comparison of normal flow, floats, and absolute positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.43.#q237"> + <tbody id="sC.4.43.#q21.237"> <!-- 0 tests --> </tbody> <tbody id="sC.4.44"> @@ -2177,7 +2169,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.1">C.4.44 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.44.#q238"> + <tbody id="sC.4.44.#q21.238"> <!-- 0 tests --> </tbody> <tbody id="sC.4.45"> @@ -2186,7 +2178,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.2">C.4.45 Section 10.2 Content width</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.45.#q239"> + <tbody id="sC.4.45.#q21.239"> <!-- 0 tests --> </tbody> <tbody id="sC.4.46"> @@ -2195,7 +2187,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.3.3">C.4.46 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.46.#q240"> + <tbody id="sC.4.46.#q21.240"> <!-- 0 tests --> </tbody> <tbody id="sC.4.47"> @@ -2204,7 +2196,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.3.8">C.4.47 Section 10.3.8 Absolutely positioning, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.47.#q241"> + <tbody id="sC.4.47.#q21.241"> <!-- 0 tests --> </tbody> <tbody id="sC.4.48"> @@ -2213,7 +2205,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.4">C.4.48 Section 10.4 Minimum and maximum widths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.48.#q242"> + <tbody id="sC.4.48.#q21.242"> <!-- 0 tests --> </tbody> <tbody id="sC.4.49"> @@ -2222,7 +2214,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.6.1">C.4.49 Section 10.6 Calculating heights and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.49.#q243"> + <tbody id="sC.4.49.#q21.243"> <!-- 0 tests --> </tbody> <tbody id="sC.4.50"> @@ -2231,7 +2223,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.7">C.4.50 Section 10.7 Minimum and maximum heights</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.50.#q244"> + <tbody id="sC.4.50.#q21.244"> <!-- 0 tests --> </tbody> <tbody id="sC.4.51"> @@ -2240,7 +2232,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.8">C.4.51 Section 10.8 Line height calculations</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.51.#q245"> + <tbody id="sC.4.51.#q21.245"> <!-- 0 tests --> </tbody> <tbody id="sC.4.52"> @@ -2249,7 +2241,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.8.1">C.4.52 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.52.#q246"> + <tbody id="sC.4.52.#q21.246"> <!-- 0 tests --> </tbody> <tbody id="sC.4.53"> @@ -2258,7 +2250,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.1">C.4.53 Section 11.1 Overflow and clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.53.#q247"> + <tbody id="sC.4.53.#q21.247"> <!-- 0 tests --> </tbody> <tbody id="sC.4.54"> @@ -2267,7 +2259,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.1.1">C.4.54 Section 11.1.1 Overflow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.54.#q248"> + <tbody id="sC.4.54.#q21.248"> <!-- 0 tests --> </tbody> <tbody id="sC.4.55"> @@ -2276,7 +2268,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.1.2">C.4.55 Section 11.1.2 Clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.55.#q249"> + <tbody id="sC.4.55.#q21.249"> <!-- 0 tests --> </tbody> <tbody id="sC.4.56"> @@ -2285,19 +2277,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.2">C.4.56 Section 11.2 Visibility</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.56.#q250"> - <!-- 1 tests --> - <tr id="visibility-005-C.4.56.#q250" class="ahem"> - <td> - <a href="visibility-005.htm">visibility-005</a></td> - <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td> - <td>visibility - descendants of a 'visibility: hidden' element - <ul class="assert"> - <li>Descendants of a 'visibility: hidden' element will be visible if they have 'visibility: visible'</li> - </ul> - </td> - </tr> + <tbody id="sC.4.56.#q21.250"> + <!-- 0 tests --> </tbody> <tbody id="sC.4.57"> <tr><th colspan="4" scope="rowgroup"> @@ -2305,7 +2286,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.1">C.4.57 Section 12.1 The :before and :after pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.57.#q251"> + <tbody id="sC.4.57.#q21.251"> <!-- 0 tests --> </tbody> <tbody id="sC.4.58"> @@ -2314,7 +2295,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.2">C.4.58 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.58.#q252"> + <tbody id="sC.4.58.#q21.252"> <!-- 0 tests --> </tbody> <tbody id="sC.4.59"> @@ -2323,7 +2304,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.3.2">C.4.59 Section 12.3.2 Inserting quotes with the 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.59.#q253"> + <tbody id="sC.4.59.#q21.253"> <!-- 0 tests --> </tbody> <tbody id="sC.4.60"> @@ -2332,7 +2313,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.4">C.4.60 Section 12.4 Automatic counters and numbering</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.60.#q254"> + <tbody id="sC.4.60.#q21.254"> <!-- 0 tests --> </tbody> <tbody id="sC.4.61"> @@ -2341,7 +2322,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.4.3">C.4.61 Section 12.4.3 Counters in elements with 'display: none'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.61.#q255"> + <tbody id="sC.4.61.#q21.255"> <!-- 0 tests --> </tbody> <tbody id="sC.4.62"> @@ -2350,7 +2331,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r14.2">C.4.62 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.62.#q256"> + <tbody id="sC.4.62.#q21.256"> <!-- 0 tests --> </tbody> <tbody id="sC.4.63"> @@ -2359,7 +2340,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.1">C.4.63 Section 15.1 Fonts Introduction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.63.#q257"> + <tbody id="sC.4.63.#q21.257"> <!-- 0 tests --> </tbody> <tbody id="sC.4.64"> @@ -2368,7 +2349,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.2">C.4.64 Section 15.2 Font matching algorithm</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.64.#q258"> + <tbody id="sC.4.64.#q21.258"> <!-- 0 tests --> </tbody> <tbody id="sC.4.65"> @@ -2377,7 +2358,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.3">C.4.65 Section 15.2.2 Font family</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.65.#q259"> + <tbody id="sC.4.65.#q21.259"> <!-- 0 tests --> </tbody> <tbody id="sC.4.66"> @@ -2386,7 +2367,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.3.1">C.4.66 Section 15.3.1 Generic font families</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.66.#q260"> + <tbody id="sC.4.66.#q21.260"> <!-- 0 tests --> </tbody> <tbody id="sC.4.67"> @@ -2395,7 +2376,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.4">C.4.67 Section 15.4 Font styling</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.67.#q261"> + <tbody id="sC.4.67.#q21.261"> <!-- 0 tests --> </tbody> <tbody id="sC.4.68"> @@ -2404,7 +2385,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.5">C.4.68 Section 15.5 Small-caps</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.68.#q262"> + <tbody id="sC.4.68.#q21.262"> <!-- 0 tests --> </tbody> <tbody id="sC.4.69"> @@ -2413,7 +2394,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.6">C.4.69 Section 15.6 Font boldness</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.69.#q263"> + <tbody id="sC.4.69.#q21.263"> <!-- 0 tests --> </tbody> <tbody id="sC.4.70"> @@ -2422,7 +2403,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.7">C.4.70 Section 15.7 Font size</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.70.#q264"> + <tbody id="sC.4.70.#q21.264"> <!-- 0 tests --> </tbody> <tbody id="sC.4.71"> @@ -2431,7 +2412,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.1">C.4.71 Section 16.1 Indentation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.71.#q265"> + <tbody id="sC.4.71.#q21.265"> <!-- 0 tests --> </tbody> <tbody id="sC.4.72"> @@ -2440,7 +2421,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.2">C.4.72 Section 16.2 Alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.72.#q266"> + <tbody id="sC.4.72.#q21.266"> <!-- 0 tests --> </tbody> <tbody id="sC.4.73"> @@ -2449,7 +2430,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.3.1">C.4.73 Section 16.3.1 Underlining, over lining, striking, and blinking</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.73.#q267"> + <tbody id="sC.4.73.#q21.267"> <!-- 0 tests --> </tbody> <tbody id="sC.4.74"> @@ -2458,7 +2439,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.5">C.4.74 Section 16.5 Capitalization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.74.#q268"> + <tbody id="sC.4.74.#q21.268"> <!-- 0 tests --> </tbody> <tbody id="sC.4.75"> @@ -2467,7 +2448,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.6">C.4.75 Section 16.6 White space</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.75.#q269"> + <tbody id="sC.4.75.#q21.269"> <!-- 0 tests --> </tbody> <tbody id="sC.4.76"> @@ -2476,7 +2457,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.1">C.4.76 Section 17.1 Introduction to tables</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.76.#q270"> + <tbody id="sC.4.76.#q21.270"> <!-- 0 tests --> </tbody> <tbody id="sC.4.77"> @@ -2485,7 +2466,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.2">C.4.77 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.77.#q271"> + <tbody id="sC.4.77.#q21.271"> <!-- 0 tests --> </tbody> <tbody id="sC.4.78"> @@ -2494,7 +2475,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.2.1">C.4.78 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.78.#q272"> + <tbody id="sC.4.78.#q21.272"> <!-- 0 tests --> </tbody> <tbody id="sC.4.79"> @@ -2503,7 +2484,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.4">C.4.79 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.79.#q273"> + <tbody id="sC.4.79.#q21.273"> <!-- 0 tests --> </tbody> <tbody id="sC.4.80"> @@ -2512,7 +2493,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5">C.4.80 Section 17.5 Visual layout of table contents</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.80.#q274"> + <tbody id="sC.4.80.#q21.274"> <!-- 0 tests --> </tbody> <tbody id="sC.4.81"> @@ -2521,7 +2502,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.1">C.4.81 Section 17.5.1 Table layers and transparency</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.81.#q275"> + <tbody id="sC.4.81.#q21.275"> <!-- 0 tests --> </tbody> <tbody id="sC.4.82"> @@ -2530,7 +2511,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.2">C.4.82 Section 17.5.2 Table width algorithms</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.82.#q276"> + <tbody id="sC.4.82.#q21.276"> <!-- 0 tests --> </tbody> <tbody id="sC.4.83"> @@ -2539,7 +2520,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.2.1">C.4.83 Section 17.5.2.1 Fixed table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.83.#q277"> + <tbody id="sC.4.83.#q21.277"> <!-- 0 tests --> </tbody> <tbody id="sC.4.84"> @@ -2548,7 +2529,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.2.2">C.4.84 Section 17.5.2.2 Automatic table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.84.#q278"> + <tbody id="sC.4.84.#q21.278"> <!-- 0 tests --> </tbody> <tbody id="sC.4.85"> @@ -2557,7 +2538,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.4">C.4.85 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.85.#q279"> + <tbody id="sC.4.85.#q21.279"> <!-- 0 tests --> </tbody> <tbody id="sC.4.86"> @@ -2566,7 +2547,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.5">C.4.86 Section 17.5.5 Dynamic row and column effects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.86.#q280"> + <tbody id="sC.4.86.#q21.280"> <!-- 0 tests --> </tbody> <tbody id="sC.4.87"> @@ -2575,7 +2556,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.6.1">C.4.87 Section 17.6.1 The separated borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.87.#q281"> + <tbody id="sC.4.87.#q21.281"> <!-- 0 tests --> </tbody> <tbody id="sC.4.88"> @@ -2584,7 +2565,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.6.2">C.4.88 Section 17.6.2 The collapsing borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.88.#q282"> + <tbody id="sC.4.88.#q21.282"> <!-- 0 tests --> </tbody> <tbody id="sC.4.89"> @@ -2593,7 +2574,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r18.2">C.4.89 Section 18.2 System Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.89.#q283"> + <tbody id="sC.4.89.#q21.283"> <!-- 0 tests --> </tbody> <tbody id="sC.4.90"> @@ -2602,7 +2583,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r18.4">C.4.90 Section 18.4 Dynamic outlines</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.90.#q284"> + <tbody id="sC.4.90.#q21.284"> <!-- 0 tests --> </tbody> <tbody id="sC.4.91"> @@ -2611,7 +2592,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r18.4.1">C.4.91 Section 18.4.1 Outlines and the focus</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.91.#q285"> + <tbody id="sC.4.91.#q21.285"> <!-- 0 tests --> </tbody> <tbody id="sC.4.92"> @@ -2620,7 +2601,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#rD">C.4.92 Appendix D Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.92.#q286"> + <tbody id="sC.4.92.#q21.286"> <!-- 0 tests --> </tbody> <tbody id="sC.5"> @@ -2635,7 +2616,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.1.4.2.1">C.5.1 Section 1.4.2.1 Value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.1.#q288"> + <tbody id="sC.5.1.#q21.288"> <!-- 0 tests --> </tbody> <tbody id="sC.5.2"> @@ -2644,7 +2625,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.2.3">C.5.2 Section 2.3 The CSS 2.1 processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.2.#q289"> + <tbody id="sC.5.2.#q21.289"> <!-- 0 tests --> </tbody> <tbody id="sC.5.3"> @@ -2653,7 +2634,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.3.1">C.5.3 Section 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.3.#q290"> + <tbody id="sC.5.3.#q21.290"> <!-- 0 tests --> </tbody> <tbody id="sC.5.4"> @@ -2662,7 +2643,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.1">C.5.4 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.4.#q291"> + <tbody id="sC.5.4.#q21.291"> <!-- 0 tests --> </tbody> <tbody id="sC.5.5"> @@ -2671,7 +2652,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.2.2">C.5.5 Section 4.1.2.2 Informative Historical Notes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.5.#q292"> + <tbody id="sC.5.5.#q21.292"> <!-- 0 tests --> </tbody> <tbody id="sC.5.6"> @@ -2680,7 +2661,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3">C.5.6 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.6.#q293"> + <tbody id="sC.5.6.#q21.293"> <!-- 0 tests --> </tbody> <tbody id="sC.5.7"> @@ -2689,7 +2670,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3a">C.5.7 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.7.#q294"> + <tbody id="sC.5.7.#q21.294"> <!-- 0 tests --> </tbody> <tbody id="sC.5.8"> @@ -2698,7 +2679,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3b">C.5.8 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.8.#q295"> + <tbody id="sC.5.8.#q21.295"> <!-- 0 tests --> </tbody> <tbody id="sC.5.9"> @@ -2707,7 +2688,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3c">C.5.9 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.9.#q296"> + <tbody id="sC.5.9.#q21.296"> <!-- 0 tests --> </tbody> <tbody id="sC.5.10"> @@ -2716,7 +2697,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.5">C.5.10 Section 4.1.5 At-rules</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.10.#q297"> + <tbody id="sC.5.10.#q21.297"> <!-- 0 tests --> </tbody> <tbody id="sC.5.11"> @@ -2725,7 +2706,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.7">C.5.11 Section 4.1.7 Rule sets, declaration blocks, and selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.11.#q298"> + <tbody id="sC.5.11.#q21.298"> <!-- 0 tests --> </tbody> <tbody id="sC.5.12"> @@ -2734,7 +2715,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.2">C.5.12 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.12.#q299"> + <tbody id="sC.5.12.#q21.299"> <!-- 0 tests --> </tbody> <tbody id="sC.5.13"> @@ -2743,7 +2724,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.2a">C.5.13 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.13.#q300"> + <tbody id="sC.5.13.#q21.300"> <!-- 0 tests --> </tbody> <tbody id="sC.5.14"> @@ -2752,7 +2733,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.3.2">C.5.14 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.14.#q301"> + <tbody id="sC.5.14.#q21.301"> <!-- 0 tests --> </tbody> <tbody id="sC.5.15"> @@ -2761,7 +2742,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.3.5">C.5.15 Section 4.3.5 Counters</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.15.#q302"> + <tbody id="sC.5.15.#q21.302"> <!-- 0 tests --> </tbody> <tbody id="sC.5.16"> @@ -2770,7 +2751,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.8.1">C.5.16 Section 5.8.1 Matching attributes and attribute values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.16.#q303"> + <tbody id="sC.5.16.#q21.303"> <!-- 0 tests --> </tbody> <tbody id="sC.5.17"> @@ -2779,7 +2760,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.8.2">C.5.17 Section 5.8.2 Default attribute values in DTDs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.17.#q304"> + <tbody id="sC.5.17.#q21.304"> <!-- 0 tests --> </tbody> <tbody id="sC.5.18"> @@ -2788,7 +2769,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.11.4">C.5.18 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.18.#q305"> + <tbody id="sC.5.18.#q21.305"> <!-- 0 tests --> </tbody> <tbody id="sC.5.19"> @@ -2797,7 +2778,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.12.3">C.5.19 Section 5.12.3 The :before and :after pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.19.#q306"> + <tbody id="sC.5.19.#q21.306"> <!-- 0 tests --> </tbody> <tbody id="sC.5.20"> @@ -2806,7 +2787,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.3">C.5.20 Section 6.3 The @import rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.20.#q307"> + <tbody id="sC.5.20.#q21.307"> <!-- 0 tests --> </tbody> <tbody id="sC.5.21"> @@ -2815,7 +2796,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.3a">C.5.21 Section 6.3 The @import rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.21.#q308"> + <tbody id="sC.5.21.#q21.308"> <!-- 0 tests --> </tbody> <tbody id="sC.5.22"> @@ -2824,7 +2805,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.4.1">C.5.22 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.22.#q309"> + <tbody id="sC.5.22.#q21.309"> <!-- 0 tests --> </tbody> <tbody id="sC.5.23"> @@ -2833,7 +2814,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.4.1a">C.5.23 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.23.#q310"> + <tbody id="sC.5.23.#q21.310"> <!-- 0 tests --> </tbody> <tbody id="sC.5.24"> @@ -2842,7 +2823,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.7.2.1">C.5.24 Section 7.2.1 The @media rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.24.#q311"> + <tbody id="sC.5.24.#q21.311"> <!-- 0 tests --> </tbody> <tbody id="sC.5.25"> @@ -2851,7 +2832,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.8.3.1">C.5.25 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.25.#q312"> + <tbody id="sC.5.25.#q21.312"> <!-- 0 tests --> </tbody> <tbody id="sC.5.26"> @@ -2860,30 +2841,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.8.3.1a">C.5.26 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.26.#q313"> - <!-- 2 tests --> - <tr id="margin-collapse-037-C.5.26.#q313" class=""> - <td> - <a href="margin-collapse-037.htm">margin-collapse-037</a></td> - <td><a href="reference/margin-collapse-037-ref.htm">=</a> </td> - <td></td> - <td>Collapsing margins - margin-bottom of the last in-flow child block collapsing with its parent min-height block's bottom margin - <ul class="assert"> - <li>The 'min-height' of a parent block element should have no influence over whether such parent block element's bottom margin is adjoining to its last child's bottom margin. In such situation, the bottom margin of the parent block element and the bottom margin of its last child should collapse as long as such parent block element has no bottom padding and has no bottom border.</li> - </ul> - </td> - </tr> - <tr id="margin-collapse-038-C.5.26.#q313" class=""> - <td> - <a href="margin-collapse-038.htm">margin-collapse-038</a></td> - <td><a href="reference/margin-collapse-038-ref.htm">=</a> </td> - <td></td> - <td>Collapsing margins - margin-bottom of the last in-flow child block collapsing with its max-height parent block's bottom margin - <ul class="assert"> - <li>The 'max-height' of a parent block element should have no influence over whether such parent block element's bottom margin is adjoining to its last child's bottom margin. In such situation, the bottom margin of the parent block element and the bottom margin of its last child should collapse as long as such parent block element has no bottom padding and has no bottom border.</li> - </ul> - </td> - </tr> + <tbody id="sC.5.26.#q21.313"> + <!-- 0 tests --> </tbody> <tbody id="sC.5.27"> <tr><th colspan="4" scope="rowgroup"> @@ -2891,7 +2850,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.8.3.1b">C.5.27 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.27.#q314"> + <tbody id="sC.5.27.#q21.314"> <!-- 0 tests --> </tbody> <tbody id="sC.5.28"> @@ -2900,7 +2859,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.2.2">C.5.28 Section 9.2.2 Inline-level elements and inline boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.28.#q315"> + <tbody id="sC.5.28.#q21.315"> <!-- 0 tests --> </tbody> <tbody id="sC.5.29"> @@ -2909,7 +2868,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.2.4">C.5.29 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.29.#q316"> + <tbody id="sC.5.29.#q21.316"> <!-- 0 tests --> </tbody> <tbody id="sC.5.30"> @@ -2918,7 +2877,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.3.2">C.5.30 Section 9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.30.#q317"> + <tbody id="sC.5.30.#q21.317"> <!-- 0 tests --> </tbody> <tbody id="sC.5.31"> @@ -2927,7 +2886,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.5">C.5.31 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.31.#q318"> + <tbody id="sC.5.31.#q21.318"> <!-- 0 tests --> </tbody> <tbody id="sC.5.32"> @@ -2936,7 +2895,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.5a">C.5.32 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.32.#q319"> + <tbody id="sC.5.32.#q21.319"> <!-- 0 tests --> </tbody> <tbody id="sC.5.33"> @@ -2945,7 +2904,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.5.2">C.5.33 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.33.#q320"> + <tbody id="sC.5.33.#q21.320"> <!-- 0 tests --> </tbody> <tbody id="sC.5.34"> @@ -2954,7 +2913,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.6.1">C.5.34 Section 9.6.1 Fixed positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.34.#q321"> + <tbody id="sC.5.34.#q21.321"> <!-- 0 tests --> </tbody> <tbody id="sC.5.35"> @@ -2963,7 +2922,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.9.1">C.5.35 Section 9.9.1 Specifying the stack level: the 'z-index' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.35.#q322"> + <tbody id="sC.5.35.#q21.322"> <!-- 0 tests --> </tbody> <tbody id="sC.5.36"> @@ -2972,7 +2931,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.1">C.5.36 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.36.#q323"> + <tbody id="sC.5.36.#q21.323"> <!-- 0 tests --> </tbody> <tbody id="sC.5.37"> @@ -2981,7 +2940,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3">C.5.37 Section 10.3 Calculating widths and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.37.#q324"> + <tbody id="sC.5.37.#q21.324"> <!-- 0 tests --> </tbody> <tbody id="sC.5.38"> @@ -2990,7 +2949,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.1">C.5.38 Section 10.3.1 Inline, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.38.#q325"> + <tbody id="sC.5.38.#q21.325"> <!-- 0 tests --> </tbody> <tbody id="sC.5.39"> @@ -2999,7 +2958,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.2">C.5.39 Section 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.39.#q326"> + <tbody id="sC.5.39.#q21.326"> <!-- 0 tests --> </tbody> <tbody id="sC.5.40"> @@ -3008,7 +2967,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.2a">C.5.40 Section 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.40.#q327"> + <tbody id="sC.5.40.#q21.327"> <!-- 0 tests --> </tbody> <tbody id="sC.5.41"> @@ -3017,7 +2976,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.3">C.5.41 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.41.#q328"> + <tbody id="sC.5.41.#q21.328"> <!-- 0 tests --> </tbody> <tbody id="sC.5.42"> @@ -3026,7 +2985,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.7">C.5.42 Section 10.3.7 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.42.#q329"> + <tbody id="sC.5.42.#q21.329"> <!-- 0 tests --> </tbody> <tbody id="sC.5.43"> @@ -3035,7 +2994,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.7a">C.5.43 Section 10.3.7 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.43.#q330"> + <tbody id="sC.5.43.#q21.330"> <!-- 0 tests --> </tbody> <tbody id="sC.5.44"> @@ -3044,7 +3003,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.8">C.5.44 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.44.#q331"> + <tbody id="sC.5.44.#q21.331"> <!-- 0 tests --> </tbody> <tbody id="sC.5.45"> @@ -3053,7 +3012,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.8a">C.5.45 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.45.#q332"> + <tbody id="sC.5.45.#q21.332"> <!-- 0 tests --> </tbody> <tbody id="sC.5.46"> @@ -3062,7 +3021,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.8c">C.5.46 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.46.#q333"> + <tbody id="sC.5.46.#q21.333"> <!-- 0 tests --> </tbody> <tbody id="sC.5.47"> @@ -3071,7 +3030,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.5">C.5.47 Section 10.5 Content height: the 'height' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.47.#q334"> + <tbody id="sC.5.47.#q21.334"> <!-- 0 tests --> </tbody> <tbody id="sC.5.48"> @@ -3080,7 +3039,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.6.2">C.5.48 Section 10.6.2 Inline replaced elements […]</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.48.#q335"> + <tbody id="sC.5.48.#q21.335"> <!-- 0 tests --> </tbody> <tbody id="sC.5.49"> @@ -3089,7 +3048,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.6.4">C.5.49 Section 10.6.4 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.49.#q336"> + <tbody id="sC.5.49.#q21.336"> <!-- 0 tests --> </tbody> <tbody id="sC.5.50"> @@ -3098,7 +3057,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.6.5">C.5.50 Section 10.6.5 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.50.#q337"> + <tbody id="sC.5.50.#q21.337"> <!-- 0 tests --> </tbody> <tbody id="sC.5.51"> @@ -3107,7 +3066,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.8.1">C.5.51 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.51.#q338"> + <tbody id="sC.5.51.#q21.338"> <!-- 0 tests --> </tbody> <tbody id="sC.5.52"> @@ -3116,7 +3075,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.11.1.1">C.5.52 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.52.#q339"> + <tbody id="sC.5.52.#q21.339"> <!-- 0 tests --> </tbody> <tbody id="sC.5.53"> @@ -3125,7 +3084,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.11.1.2">C.5.53 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.53.#q340"> + <tbody id="sC.5.53.#q21.340"> <!-- 0 tests --> </tbody> <tbody id="sC.5.54"> @@ -3134,7 +3093,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.2">C.5.54 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.54.#q341"> + <tbody id="sC.5.54.#q21.341"> <!-- 0 tests --> </tbody> <tbody id="sC.5.55"> @@ -3143,7 +3102,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.4.2">C.5.55 Section 12.4.2 Counter styles</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.55.#q342"> + <tbody id="sC.5.55.#q21.342"> <!-- 0 tests --> </tbody> <tbody id="sC.5.56"> @@ -3152,7 +3111,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5">C.5.56 Section 12.5 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.56.#q343"> + <tbody id="sC.5.56.#q21.343"> <!-- 0 tests --> </tbody> <tbody id="sC.5.57"> @@ -3161,7 +3120,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5.1">C.5.57 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.57.#q344"> + <tbody id="sC.5.57.#q21.344"> <!-- 0 tests --> </tbody> <tbody id="sC.5.58"> @@ -3170,7 +3129,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5.1a">C.5.58 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.58.#q345"> + <tbody id="sC.5.58.#q21.345"> <!-- 0 tests --> </tbody> <tbody id="sC.5.59"> @@ -3179,7 +3138,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5.1b">C.5.59 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.59.#q346"> + <tbody id="sC.5.59.#q21.346"> <!-- 0 tests --> </tbody> <tbody id="sC.5.60"> @@ -3188,7 +3147,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.2">C.5.60 Section 13.2 Page boxes: the @page rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.60.#q347"> + <tbody id="sC.5.60.#q21.347"> <!-- 0 tests --> </tbody> <tbody id="sC.5.61"> @@ -3197,7 +3156,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.2.1.1">C.5.61 Section 13.2.1.1 Rendering page boxes that do not fit a target sheet</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.61.#q348"> + <tbody id="sC.5.61.#q21.348"> <!-- 0 tests --> </tbody> <tbody id="sC.5.62"> @@ -3206,7 +3165,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.2.3">C.5.62 Section 13.2.3 Content outside the page box</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.62.#q349"> + <tbody id="sC.5.62.#q21.349"> <!-- 0 tests --> </tbody> <tbody id="sC.5.63"> @@ -3215,7 +3174,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.1">C.5.63 Section 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.63.#q350"> + <tbody id="sC.5.63.#q21.350"> <!-- 0 tests --> </tbody> <tbody id="sC.5.64"> @@ -3224,7 +3183,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.1a">C.5.64 Section 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.64.#q351"> + <tbody id="sC.5.64.#q21.351"> <!-- 0 tests --> </tbody> <tbody id="sC.5.65"> @@ -3233,7 +3192,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.2">C.5.65 Section 13.3.2 Breaks inside elements: 'orphans', 'widows'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.65.#q352"> + <tbody id="sC.5.65.#q21.352"> <!-- 0 tests --> </tbody> <tbody id="sC.5.66"> @@ -3242,7 +3201,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.2a">C.5.66 Section 13.3.2 Breaks inside elements: 'orphans', 'widows'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.66.#q353"> + <tbody id="sC.5.66.#q21.353"> <!-- 0 tests --> </tbody> <tbody id="sC.5.67"> @@ -3251,7 +3210,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3">C.5.67 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.67.#q354"> + <tbody id="sC.5.67.#q21.354"> <!-- 0 tests --> </tbody> <tbody id="sC.5.68"> @@ -3260,7 +3219,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3a">C.5.68 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.68.#q355"> + <tbody id="sC.5.68.#q21.355"> <!-- 0 tests --> </tbody> <tbody id="sC.5.69"> @@ -3269,7 +3228,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3b">C.5.69 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.69.#q356"> + <tbody id="sC.5.69.#q21.356"> <!-- 0 tests --> </tbody> <tbody id="sC.5.70"> @@ -3278,7 +3237,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.5">C.5.70 Section 13.3.5 "Best" page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.70.#q357"> + <tbody id="sC.5.70.#q21.357"> <!-- 0 tests --> </tbody> <tbody id="sC.5.71"> @@ -3287,7 +3246,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.14.2">C.5.71 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.71.#q358"> + <tbody id="sC.5.71.#q21.358"> <!-- 0 tests --> </tbody> <tbody id="sC.5.72"> @@ -3296,7 +3255,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.14.2a">C.5.72 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.72.#q359"> + <tbody id="sC.5.72.#q21.359"> <!-- 0 tests --> </tbody> <tbody id="sC.5.73"> @@ -3305,7 +3264,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.14.2.1a">C.5.73 Section 14.2.1 Background properties: 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', and 'background'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.73.#q360"> + <tbody id="sC.5.73.#q21.360"> <!-- 0 tests --> </tbody> <tbody id="sC.5.74"> @@ -3314,7 +3273,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.6">C.5.74 Section 15.6 Font boldness: the 'font-weight' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.74.#q361"> + <tbody id="sC.5.74.#q21.361"> <!-- 0 tests --> </tbody> <tbody id="sC.5.75"> @@ -3323,7 +3282,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.16.6">C.5.75 Section 16.6 Whitespace: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.75.#q362"> + <tbody id="sC.5.75.#q21.362"> <!-- 0 tests --> </tbody> <tbody id="sC.5.76"> @@ -3332,19 +3291,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.16.6.1">C.5.76 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.76.#q363"> - <!-- 1 tests --> - <tr id="white-space-007-C.5.76.#q363" class="ahem"> - <td> - <a href="white-space-007.htm">white-space-007</a></td> - <td></td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td> - <td>white-space - <ul class="assert"> - <li>'white-space: normal' and 'white-space: nowrap' should collapse sequences of white space. Regarding wrapping, line breaking opportunities are determined on the text prior to white space collapsing steps.</li> - </ul> - </td> - </tr> + <tbody id="sC.5.76.#q21.363"> + <!-- 0 tests --> </tbody> <tbody id="sC.5.77"> <tr><th colspan="4" scope="rowgroup"> @@ -3352,7 +3300,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.2.1">C.5.77 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.77.#q364"> + <tbody id="sC.5.77.#q21.364"> <!-- 0 tests --> </tbody> <tbody id="sC.5.78"> @@ -3361,7 +3309,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.2.1a">C.5.78 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.78.#q365"> + <tbody id="sC.5.78.#q21.365"> <!-- 0 tests --> </tbody> <tbody id="sC.5.79"> @@ -3370,7 +3318,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.4">C.5.79 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.79.#q366"> + <tbody id="sC.5.79.#q21.366"> <!-- 0 tests --> </tbody> <tbody id="sC.5.80"> @@ -3379,7 +3327,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.5.4a">C.5.80 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.80.#q367"> + <tbody id="sC.5.80.#q21.367"> <!-- 0 tests --> </tbody> <tbody id="sC.5.81"> @@ -3388,7 +3336,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.18.1">C.5.81 Section 18.1 Cursors: the 'cursor' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.81.#q368"> + <tbody id="sC.5.81.#q21.368"> <!-- 0 tests --> </tbody> <tbody id="sC.5.82"> @@ -3397,7 +3345,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.B.2">C.5.82 Section B.2 Informative references</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.82.#q369"> + <tbody id="sC.5.82.#q21.369"> <!-- 0 tests --> </tbody> <tbody id="sC.5.83"> @@ -3406,7 +3354,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.D">C.5.83 Appendix D. Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.83.#q370"> + <tbody id="sC.5.83.#q21.370"> <!-- 0 tests --> </tbody> <tbody id="sC.5.84"> @@ -3415,7 +3363,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.Da">C.5.84 Appendix D. Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.84.#q371"> + <tbody id="sC.5.84.#q21.371"> <!-- 0 tests --> </tbody> <tbody id="sC.5.85"> @@ -3424,7 +3372,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.E.2">C.5.85 Section E.2 Painting order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.85.#q372"> + <tbody id="sC.5.85.#q21.372"> <!-- 0 tests --> </tbody> <tbody id="sC.5.86"> @@ -3433,7 +3381,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G">C.5.86 Appendix G. Grammar of CSS 2.1</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.86.#q373"> + <tbody id="sC.5.86.#q21.373"> <!-- 0 tests --> </tbody> <tbody id="sC.5.87"> @@ -3442,7 +3390,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.1">C.5.87 Section G.1 Grammar</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.87.#q374"> + <tbody id="sC.5.87.#q21.374"> <!-- 0 tests --> </tbody> <tbody id="sC.5.88"> @@ -3451,7 +3399,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2">C.5.88 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.88.#q375"> + <tbody id="sC.5.88.#q21.375"> <!-- 0 tests --> </tbody> <tbody id="sC.5.89"> @@ -3460,7 +3408,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2a">C.5.89 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.89.#q376"> + <tbody id="sC.5.89.#q21.376"> <!-- 0 tests --> </tbody> <tbody id="sC.5.90"> @@ -3469,7 +3417,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2b">C.5.90 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.90.#q377"> + <tbody id="sC.5.90.#q21.377"> <!-- 0 tests --> </tbody> <tbody id="sC.5.91"> @@ -3478,7 +3426,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2c">C.5.91 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.91.#q378"> + <tbody id="sC.5.91.#q21.378"> <!-- 0 tests --> </tbody> <tbody id="sC.5.92"> @@ -3487,7 +3435,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.I">C.5.92 Appendix I. Index</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.92.#q379"> + <tbody id="sC.5.92.#q21.379"> <!-- 0 tests --> </tbody> <tbody id="sC.6"> @@ -3502,7 +3450,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.2b">C.6.1 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.1.#q381"> + <tbody id="sC.6.1.#q21.381"> <!-- 0 tests --> </tbody> <tbody id="sC.6.2"> @@ -3511,7 +3459,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3c">C.6.2 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.2.#q382"> + <tbody id="sC.6.2.#q21.382"> <!-- 0 tests --> </tbody> <tbody id="sC.6.3"> @@ -3520,7 +3468,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.3">C.6.3 Section 15.3 Font family: the 'font-family' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.3.#q383"> + <tbody id="sC.6.3.#q21.383"> <!-- 0 tests --> </tbody> <tbody id="sC.6.4"> @@ -3529,7 +3477,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.3.1.1">C.6.4 Section 15.3.1.1 serif</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.4.#q384"> + <tbody id="sC.6.4.#q21.384"> <!-- 0 tests --> </tbody> <tbody id="sC.6.5"> @@ -3538,7 +3486,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.7">C.6.5 Section 15.7 Font size: the 'font-size' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.5.#q385"> + <tbody id="sC.6.5.#q21.385"> <!-- 0 tests --> </tbody> <tbody id="sC.6.6"> @@ -3547,7 +3495,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.5.2.1">C.6.6 Section 17.5.2.1 Fixed table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.6.#q386"> + <tbody id="sC.6.6.#q21.386"> <!-- 0 tests --> </tbody> <tbody id="sC.6.7"> @@ -3556,7 +3504,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.5.3">C.6.7 Section 17.5.3 Table height layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.7.#q387"> + <tbody id="sC.6.7.#q21.387"> <!-- 0 tests --> </tbody> <tbody id="sC.6.8"> @@ -3565,7 +3513,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.Ga">C.6.8 Appendix G. Grammar of CSS 2.1</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.8.#q388"> + <tbody id="sC.6.8.#q21.388"> <!-- 0 tests --> </tbody> <tbody id="sC.7"> @@ -3580,7 +3528,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.1">C.7.1 Section 1.4.2.1 Value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.1.#q390"> + <tbody id="sC.7.1.#q21.390"> <!-- 0 tests --> </tbody> <tbody id="sC.7.2"> @@ -3589,7 +3537,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.3.1">C.7.2 Section 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.2.#q391"> + <tbody id="sC.7.2.#q21.391"> <!-- 0 tests --> </tbody> <tbody id="sC.7.3"> @@ -3598,7 +3546,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1">C.7.3 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.3.#q392"> + <tbody id="sC.7.3.#q21.392"> <!-- 0 tests --> </tbody> <tbody id="sC.7.4"> @@ -3607,7 +3555,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1a">C.7.4 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.4.#q393"> + <tbody id="sC.7.4.#q21.393"> <!-- 0 tests --> </tbody> <tbody id="sC.7.5"> @@ -3616,7 +3564,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1b">C.7.5 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.5.#q394"> + <tbody id="sC.7.5.#q21.394"> <!-- 0 tests --> </tbody> <tbody id="sC.7.6"> @@ -3625,7 +3573,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1c">C.7.6 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.6.#q395"> + <tbody id="sC.7.6.#q21.395"> <!-- 0 tests --> </tbody> <tbody id="sC.7.7"> @@ -3634,7 +3582,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.2.2">C.7.7 Section 4.1.2.2 Informative Historical Notes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.7.#q396"> + <tbody id="sC.7.7.#q21.396"> <!-- 0 tests --> </tbody> <tbody id="sC.7.8"> @@ -3643,7 +3591,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.3">C.7.8 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.8.#q397"> + <tbody id="sC.7.8.#q21.397"> <!-- 0 tests --> </tbody> <tbody id="sC.7.9"> @@ -3652,7 +3600,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.3a">C.7.9 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.9.#q398"> + <tbody id="sC.7.9.#q21.398"> <!-- 0 tests --> </tbody> <tbody id="sC.7.10"> @@ -3661,7 +3609,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.8">C.7.10 Section 4.1.8 Declarations and properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.10.#q399"> + <tbody id="sC.7.10.#q21.399"> <!-- 0 tests --> </tbody> <tbody id="sC.7.11"> @@ -3670,7 +3618,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.2">C.7.11 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.11.#q400"> + <tbody id="sC.7.11.#q21.400"> <!-- 0 tests --> </tbody> <tbody id="sC.7.12"> @@ -3679,7 +3627,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.2">C.7.12 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.12.#q401"> + <tbody id="sC.7.12.#q21.401"> <!-- 0 tests --> </tbody> <tbody id="sC.7.13"> @@ -3688,7 +3636,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.2a">C.7.13 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.13.#q402"> + <tbody id="sC.7.13.#q21.402"> <!-- 0 tests --> </tbody> <tbody id="sC.7.14"> @@ -3697,7 +3645,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.4a">C.7.14 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.14.#q403"> + <tbody id="sC.7.14.#q21.403"> <!-- 0 tests --> </tbody> <tbody id="sC.7.15"> @@ -3706,7 +3654,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.4">C.7.15 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.15.#q404"> + <tbody id="sC.7.15.#q21.404"> <!-- 0 tests --> </tbody> <tbody id="sC.7.16"> @@ -3715,7 +3663,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.8.2">C.7.16 Section 5.8.2 Default attribute values in DTDs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.16.#q405"> + <tbody id="sC.7.16.#q21.405"> <!-- 0 tests --> </tbody> <tbody id="sC.7.17"> @@ -3724,7 +3672,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.11.4">C.7.17 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.17.#q406"> + <tbody id="sC.7.17.#q21.406"> <!-- 0 tests --> </tbody> <tbody id="sC.7.18"> @@ -3733,7 +3681,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.12">C.7.18 Section 5.12 Pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.18.#q407"> + <tbody id="sC.7.18.#q21.407"> <!-- 0 tests --> </tbody> <tbody id="sC.7.19"> @@ -3742,7 +3690,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.12.1">C.7.19 Section 5.12.1 The :first-line pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.19.#q408"> + <tbody id="sC.7.19.#q21.408"> <!-- 0 tests --> </tbody> <tbody id="sC.7.20"> @@ -3751,7 +3699,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.12.2">C.7.20 Section 5.12.2 The :first-letter pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.20.#q409"> + <tbody id="sC.7.20.#q21.409"> <!-- 0 tests --> </tbody> <tbody id="sC.7.21"> @@ -3760,7 +3708,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.6.2">C.7.21 Section 6.2 Inheritance</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.21.#q410"> + <tbody id="sC.7.21.#q21.410"> <!-- 0 tests --> </tbody> <tbody id="sC.7.22"> @@ -3769,7 +3717,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.6.4.4">C.7.22 Section 6.4.4 Precedence of non-CSS presentational hints</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.22.#q411"> + <tbody id="sC.7.22.#q21.411"> <!-- 0 tests --> </tbody> <tbody id="sC.7.23"> @@ -3778,7 +3726,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.7.3">C.7.23 Section 7.3 Recognized media types</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.23.#q412"> + <tbody id="sC.7.23.#q21.412"> <!-- 0 tests --> </tbody> <tbody id="sC.7.24"> @@ -3787,7 +3735,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.8.3.1">C.7.24 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.24.#q413"> + <tbody id="sC.7.24.#q21.413"> <!-- 0 tests --> </tbody> <tbody id="sC.7.25"> @@ -3796,7 +3744,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.8.3.1a">C.7.25 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.25.#q414"> + <tbody id="sC.7.25.#q21.414"> <!-- 0 tests --> </tbody> <tbody id="sC.7.26"> @@ -3805,7 +3753,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1">C.7.26 Section 9.2.1 Block-level elements and block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.26.#q415"> + <tbody id="sC.7.26.#q21.415"> <!-- 0 tests --> </tbody> <tbody id="sC.7.27"> @@ -3814,7 +3762,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1">C.7.27 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.27.#q416"> + <tbody id="sC.7.27.#q21.416"> <!-- 0 tests --> </tbody> <tbody id="sC.7.28"> @@ -3823,7 +3771,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1a">C.7.28 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.28.#q417"> + <tbody id="sC.7.28.#q21.417"> <!-- 0 tests --> </tbody> <tbody id="sC.7.29"> @@ -3832,7 +3780,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1b">C.7.29 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.29.#q418"> + <tbody id="sC.7.29.#q21.418"> <!-- 0 tests --> </tbody> <tbody id="sC.7.30"> @@ -3841,7 +3789,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1c">C.7.30 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.30.#q419"> + <tbody id="sC.7.30.#q21.419"> <!-- 0 tests --> </tbody> <tbody id="sC.7.31"> @@ -3850,7 +3798,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.2">C.7.31 Section 9.2.2 Inline-level elements and inline boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.31.#q420"> + <tbody id="sC.7.31.#q21.420"> <!-- 0 tests --> </tbody> <tbody id="sC.7.32"> @@ -3859,7 +3807,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.3a">C.7.32 Section 9.2.3 Run-in boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.32.#q421"> + <tbody id="sC.7.32.#q21.421"> <!-- 0 tests --> </tbody> <tbody id="sC.7.33"> @@ -3868,7 +3816,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.4">C.7.33 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.33.#q422"> + <tbody id="sC.7.33.#q21.422"> <!-- 0 tests --> </tbody> <tbody id="sC.7.34"> @@ -3877,7 +3825,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.4a">C.7.34 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.34.#q423"> + <tbody id="sC.7.34.#q21.423"> <!-- 0 tests --> </tbody> <tbody id="sC.7.35"> @@ -3886,7 +3834,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.3">C.7.35 Section 9.3 Positioning schemes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.35.#q424"> + <tbody id="sC.7.35.#q21.424"> <!-- 0 tests --> </tbody> <tbody id="sC.7.36"> @@ -3895,7 +3843,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.4">C.7.36 Section 9.4 Normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.36.#q425"> + <tbody id="sC.7.36.#q21.425"> <!-- 0 tests --> </tbody> <tbody id="sC.7.37"> @@ -3904,7 +3852,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.3.2">C.7.37 Section 9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.37.#q426"> + <tbody id="sC.7.37.#q21.426"> <!-- 0 tests --> </tbody> <tbody id="sC.7.38"> @@ -3913,7 +3861,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5">C.7.38 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.38.#q427"> + <tbody id="sC.7.38.#q21.427"> <!-- 0 tests --> </tbody> <tbody id="sC.7.39"> @@ -3922,7 +3870,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5a">C.7.39 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.39.#q428"> + <tbody id="sC.7.39.#q21.428"> <!-- 0 tests --> </tbody> <tbody id="sC.7.40"> @@ -3931,7 +3879,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2">C.7.40 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.40.#q429"> + <tbody id="sC.7.40.#q21.429"> <!-- 0 tests --> </tbody> <tbody id="sC.7.41"> @@ -3940,7 +3888,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2a">C.7.41 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.41.#q430"> + <tbody id="sC.7.41.#q21.430"> <!-- 0 tests --> </tbody> <tbody id="sC.7.42"> @@ -3949,7 +3897,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2b">C.7.42 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.42.#q431"> + <tbody id="sC.7.42.#q21.431"> <!-- 0 tests --> </tbody> <tbody id="sC.7.43"> @@ -3958,7 +3906,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2c">C.7.43 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.43.#q432"> + <tbody id="sC.7.43.#q21.432"> <!-- 0 tests --> </tbody> <tbody id="sC.7.44"> @@ -3967,7 +3915,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.14.2.1">C.7.44 Section 14.2.1 Background properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.44.#q433"> + <tbody id="sC.7.44.#q21.433"> <!-- 0 tests --> </tbody> <tbody id="sC.7.45"> @@ -3976,7 +3924,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.9.1">C.7.45 Section 9.9.1 Specifying the stack level: the 'z-index' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.45.#q434"> + <tbody id="sC.7.45.#q21.434"> <!-- 0 tests --> </tbody> <tbody id="sC.7.46"> @@ -3985,7 +3933,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.10">C.7.46 Section 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.46.#q435"> + <tbody id="sC.7.46.#q21.435"> <!-- 0 tests --> </tbody> <tbody id="sC.7.47"> @@ -3994,7 +3942,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.10a">C.7.47 Section 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.47.#q436"> + <tbody id="sC.7.47.#q21.436"> <!-- 0 tests --> </tbody> <tbody id="sC.7.48"> @@ -4003,7 +3951,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.10b">C.7.48 Section 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.48.#q437"> + <tbody id="sC.7.48.#q21.437"> <!-- 0 tests --> </tbody> <tbody id="sC.7.49"> @@ -4012,7 +3960,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.1">C.7.49 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.49.#q438"> + <tbody id="sC.7.49.#q21.438"> <!-- 0 tests --> </tbody> <tbody id="sC.7.50"> @@ -4021,7 +3969,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.2">C.7.50 Section 10.2 Content width: the 'width' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.50.#q439"> + <tbody id="sC.7.50.#q21.439"> <!-- 0 tests --> </tbody> <tbody id="sC.7.51"> @@ -4030,7 +3978,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.2a">C.7.51 Section 10.2 Content width: the 'width' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.51.#q440"> + <tbody id="sC.7.51.#q21.440"> <!-- 0 tests --> </tbody> <tbody id="sC.7.52"> @@ -4039,7 +3987,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.2b">C.7.52 Section 10.2 Content width: the 'width' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.52.#q441"> + <tbody id="sC.7.52.#q21.441"> <!-- 0 tests --> </tbody> <tbody id="sC.7.53"> @@ -4048,7 +3996,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.5">C.7.53 Section 10.5 Content height: the 'height' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.53.#q442"> + <tbody id="sC.7.53.#q21.442"> <!-- 0 tests --> </tbody> <tbody id="sC.7.54"> @@ -4057,7 +4005,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.5a">C.7.54 Section 10.5 Content height: the 'height' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.54.#q443"> + <tbody id="sC.7.54.#q21.443"> <!-- 0 tests --> </tbody> <tbody id="sC.7.55"> @@ -4066,7 +4014,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.6.7">C.7.55 Section 10.6.7 'Auto' heights for block formatting context roots</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.55.#q444"> + <tbody id="sC.7.55.#q21.444"> <!-- 0 tests --> </tbody> <tbody id="sC.7.56"> @@ -4075,7 +4023,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.7">C.7.56 Section 10.7 Minimum and maximum heights: 'min-height' and 'max-height'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.56.#q445"> + <tbody id="sC.7.56.#q21.445"> <!-- 0 tests --> </tbody> <tbody id="sC.7.57"> @@ -4084,7 +4032,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8">C.7.57 Section 10.8 Line height calculations: the 'line-height' and 'vertical-align' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.57.#q446"> + <tbody id="sC.7.57.#q21.446"> <!-- 0 tests --> </tbody> <tbody id="sC.7.58"> @@ -4093,7 +4041,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8a">C.7.58 Section 10.8 Line height calculations: the 'line-height' and 'vertical-align' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.58.#q447"> + <tbody id="sC.7.58.#q21.447"> <!-- 0 tests --> </tbody> <tbody id="sC.7.59"> @@ -4102,7 +4050,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8.1">C.7.59 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.59.#q448"> + <tbody id="sC.7.59.#q21.448"> <!-- 0 tests --> </tbody> <tbody id="sC.7.60"> @@ -4111,7 +4059,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8.1a">C.7.60 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.60.#q449"> + <tbody id="sC.7.60.#q21.449"> <!-- 0 tests --> </tbody> <tbody id="sC.7.61"> @@ -4120,7 +4068,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8.1b">C.7.61 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.61.#q450"> + <tbody id="sC.7.61.#q21.450"> <!-- 0 tests --> </tbody> <tbody id="sC.7.62"> @@ -4129,7 +4077,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1">C.7.62 Section 11.1 Overflow and clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.62.#q451"> + <tbody id="sC.7.62.#q21.451"> <!-- 0 tests --> </tbody> <tbody id="sC.7.63"> @@ -4138,7 +4086,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.1">C.7.63 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.63.#q452"> + <tbody id="sC.7.63.#q21.452"> <!-- 0 tests --> </tbody> <tbody id="sC.7.64"> @@ -4147,7 +4095,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.1a">C.7.64 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.64.#q453"> + <tbody id="sC.7.64.#q21.453"> <!-- 0 tests --> </tbody> <tbody id="sC.7.65"> @@ -4156,7 +4104,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.1b">C.7.65 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.65.#q454"> + <tbody id="sC.7.65.#q21.454"> <!-- 0 tests --> </tbody> <tbody id="sC.7.66"> @@ -4165,7 +4113,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.2">C.7.66 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.66.#q455"> + <tbody id="sC.7.66.#q21.455"> <!-- 0 tests --> </tbody> <tbody id="sC.7.67"> @@ -4174,7 +4122,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5">C.7.67 Section 12.5 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.67.#q456"> + <tbody id="sC.7.67.#q21.456"> <!-- 0 tests --> </tbody> <tbody id="sC.7.68"> @@ -4183,7 +4131,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1">C.7.68 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.68.#q457"> + <tbody id="sC.7.68.#q21.457"> <!-- 0 tests --> </tbody> <tbody id="sC.7.69"> @@ -4192,7 +4140,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1a">C.7.69 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.69.#q458"> + <tbody id="sC.7.69.#q21.458"> <!-- 0 tests --> </tbody> <tbody id="sC.7.70"> @@ -4201,7 +4149,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1b">C.7.70 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.70.#q459"> + <tbody id="sC.7.70.#q21.459"> <!-- 0 tests --> </tbody> <tbody id="sC.7.71"> @@ -4210,7 +4158,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1c">C.7.71 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.71.#q460"> + <tbody id="sC.7.71.#q21.460"> <!-- 0 tests --> </tbody> <tbody id="sC.7.72"> @@ -4219,7 +4167,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1d">C.7.72 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.72.#q461"> + <tbody id="sC.7.72.#q21.461"> <!-- 0 tests --> </tbody> <tbody id="sC.7.73"> @@ -4228,7 +4176,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.2">C.7.73 Section 13.2 Page boxes: the @page rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.73.#q462"> + <tbody id="sC.7.73.#q21.462"> <!-- 0 tests --> </tbody> <tbody id="sC.7.74"> @@ -4237,7 +4185,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.2.2">C.7.74 Section 13.2.2 Page selectors: selecting left, right, and first pages</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.74.#q463"> + <tbody id="sC.7.74.#q21.463"> <!-- 0 tests --> </tbody> <tbody id="sC.7.75"> @@ -4246,7 +4194,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.3.2">C.7.75 Section 13.3.2 Breaks inside elements: 'orphans', 'widows'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.75.#q464"> + <tbody id="sC.7.75.#q21.464"> <!-- 0 tests --> </tbody> <tbody id="sC.7.76"> @@ -4255,7 +4203,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.3.3">C.7.76 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.76.#q465"> + <tbody id="sC.7.76.#q21.465"> <!-- 0 tests --> </tbody> <tbody id="sC.7.77"> @@ -4264,7 +4212,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.3">C.7.77 Section 15.3 Font family: the 'font-family' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.77.#q466"> + <tbody id="sC.7.77.#q21.466"> <!-- 0 tests --> </tbody> <tbody id="sC.7.78"> @@ -4273,7 +4221,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.3.1">C.7.78 Section 15.3.1 Generic font families</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.78.#q467"> + <tbody id="sC.7.78.#q21.467"> <!-- 0 tests --> </tbody> <tbody id="sC.7.79"> @@ -4282,7 +4230,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.6">C.7.79 Section 15.6 Font boldness: the 'font-weight' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.79.#q468"> + <tbody id="sC.7.79.#q21.468"> <!-- 0 tests --> </tbody> <tbody id="sC.7.80"> @@ -4291,7 +4239,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.6q">C.7.80 Section 15.6 Font boldness: the 'font-weight' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.80.#q469"> + <tbody id="sC.7.80.#q21.469"> <!-- 0 tests --> </tbody> <tbody id="sC.7.81"> @@ -4300,7 +4248,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.7">C.7.81 Section 15.7 Font size: the 'font-size' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.81.#q470"> + <tbody id="sC.7.81.#q21.470"> <!-- 0 tests --> </tbody> <tbody id="sC.7.82"> @@ -4309,7 +4257,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.1">C.7.82 Section 16.1 Indentation: the 'text-indent' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.82.#q471"> + <tbody id="sC.7.82.#q21.471"> <!-- 0 tests --> </tbody> <tbody id="sC.7.83"> @@ -4318,7 +4266,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.1a">C.7.83 Section 16.1 Indentation: the 'text-indent' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.83.#q472"> + <tbody id="sC.7.83.#q21.472"> <!-- 0 tests --> </tbody> <tbody id="sC.7.84"> @@ -4327,7 +4275,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.2">C.7.84 Section 16.2 Alignment: the 'text-align' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.84.#q473"> + <tbody id="sC.7.84.#q21.473"> <!-- 0 tests --> </tbody> <tbody id="sC.7.85"> @@ -4336,7 +4284,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.2a">C.7.85 Section 16.2 Alignment: the 'text-align' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.85.#q474"> + <tbody id="sC.7.85.#q21.474"> <!-- 0 tests --> </tbody> <tbody id="sC.7.86"> @@ -4345,7 +4293,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.3.1">C.7.86 Section 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.86.#q475"> + <tbody id="sC.7.86.#q21.475"> <!-- 0 tests --> </tbody> <tbody id="sC.7.87"> @@ -4354,7 +4302,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.3.1a">C.7.87 Section 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.87.#q476"> + <tbody id="sC.7.87.#q21.476"> <!-- 0 tests --> </tbody> <tbody id="sC.7.88"> @@ -4363,7 +4311,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.4">C.7.88 Section 16.4 Letter and word spacing: the 'letter-spacing' and 'word-spacing' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.88.#q477"> + <tbody id="sC.7.88.#q21.477"> <!-- 0 tests --> </tbody> <tbody id="sC.7.89"> @@ -4372,7 +4320,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6">C.7.89 Section 16.6 White space: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.89.#q478"> + <tbody id="sC.7.89.#q21.478"> <!-- 0 tests --> </tbody> <tbody id="sC.7.90"> @@ -4381,7 +4329,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6.1">C.7.90 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.90.#q479"> + <tbody id="sC.7.90.#q21.479"> <!-- 0 tests --> </tbody> <tbody id="sC.7.91"> @@ -4390,7 +4338,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6.1a">C.7.91 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.91.#q480"> + <tbody id="sC.7.91.#q21.480"> <!-- 0 tests --> </tbody> <tbody id="sC.7.92"> @@ -4399,7 +4347,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6.1b">C.7.92 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.92.#q481"> + <tbody id="sC.7.92.#q21.481"> <!-- 0 tests --> </tbody> <tbody id="sC.7.93"> @@ -4408,7 +4356,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.2">C.7.93 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.93.#q482"> + <tbody id="sC.7.93.#q21.482"> <!-- 0 tests --> </tbody> <tbody id="sC.7.94"> @@ -4417,7 +4365,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.2.1">C.7.94 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.94.#q483"> + <tbody id="sC.7.94.#q21.483"> <!-- 0 tests --> </tbody> <tbody id="sC.7.95"> @@ -4426,7 +4374,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.2.1a">C.7.95 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.95.#q484"> + <tbody id="sC.7.95.#q21.484"> <!-- 0 tests --> </tbody> <tbody id="sC.7.96"> @@ -4435,7 +4383,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.4">C.7.96 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.96.#q485"> + <tbody id="sC.7.96.#q21.485"> <!-- 0 tests --> </tbody> <tbody id="sC.7.97"> @@ -4444,7 +4392,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.4a">C.7.97 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.97.#q486"> + <tbody id="sC.7.97.#q21.486"> <!-- 0 tests --> </tbody> <tbody id="sC.7.98"> @@ -4453,7 +4401,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.5.2.2">C.7.98 Section 17.5.2.2 Automatic table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.98.#q487"> + <tbody id="sC.7.98.#q21.487"> <!-- 0 tests --> </tbody> <tbody id="sC.7.99"> @@ -4462,7 +4410,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.5.3">C.7.99 Section 17.5.3 Table height algorithms</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.99.#q488"> + <tbody id="sC.7.99.#q21.488"> <!-- 0 tests --> </tbody> <tbody id="sC.7.100"> @@ -4471,7 +4419,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.5.4">C.7.100 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.100.#q489"> + <tbody id="sC.7.100.#q21.489"> <!-- 0 tests --> </tbody> <tbody id="sC.7.101"> @@ -4480,7 +4428,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.B.2">C.7.101 Section B.2 Informative references</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.101.#q490"> + <tbody id="sC.7.101.#q21.490"> <!-- 0 tests --> </tbody> <tbody id="sC.7.102"> @@ -4489,7 +4437,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.D">C.7.102 Section D. Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.102.#q491"> + <tbody id="sC.7.102.#q21.491"> <!-- 0 tests --> </tbody> <tbody id="sC.7.103"> @@ -4498,7 +4446,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.E.2">C.7.103 Section E.2 Painting order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.103.#q492"> + <tbody id="sC.7.103.#q21.492"> <!-- 0 tests --> </tbody> <tbody id="sC.7.104"> @@ -4507,7 +4455,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.G">C.7.104 Appendix G Grammar of CSS 2.1</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.104.#q493"> + <tbody id="sC.7.104.#q21.493"> <!-- 0 tests --> </tbody> <tbody id="sC.8"> @@ -4516,7 +4464,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#errata4">C.8 Changes since the working draft of 7 December 2010</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.#q494"> + <tbody id="sC.8.#q21.494"> <!-- 0 tests --> </tbody> <tbody id="sC.8.1"> @@ -4525,7 +4473,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.8.3.1">C.8.1 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.1.#q495"> + <tbody id="sC.8.1.#q21.495"> <!-- 0 tests --> </tbody> <tbody id="sC.8.2"> @@ -4534,7 +4482,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.8.1">C.8.2 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.2.#q496"> + <tbody id="sC.8.2.#q21.496"> <!-- 0 tests --> </tbody> <tbody id="sC.8.3"> @@ -4543,7 +4491,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.3">C.8.3 10.3 Calculating widths and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.3.#q497"> + <tbody id="sC.8.3.#q21.497"> <!-- 0 tests --> </tbody> <tbody id="sC.8.4"> @@ -4552,7 +4500,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.14.3">C.8.4 14.3 Gamma correction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.4.#q498"> + <tbody id="sC.8.4.#q21.498"> <!-- 0 tests --> </tbody> <tbody id="sC.8.5"> @@ -4561,7 +4509,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.11.1.2">C.8.5 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.5.#q499"> + <tbody id="sC.8.5.#q21.499"> <!-- 0 tests --> </tbody> <tbody id="sC.8.6"> @@ -4570,7 +4518,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.4.2">C.8.6 9.4.2 Inline formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.6.#q500"> + <tbody id="sC.8.6.#q21.500"> <!-- 0 tests --> </tbody> <tbody id="sC.8.7"> @@ -4579,7 +4527,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.3.2">C.8.7 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.7.#q501"> + <tbody id="sC.8.7.#q21.501"> <!-- 0 tests --> </tbody> <tbody id="sC.8.8"> @@ -4588,7 +4536,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.1">C.8.8 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.8.#q502"> + <tbody id="sC.8.8.#q21.502"> <!-- 0 tests --> </tbody> <tbody id="sC.8.9"> @@ -4597,7 +4545,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.13.2.2">C.8.9 13.2.2 Page selectors: selecting left, right, and first pages</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.9.#q503"> + <tbody id="sC.8.9.#q21.503"> <!-- 0 tests --> </tbody> <tbody id="sC.8.10"> @@ -4606,7 +4554,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.8.3.1a">C.8.10 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.10.#q504"> + <tbody id="sC.8.10.#q21.504"> <!-- 0 tests --> </tbody> <tbody id="sC.8.11"> @@ -4615,7 +4563,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.8">C.8.11 10.8 Line height calculations: the 'line-height' and 'vertical-align' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.11.#q505"> + <tbody id="sC.8.11.#q21.505"> <!-- 0 tests --> </tbody> <tbody id="sC.8.12"> @@ -4624,7 +4572,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.8.1a">C.8.12 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.12.#q506"> + <tbody id="sC.8.12.#q21.506"> <!-- 0 tests --> </tbody> <tbody id="sC.8.13"> @@ -4633,7 +4581,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.6.1a">C.8.13 10.6.1 Inline, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.13.#q507"> + <tbody id="sC.8.13.#q21.507"> <!-- 0 tests --> </tbody> <tbody id="sC.8.14"> @@ -4642,7 +4590,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5.1">C.8.14 9.5.1 Positioning the float: the 'float' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.14.#q508"> + <tbody id="sC.8.14.#q21.508"> <!-- 0 tests --> </tbody> <tbody id="sC.8.15"> @@ -4651,7 +4599,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1">C.8.15 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.15.#q509"> + <tbody id="sC.8.15.#q21.509"> <!-- 0 tests --> </tbody> <tbody id="sC.8.16"> @@ -4660,7 +4608,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.5.12.1">C.8.16 5.12.1 The :first-line pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.16.#q510"> + <tbody id="sC.8.16.#q21.510"> <!-- 0 tests --> </tbody> <tbody id="sC.8.17"> @@ -4669,7 +4617,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.6">C.8.17 16.6 White space: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.17.#q511"> + <tbody id="sC.8.17.#q21.511"> <!-- 0 tests --> </tbody> <tbody id="sC.8.18"> @@ -4678,7 +4626,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.12.5.1">C.8.18 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.18.#q512"> + <tbody id="sC.8.18.#q21.512"> <!-- 0 tests --> </tbody> <tbody id="sC.8.19"> @@ -4687,7 +4635,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.7">C.8.19 9.7 Relationships between 'display', 'position', and 'float'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.19.#q513"> + <tbody id="sC.8.19.#q21.513"> <!-- 0 tests --> </tbody> <tbody id="sC.8.20"> @@ -4696,7 +4644,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.4.2a">C.8.20 9.4.2 Inline formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.20.#q514"> + <tbody id="sC.8.20.#q21.514"> <!-- 0 tests --> </tbody> <tbody id="sC.8.21"> @@ -4705,7 +4653,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.1.9">C.8.21 4.1.9 Comments</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.21.#q515"> + <tbody id="sC.8.21.#q21.515"> <!-- 0 tests --> </tbody> <tbody id="sC.8.22"> @@ -4714,7 +4662,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.12.5.1a">C.8.22 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.22.#q516"> + <tbody id="sC.8.22.#q21.516"> <!-- 0 tests --> </tbody> <tbody id="sC.8.23"> @@ -4723,7 +4671,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5.1a">C.8.23 9.5.1 Positioning the float: the 'float' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.23.#q517"> + <tbody id="sC.8.23.#q21.517"> <!-- 0 tests --> </tbody> <tbody id="sC.8.24"> @@ -4732,7 +4680,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.3">C.8.24 9.3 Positioning schemes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.24.#q518"> + <tbody id="sC.8.24.#q21.518"> <!-- 0 tests --> </tbody> <tbody id="sC.8.25"> @@ -4741,7 +4689,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.10">C.8.25 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.25.#q519"> + <tbody id="sC.8.25.#q21.519"> <!-- 0 tests --> </tbody> <tbody id="sC.8.26"> @@ -4750,7 +4698,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.3.1">C.8.26 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.26.#q520"> + <tbody id="sC.8.26.#q21.520"> <!-- 0 tests --> </tbody> <tbody id="sC.8.27"> @@ -4759,7 +4707,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.3.1a">C.8.27 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.27.#q521"> + <tbody id="sC.8.27.#q21.521"> <!-- 0 tests --> </tbody> <tbody id="sC.8.28"> @@ -4768,7 +4716,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.4">C.8.28 10.4 Minimum and maximum widths: 'min-width' and 'max-width'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.28.#q522"> + <tbody id="sC.8.28.#q21.522"> <!-- 0 tests --> </tbody> <tbody id="sC.8.29"> @@ -4777,7 +4725,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.3.2">C.8.29 9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.29.#q523"> + <tbody id="sC.8.29.#q21.523"> <!-- 0 tests --> </tbody> <tbody id="sC.8.30"> @@ -4786,7 +4734,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1a">C.8.30 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.30.#q524"> + <tbody id="sC.8.30.#q21.524"> <!-- 0 tests --> </tbody> <tbody id="sC.8.31"> @@ -4795,7 +4743,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1b">C.8.31 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.31.#q525"> + <tbody id="sC.8.31.#q21.525"> <!-- 0 tests --> </tbody> <tbody id="sC.8.32"> @@ -4807,7 +4755,7 @@ <tbody id="sC.8.32.#img-clip"> <!-- 0 tests --> </tbody> - <tbody id="sC.8.32.#q526"> + <tbody id="sC.8.32.#q21.526"> <!-- 0 tests --> </tbody> <tbody id="sC.8.33"> @@ -4816,7 +4764,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.13.2">C.8.33 13.2 Page boxes: the @page rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.33.#q527"> + <tbody id="sC.8.33.#q21.527"> <!-- 0 tests --> </tbody> <tbody id="sC.8.34"> @@ -4825,7 +4773,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.1.1">C.8.34 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.34.#q528"> + <tbody id="sC.8.34.#q21.528"> <!-- 0 tests --> </tbody> <tbody id="sC.8.35"> @@ -4834,7 +4782,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.2">C.8.35 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.35.#q529"> + <tbody id="sC.8.35.#q21.529"> <!-- 0 tests --> </tbody> <tbody id="sC.8.36"> @@ -4843,7 +4791,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.3.1">C.8.36 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.36.#q530"> + <tbody id="sC.8.36.#q21.530"> <!-- 0 tests --> </tbody> <tbody id="sC.8.37"> @@ -4852,7 +4800,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.3.4">C.8.37 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.37.#q531"> + <tbody id="sC.8.37.#q21.531"> <!-- 0 tests --> </tbody> <tbody id="sC.8.38"> @@ -4861,7 +4809,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5">C.8.38 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.38.#q532"> + <tbody id="sC.8.38.#q21.532"> <!-- 0 tests --> </tbody> <tbody id="sC.8.39"> @@ -4870,7 +4818,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.11.1.1">C.8.39 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.39.#q533"> + <tbody id="sC.8.39.#q21.533"> <!-- 0 tests --> </tbody> <tbody id="sC.8.40"> @@ -4879,7 +4827,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1c">C.8.40 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.40.#q534"> + <tbody id="sC.8.40.#q21.534"> <!-- 0 tests --> </tbody> <tbody id="sC.8.41"> @@ -4888,7 +4836,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.2">C.8.41 16.2 Alignment: the 'text-align' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.41.#q535"> + <tbody id="sC.8.41.#q21.535"> <!-- 0 tests --> </tbody> <tbody id="sC.8.42"> @@ -4897,7 +4845,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5a">C.8.42 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.42.#q536"> + <tbody id="sC.8.42.#q21.536"> <!-- 0 tests --> </tbody> <tbody id="sC.8.43"> @@ -4906,7 +4854,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.4.2b">C.8.43 9.4.2 Inline formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.43.#q537"> + <tbody id="sC.8.43.#q21.537"> <!-- 0 tests --> </tbody> <tbody id="sC.8.44"> @@ -4915,7 +4863,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.5.12">C.8.44 5.12 Pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.44.#q538"> + <tbody id="sC.8.44.#q21.538"> <!-- 0 tests --> </tbody> <tbody id="sC.8.45"> @@ -4924,7 +4872,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5b">C.8.45 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.45.#q539"> + <tbody id="sC.8.45.#q21.539"> <!-- 0 tests --> </tbody> <tbody id="sC.8.46"> @@ -4933,7 +4881,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5c">C.8.46 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.46.#q540"> + <tbody id="sC.8.46.#q21.540"> <!-- 0 tests --> </tbody> <tbody id="sC.8.47"> @@ -4942,7 +4890,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.14.2.1">C.8.47 14.2.1 Background properties: 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', and 'background'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.47.#q541"> + <tbody id="sC.8.47.#q21.541"> <!-- 0 tests --> </tbody> <tbody id="sC.8.48"> @@ -4951,7 +4899,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.4">C.8.48 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.48.#q542"> + <tbody id="sC.8.48.#q21.542"> <!-- 0 tests --> </tbody> <tbody id="sC.8.49"> @@ -4960,7 +4908,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.6.1.2">C.8.49 6.1.2 Computed values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.49.#q543"> + <tbody id="sC.8.49.#q21.543"> <!-- 0 tests --> </tbody> <tbody id="sC.8.50"> @@ -4969,7 +4917,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.3.2a">C.8.50 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.50.#q544"> + <tbody id="sC.8.50.#q21.544"> <!-- 0 tests --> </tbody> <tbody id="sC.8.51"> @@ -4978,7 +4926,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2d">C.8.51 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.51.#q545"> + <tbody id="sC.8.51.#q21.545"> <!-- 0 tests --> </tbody> <tbody id="sC.8.52"> @@ -4987,7 +4935,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.G.2">C.8.52 G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.52.#q546"> + <tbody id="sC.8.52.#q21.546"> <!-- 0 tests --> </tbody> <tbody id="sC.8.53"> @@ -4996,7 +4944,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2e">C.8.53 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.53.#q547"> + <tbody id="sC.8.53.#q21.547"> <!-- 0 tests --> </tbody> <tbody id="sC.8.54"> @@ -5005,7 +4953,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5b">C.8.54 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.54.#q548"> + <tbody id="sC.8.54.#q21.548"> <!-- 0 tests --> </tbody> <tbody id="sC.8.55"> @@ -5014,7 +4962,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.6.3">C.8.55 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.55.#q549"> + <tbody id="sC.8.55.#q21.549"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-D.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-D.htm index de8db09a85f..a250e40f34e 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-D.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-D.htm @@ -30,7 +30,10 @@ <tbody id="sD"> <tr><th colspan="4" scope="rowgroup"> <a href="#sD">+</a> - <a href="https://www.w3.org/TR/CSS21/sample.html">D Default style sheet for HTML 4</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/sample.html#q22.0">D Default style sheet for HTML 4</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sD.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sD.#bidi"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-E.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-E.htm index 2657bb0acd8..1b77c5e0bcd 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-E.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-E.htm @@ -30,7 +30,10 @@ <tbody id="sE"> <tr><th colspan="4" scope="rowgroup"> <a href="#sE">+</a> - <a href="https://www.w3.org/TR/CSS21/zindex.html">E Elaborate description of Stacking Contexts</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/zindex.html#q23.0">E Elaborate description of Stacking Contexts</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sE.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sE.1"> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-F.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-F.htm index 0eec58e73e7..5f67dc15c12 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-F.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-F.htm @@ -30,7 +30,10 @@ <tbody id="sF"> <tr><th colspan="4" scope="rowgroup"> <a href="#sF">+</a> - <a href="https://www.w3.org/TR/CSS21/propidx.html">F Full property table</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/propidx.html#q24.0">F Full property table</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sF.#annoying-warning"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-G.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-G.htm index 0dd1c1771d8..e042f82c0ca 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-G.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-G.htm @@ -30,7 +30,10 @@ <tbody id="sG"> <tr><th colspan="4" scope="rowgroup"> <a href="#sG">+</a> - <a href="https://www.w3.org/TR/CSS21/grammar.html">G Grammar of CSS 2.1</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/grammar.html#q25.0">G Grammar of CSS 2.1</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sG.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sG.1"> @@ -94,7 +97,7 @@ <tbody id="sG.4"> <tr><th colspan="4" scope="rowgroup"> <a href="#sG.4">+</a> - <a href="https://www.w3.org/TR/CSS21/grammar.html#q4">G.4 Implementation note</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/grammar.html#q25.4">G.4 Implementation note</a></th></tr> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-H.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-H.htm index dfe797181e9..cf49f2ba59f 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-H.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-H.htm @@ -30,7 +30,7 @@ <tbody id="sH"> <tr><th colspan="4" scope="rowgroup"> <a href="#sH">+</a> - <a href="https://www.w3.org/TR/CSS21/leftblank.html">H Has been intentionally left blank</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/leftblank.html#q26.0">H Has been intentionally left blank</a></th></tr> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/html4/chapter-I.htm b/tests/wpt/css-tests/css21_dev/html4/chapter-I.htm index 5d594abba33..2f968a11e81 100644 --- a/tests/wpt/css-tests/css21_dev/html4/chapter-I.htm +++ b/tests/wpt/css-tests/css21_dev/html4/chapter-I.htm @@ -30,7 +30,10 @@ <tbody id="sI"> <tr><th colspan="4" scope="rowgroup"> <a href="#sI">+</a> - <a href="https://www.w3.org/TR/CSS21/indexlist.html">I Index</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/indexlist.html#q27.0">I Index</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sI.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sI.#index-;"> @@ -147,6 +150,9 @@ <tbody id="sI.#index-z"> <!-- 0 tests --> </tbody> + <tbody id="sstatus.#annoying-warning"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css21_dev/html4/content-attr-case-001.htm b/tests/wpt/css-tests/css21_dev/html4/content-attr-case-001.htm index 633aa95901f..f69d36d425c 100644 --- a/tests/wpt/css-tests/css21_dev/html4/content-attr-case-001.htm +++ b/tests/wpt/css-tests/css21_dev/html4/content-attr-case-001.htm @@ -1,11 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> -<html> - <head> +<!DOCTYPE html> +<html><head> <title>CSS Test: Content property attr(x) case sensitivity</title> - <link rel="author" title="Microsoft" href="http://www.microsoft.com/"> - <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content"> - <meta name="flags" content="HTMLonly"> - <meta name="assert" content="The attr(x) function selects the attribute even when case does not match."> + <link href="http://www.microsoft.com/" rel="author" title="Microsoft"> + <link href="http://www.w3.org/TR/CSS21/generate.html#content" rel="help"> + <meta content="HTMLonly" name="flags"> + <meta content="The attr(x) function selects the attribute even when case does not match." name="assert"> <style type="text/css"> div:before { @@ -17,5 +16,6 @@ <body> <p>Test passes if there is the word "PASS" below.</p> <div title="PASS"></div> - </body> -</html>
\ No newline at end of file + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/html4/html-case-sensitivity-001.htm b/tests/wpt/css-tests/css21_dev/html4/html-case-sensitivity-001.htm index 6e3579d292f..a06e3cf7a7a 100644 --- a/tests/wpt/css-tests/css21_dev/html4/html-case-sensitivity-001.htm +++ b/tests/wpt/css-tests/css21_dev/html4/html-case-sensitivity-001.htm @@ -1,12 +1,11 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> -<html> - <head> +<!DOCTYPE html> +<html><head> <title>CSS Test: HTML case sensitivity - Simple selectors</title> - <link rel="author" title="Microsoft" href="http://www.microsoft.com/"> - <link rel="help" href="http://www.w3.org/TR/CSS21/selector.html#attribute-selectors"> - <link rel="match" href="reference/filler-text-below-green.htm"> - <meta name="flags" content="HTMLonly"> - <meta name="assert" content="Simple selectors are not case sensitive in HTML."> + <link href="http://www.microsoft.com/" rel="author" title="Microsoft"> + <link href="http://www.w3.org/TR/CSS21/selector.html#attribute-selectors" rel="help"> + <link href="reference/filler-text-below-green.htm" rel="match"> + <meta content="HTMLonly" name="flags"> + <meta content="Simple selectors are not case sensitive in HTML." name="assert"> <style type="text/css"> DIV { @@ -17,5 +16,6 @@ <body> <p>Test passes if the "Filler Text" below is green.</p> <div>Filler Text</div> - </body> -</html>
\ No newline at end of file + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/html4/lang-pseudoclass-001.htm b/tests/wpt/css-tests/css21_dev/html4/lang-pseudoclass-001.htm index a74132795a4..9ad177978d2 100644 --- a/tests/wpt/css-tests/css21_dev/html4/lang-pseudoclass-001.htm +++ b/tests/wpt/css-tests/css21_dev/html4/lang-pseudoclass-001.htm @@ -1,12 +1,11 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> -<html> - <head> +<!DOCTYPE html> +<html><head> <title>CSS Test: :lang pseudoclass</title> - <link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org"> - <link rel="author" title="Eira Monstad, Opera Software ASA" href="mailto:public-testsuites@opera.com"> - <link rel="help" href="http://www.w3.org/TR/CSS21/selector.html#lang"> - <meta name="flags" content="HTMLonly"> - <meta name="assert" content=":lang pseudoclass in HTML should not be case-sensitive, and match a substring"> + <link href="mailto:ishida@w3.org" rel="author" title="Richard Ishida"> + <link href="mailto:public-testsuites@opera.com" rel="author" title="Eira Monstad, Opera Software ASA"> + <link href="http://www.w3.org/TR/CSS21/selector.html#lang" rel="help"> + <meta content="HTMLonly" name="flags"> + <meta content=":lang pseudoclass in HTML should not be case-sensitive, and match a substring" name="assert"> <style type="text/css"> div:lang(es) { color:white;background-color:green; } p:lang(es) { color:white;background-color:green; } @@ -31,5 +30,6 @@ <div lang="MX-es">This line should NOT be green</div> <div lang="en-US">This line should NOT be green</div> <div lang="en">This line should NOT be green</div> - </body> -</html>
\ No newline at end of file + + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/html4/margin-collapse-018.htm b/tests/wpt/css-tests/css21_dev/html4/margin-collapse-018.htm index 48df2b5173e..54628a0f05a 100644 --- a/tests/wpt/css-tests/css21_dev/html4/margin-collapse-018.htm +++ b/tests/wpt/css-tests/css21_dev/html4/margin-collapse-018.htm @@ -51,4 +51,4 @@ <div class="class1"></div> </div> </body> -</html> +</html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/html4/overflow-html-body-001.htm b/tests/wpt/css-tests/css21_dev/html4/overflow-html-body-001.htm index 94619173158..ea6261151b3 100644 --- a/tests/wpt/css-tests/css21_dev/html4/overflow-html-body-001.htm +++ b/tests/wpt/css-tests/css21_dev/html4/overflow-html-body-001.htm @@ -4,7 +4,6 @@ <title>CSS Test: Overflow on body propagates to viewport</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/"> <link rel="help" href="http://www.w3.org/TR/CSS21/visufx.html#overflow"> - <meta name="flags" content="HTMLonly"> <meta name="assert" content="An HTML user agent propagates the 'overflow' property from the 'body' to the viewport."> <style type="text/css"> body diff --git a/tests/wpt/css-tests/css21_dev/html4/reftest-toc.htm b/tests/wpt/css-tests/css21_dev/html4/reftest-toc.htm index 957c59422db..1e7cdbc0e65 100644 --- a/tests/wpt/css-tests/css21_dev/html4/reftest-toc.htm +++ b/tests/wpt/css-tests/css21_dev/html4/reftest-toc.htm @@ -250,7 +250,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vlr-059" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vlr-059.htm">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.htm">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> @@ -1146,7 +1146,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vrl-058" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vrl-058.htm">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.htm">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> diff --git a/tests/wpt/css-tests/css21_dev/html4/table-intro-example-001.htm b/tests/wpt/css-tests/css21_dev/html4/table-intro-example-001.htm index 1bd3427fb1d..06c05d8184c 100644 --- a/tests/wpt/css-tests/css21_dev/html4/table-intro-example-001.htm +++ b/tests/wpt/css-tests/css21_dev/html4/table-intro-example-001.htm @@ -4,7 +4,6 @@ <title>CSS Test: Introduction to Tables (text-align, font-weight)</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/"> <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro"> - <meta name="flags" content="HTMLonly"> <meta name="assert" content="'text-align' and 'font-weight' can be applied to table cells (example from spec section 17.1)."> <style type="text/css"> caption diff --git a/tests/wpt/css-tests/css21_dev/html4/table-intro-example-002.htm b/tests/wpt/css-tests/css21_dev/html4/table-intro-example-002.htm index 1335b09a3ff..34221b1354e 100644 --- a/tests/wpt/css-tests/css21_dev/html4/table-intro-example-002.htm +++ b/tests/wpt/css-tests/css21_dev/html4/table-intro-example-002.htm @@ -4,7 +4,6 @@ <title>CSS Test: Introduction to Tables (vertical-align)</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/"> <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro"> - <meta name="flags" content="HTMLonly"> <meta name="assert" content="'vertical-align' can be set on table cells (example from section 17.1)."> <style type="text/css"> caption diff --git a/tests/wpt/css-tests/css21_dev/html4/table-intro-example-003.htm b/tests/wpt/css-tests/css21_dev/html4/table-intro-example-003.htm index 8d0f23703ce..e6f9845bba5 100644 --- a/tests/wpt/css-tests/css21_dev/html4/table-intro-example-003.htm +++ b/tests/wpt/css-tests/css21_dev/html4/table-intro-example-003.htm @@ -4,7 +4,6 @@ <title>CSS Test: Introduction to Tables (border-collapse, border)</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/"> <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro"> - <meta name="flags" content="HTMLonly"> <meta name="assert" content="'border-collapse' and 'border' can be set on table elements (example from section 17.1)."> <style type="text/css"> table diff --git a/tests/wpt/css-tests/css21_dev/html4/table-intro-example-004.htm b/tests/wpt/css-tests/css21_dev/html4/table-intro-example-004.htm index 7a2743f6466..ebe0bd1d490 100644 --- a/tests/wpt/css-tests/css21_dev/html4/table-intro-example-004.htm +++ b/tests/wpt/css-tests/css21_dev/html4/table-intro-example-004.htm @@ -4,7 +4,6 @@ <title>CSS Test: Introduction to Tables (caption-side)</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/"> <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro"> - <meta name="flags" content="HTMLonly"> <meta name="assert" content="'caption-side' can be set on a table caption (example from section 17.1)."> <style type="text/css"> caption diff --git a/tests/wpt/css-tests/css21_dev/html4/toc.htm b/tests/wpt/css-tests/css21_dev/html4/toc.htm index 169e7ccf5ec..752c36c96b8 100644 --- a/tests/wpt/css-tests/css21_dev/html4/toc.htm +++ b/tests/wpt/css-tests/css21_dev/html4/toc.htm @@ -37,22 +37,22 @@ <tbody id="s4"> <tr><th><a href="chapter-4.htm">Chapter 4 - Syntax and basic data types</a></th> - <td>(439 Tests)</td></tr> + <td>(431 Tests)</td></tr> </tbody> <tbody id="s5"> <tr><th><a href="chapter-5.htm">Chapter 5 - Selectors</a></th> - <td>(677 Tests)</td></tr> + <td>(668 Tests)</td></tr> </tbody> <tbody id="s6"> <tr><th><a href="chapter-6.htm">Chapter 6 - Assigning property values, Cascading, and Inheritance</a></th> - <td>(145 Tests)</td></tr> + <td>(117 Tests)</td></tr> </tbody> <tbody id="s7"> <tr><th><a href="chapter-7.htm">Chapter 7 - Media types</a></th> - <td>(22 Tests)</td></tr> + <td>(5 Tests)</td></tr> </tbody> <tbody id="s8"> <tr><th><a href="chapter-8.htm">Chapter 8 - @@ -62,7 +62,7 @@ <tbody id="s9"> <tr><th><a href="chapter-9.htm">Chapter 9 - Visual formatting model</a></th> - <td>(1247 Tests)</td></tr> + <td>(1246 Tests)</td></tr> </tbody> <tbody id="s10"> <tr><th><a href="chapter-10.htm">Chapter 10 - @@ -122,7 +122,7 @@ <tbody id="sC"> <tr><th><a href="chapter-C.htm">Appendix C - Changes</a></th> - <td>(5 Tests)</td></tr> + <td>(0 Tests)</td></tr> </tbody> <tbody id="sD"> <tr><th><a href="chapter-D.htm">Appendix D - diff --git a/tests/wpt/css-tests/css21_dev/implementation-report-TEMPLATE.data b/tests/wpt/css-tests/css21_dev/implementation-report-TEMPLATE.data index b52862b997b..0bbdc1ebfc0 100644 --- a/tests/wpt/css-tests/css21_dev/implementation-report-TEMPLATE.data +++ b/tests/wpt/css-tests/css21_dev/implementation-report-TEMPLATE.data @@ -59,8 +59,8 @@ html4/abs-pos-non-replaced-vlr-055.htm e6152f2732060736d14b5a78a302e0bc8bbe793f xhtml1/abs-pos-non-replaced-vlr-055.xht e6152f2732060736d14b5a78a302e0bc8bbe793f ? html4/abs-pos-non-replaced-vlr-057.htm 512802c29f43864633b5ba4997e3435e77dfa780 ? xhtml1/abs-pos-non-replaced-vlr-057.xht 512802c29f43864633b5ba4997e3435e77dfa780 ? -html4/abs-pos-non-replaced-vlr-059.htm 4a081025215343dc43c94a9afbecb4f8708d78c0 ? -xhtml1/abs-pos-non-replaced-vlr-059.xht 4a081025215343dc43c94a9afbecb4f8708d78c0 ? +html4/abs-pos-non-replaced-vlr-059.htm 87d3f8ddd1ad9152e5654825a8774a88494ade9f ? +xhtml1/abs-pos-non-replaced-vlr-059.xht 87d3f8ddd1ad9152e5654825a8774a88494ade9f ? html4/abs-pos-non-replaced-vlr-061.htm d5d7da3ef86e0bc59f71598418b084d23a7fc5e2 ? xhtml1/abs-pos-non-replaced-vlr-061.xht d5d7da3ef86e0bc59f71598418b084d23a7fc5e2 ? html4/abs-pos-non-replaced-vlr-063.htm e44b75458e48fc677468fad2f6b97bfb27a04358 ? @@ -283,8 +283,8 @@ html4/abs-pos-non-replaced-vrl-054.htm 7ef86efb0eef5f8b43a82658c4cde941fa885c55 xhtml1/abs-pos-non-replaced-vrl-054.xht 7ef86efb0eef5f8b43a82658c4cde941fa885c55 ? html4/abs-pos-non-replaced-vrl-056.htm 0684b6dac50f2a8a6af6e1e1e43cd9ad96e6607e ? xhtml1/abs-pos-non-replaced-vrl-056.xht 0684b6dac50f2a8a6af6e1e1e43cd9ad96e6607e ? -html4/abs-pos-non-replaced-vrl-058.htm 5ed1484c71061d9fdd91d13b776f19b73f7d1853 ? -xhtml1/abs-pos-non-replaced-vrl-058.xht 5ed1484c71061d9fdd91d13b776f19b73f7d1853 ? +html4/abs-pos-non-replaced-vrl-058.htm 37684ca4836356475eb9e041a2bd629ff84f4ec3 ? +xhtml1/abs-pos-non-replaced-vrl-058.xht 37684ca4836356475eb9e041a2bd629ff84f4ec3 ? html4/abs-pos-non-replaced-vrl-060.htm f125ea87971858a2689e498e6c6e302319fb346b ? xhtml1/abs-pos-non-replaced-vrl-060.xht f125ea87971858a2689e498e6c6e302319fb346b ? html4/abs-pos-non-replaced-vrl-062.htm 3a89ef33bd3f993b23dc0dc1a28612218ad0beb9 ? @@ -960,7 +960,7 @@ html4/at-charset-011.htm bb803f4f1bbf76e897491176102f107cbd4bb9ec ? xhtml1/at-charset-011.xht bb803f4f1bbf76e897491176102f107cbd4bb9ec ? html4/at-charset-012.htm a9023c2b0a8df17f3bce2a54374155da0b0aebf0 ? xhtml1/at-charset-012.xht a9023c2b0a8df17f3bce2a54374155da0b0aebf0 ? -html4/at-charset-013.htm 145d211ea37c74e5394d6b6f93328fe536f21a1d ? +html4/at-charset-013.htm 38743117b70c5990988feb2fd2569fa6927c0d7a ? html4/at-charset-014.htm a1a3c6216ea92a07ef16e1fb147fd8432ff36c3d ? xhtml1/at-charset-014.xht a1a3c6216ea92a07ef16e1fb147fd8432ff36c3d ? html4/at-charset-015.htm 2e3f28c515a9921c50d55b8d4a59b22c9fe0c686 ? @@ -1179,13 +1179,13 @@ html4/attribute-value-selector-003.htm 508036fcffcc15830d5fdff9d40e8e7c0c1ccda3 xhtml1/attribute-value-selector-003.xht 508036fcffcc15830d5fdff9d40e8e7c0c1ccda3 ? html4/attribute-value-selector-004.htm dfb8215a980f61f868127601e02f621b5d8de9a7 ? xhtml1/attribute-value-selector-004.xht dfb8215a980f61f868127601e02f621b5d8de9a7 ? -html4/attribute-value-selector-005.htm 4e99118f4f08eb0e71b36b24b986cbe9e1ad15fe ? +html4/attribute-value-selector-005.htm 98fe9d0bad9fb7ca59e360a6c9c33042e5d451ea ? html4/attribute-value-selector-006.htm 1f42c36cb8f99e36982f9ebbec59c63967c711c1 ? xhtml1/attribute-value-selector-006.xht 1f42c36cb8f99e36982f9ebbec59c63967c711c1 ? -html4/attribute-value-selector-007.htm b144c51a0bda8a4416ab50f1cff0f77044315094 ? +html4/attribute-value-selector-007.htm c66ad246bf6f8d5b5f16e330d968629d22c29ec1 ? xhtml1/attribute-value-selector-008.xht df9f94901759df9b76cf40d97ca1bc87bd5ef407 ? xhtml1/attribute-value-selector-009.xht 97d442f5c1c5b7c883684e956a3a53964d18db05 ? -html4/attribute-value-selector-010.htm 6610e1761c91638f236f6d09e5fa3cd1ec9bc73f ? +html4/attribute-value-selector-010.htm 8e5e682c49b5702b310e7c58e4a2b4caae5438c1 ? html4/background-001.htm 3dd2f2ebcf82520953f31d00f243c309e9b005f9 ? xhtml1/background-001.xht 3dd2f2ebcf82520953f31d00f243c309e9b005f9 ? html4/background-002.htm 42b9cd53f06b23fbd5efb5774fb90cf6937cece9 ? @@ -2748,7 +2748,8 @@ html4/bad-selector-001.htm 1d45e37ea036e7e72fcf9fc064a1eb064d2447b4 ? xhtml1/bad-selector-001.xht 1d45e37ea036e7e72fcf9fc064a1eb064d2447b4 ? html4/basic-css-table-001.htm a76fad935d54e5eded6be37d1f4d04ddc497d263 ? xhtml1/basic-css-table-001.xht a76fad935d54e5eded6be37d1f4d04ddc497d263 ? -html4/basic-html-table-001.htm 51ea5055ee5e8fbe0dcfed92e73ce5218baf89fa ? +html4/basic-html-table-001.htm 2d2335714010abd404725d488c7a5ffb44b15c7c ? +xhtml1/basic-html-table-001.xht 2d2335714010abd404725d488c7a5ffb44b15c7c ? html4/before-after-001.htm bc2221b20dfc6597b1d3a72c2b6ce828e4637e6e ? xhtml1/before-after-001.xht bc2221b20dfc6597b1d3a72c2b6ce828e4637e6e ? html4/before-after-002.htm e508222d00574adb1450511af59f2d17b588e2b5 ? @@ -7895,7 +7896,7 @@ html4/case-sensitive-004.htm 723fdbbe5941d318118e86cf5ae161312de476d2 ? xhtml1/case-sensitive-004.xht 723fdbbe5941d318118e86cf5ae161312de476d2 ? html4/case-sensitive-005.htm dfd0240ea392700c15e32a28eec725b6db820f94 ? xhtml1/case-sensitive-005.xht dfd0240ea392700c15e32a28eec725b6db820f94 ? -html4/case-sensitive-006.htm 22e1a8c5e8284dd76b4937bb74102888636a7325 ? +html4/case-sensitive-006.htm 457235f5ac6fac023fd91e151fd6aac15d688db4 ? xhtml1/case-sensitive-007.xht 07b1170801ad9349fabaf98db0ece9a247c6bbb5 ? html4/case-sensitive-008.htm 8cf1bfbdf626dc47463dec1641223a3070ad05bb ? xhtml1/case-sensitive-008.xht 8cf1bfbdf626dc47463dec1641223a3070ad05bb ? @@ -9011,7 +9012,7 @@ html4/content-attr-001.htm a0172362ab7646f9bc95c6a72f8e802b0be15661 ? xhtml1/content-attr-001.xht a0172362ab7646f9bc95c6a72f8e802b0be15661 ? html4/content-attr-002.htm 3e946aa0feecdff07e2b1eb05d7ac1035d5bd7e7 ? xhtml1/content-attr-002.xht 3e946aa0feecdff07e2b1eb05d7ac1035d5bd7e7 ? -html4/content-attr-case-001.htm 931b842f10ec40ae8fbd9b273ae7247d1596ff48 ? +html4/content-attr-case-001.htm 96aca06767439e52a29914a3e62c5fb48ca7b051 ? xhtml1/content-attr-case-002.xht 8f51b48e369494bfb30ac28c19acfd57462413e2 ? html4/content-auto-reset-001.htm 073f16d82ce968e2b8068bfa814e1766852b4f2b ? xhtml1/content-auto-reset-001.xht 073f16d82ce968e2b8068bfa814e1766852b4f2b ? @@ -12585,7 +12586,7 @@ html4/html-attribute-028.htm 1ce9f6f95b73a4ccf256bec09117276809d48ade ? xhtml1/html-attribute-028.xht 1ce9f6f95b73a4ccf256bec09117276809d48ade ? html4/html-attribute-029.htm f998397c8034e6c1736eb7ddec232c366a1c94a5 ? xhtml1/html-attribute-029.xht f998397c8034e6c1736eb7ddec232c366a1c94a5 ? -html4/html-case-sensitivity-001.htm c1084fb637732e0f38c98f3cf8d44ed7615b50d3 ? +html4/html-case-sensitivity-001.htm 61c5f087d9286aac1c28ebd292b4d741f26ee594 ? html4/html-precedence-001.htm 3573513b879877aac04434ec6e5b093269bc4524 ? xhtml1/html-precedence-001.xht 3573513b879877aac04434ec6e5b093269bc4524 ? html4/html-precedence-002.htm 0b46ebed4702a22efb288095cbdf9b70b775abdb ? @@ -13034,7 +13035,7 @@ html4/keywords-000.htm 357b9fbfad6de9a3954d1b74132546939b2ab969 ? xhtml1/keywords-000.xht 357b9fbfad6de9a3954d1b74132546939b2ab969 ? html4/keywords-001.htm 13c37f2ae37cf36c4c63e048fda5b7e634131c79 ? xhtml1/keywords-001.xht 13c37f2ae37cf36c4c63e048fda5b7e634131c79 ? -html4/lang-pseudoclass-001.htm 2602376b05b0a04bfac482b35a7255b115f32cae ? +html4/lang-pseudoclass-001.htm ed144842c4ac153c32ec42841a3670ec4f867836 ? xhtml1/lang-pseudoclass-002.xht 809974aadd059c23c700cfcc3511f3600d18d104 ? html4/lang-selector-001.htm 2cc3bcad14d2ae93e81330e70b355dc2d29fa55f ? xhtml1/lang-selector-001.xht 2cc3bcad14d2ae93e81330e70b355dc2d29fa55f ? @@ -16314,7 +16315,8 @@ html4/overflow-applies-to-014.htm 9dff4df7af0a5fd748bbf49d98ee9a49ddaf9441 ? xhtml1/overflow-applies-to-014.xht 9dff4df7af0a5fd748bbf49d98ee9a49ddaf9441 ? html4/overflow-applies-to-015.htm 442f3d24c0384de7ea16ff5eb82f46abcb88c8fb ? xhtml1/overflow-applies-to-015.xht 442f3d24c0384de7ea16ff5eb82f46abcb88c8fb ? -html4/overflow-html-body-001.htm fe1965ac899fd53ea219d93a81049663904e20d2 ? +html4/overflow-html-body-001.htm b796f106ecbaf8f3ec883d428c6755e8631f1302 ? +xhtml1/overflow-html-body-001.xht b796f106ecbaf8f3ec883d428c6755e8631f1302 ? html4/overflow-parent-001.htm 5e5665c2ad7fbd835b709512267113fbdb6b67fc ? xhtml1/overflow-parent-001.xht 5e5665c2ad7fbd835b709512267113fbdb6b67fc ? html4/overflow-print-001.htm 6084ae9d52fdc1d051372ae928be2d0fc0ece147 ? @@ -18708,10 +18710,14 @@ html4/table-height-algorithm-032.htm 4067a0970a6c859e9836ea36d8bed04790e01c29 ? xhtml1/table-height-algorithm-032.xht 4067a0970a6c859e9836ea36d8bed04790e01c29 ? html4/table-in-inline-001.htm 5736ce35d142b5b5210309b68e33956e7da02d39 ? xhtml1/table-in-inline-001.xht 5736ce35d142b5b5210309b68e33956e7da02d39 ? -html4/table-intro-example-001.htm 5352d59ceb6c3d96b6e080d940d77936081e224e ? -html4/table-intro-example-002.htm bd69aaf91ac4bdf7dcab118078b9936bcd9a7bc1 ? -html4/table-intro-example-003.htm 3033c9166cc42fe6bada3d42b925685eda3c4f78 ? -html4/table-intro-example-004.htm 5729584dcaca25c6eefbb282fd41a6fc58f6b348 ? +html4/table-intro-example-001.htm d3ec6d14d1ed132e0f7395c85d9803967a1aa6cb ? +xhtml1/table-intro-example-001.xht d3ec6d14d1ed132e0f7395c85d9803967a1aa6cb ? +html4/table-intro-example-002.htm 8702bfd06511a290586cb2565d9afd6227dbf1b3 ? +xhtml1/table-intro-example-002.xht 8702bfd06511a290586cb2565d9afd6227dbf1b3 ? +html4/table-intro-example-003.htm a748de6ac35b1b954e607023905ff851605c5412 ? +xhtml1/table-intro-example-003.xht a748de6ac35b1b954e607023905ff851605c5412 ? +html4/table-intro-example-004.htm 330287e4994e9b26e19f3d1b63a98e272fbe9506 ? +xhtml1/table-intro-example-004.xht 330287e4994e9b26e19f3d1b63a98e272fbe9506 ? html4/table-layer-transparency-001.htm 11f26cdc88668b70c3c86bd93e5bc970799e8643 ? xhtml1/table-layer-transparency-001.xht 11f26cdc88668b70c3c86bd93e5bc970799e8643 ? html4/table-layer-transparency-002.htm 825f6a7c7e4e9e7a130adf95489923cc130981c1 ? diff --git a/tests/wpt/css-tests/css21_dev/testinfo.data b/tests/wpt/css-tests/css21_dev/testinfo.data index 4fc735f9ffe..6d9691e0b26 100644 --- a/tests/wpt/css-tests/css21_dev/testinfo.data +++ b/tests/wpt/css-tests/css21_dev/testinfo.data @@ -27,7 +27,7 @@ abs-pos-non-replaced-vlr-051 reference/abs-pos-non-replaced-vlr-003-ref absolute abs-pos-non-replaced-vlr-053 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 9c08e776675637130948bd4b6931af65719d29ff `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'. abs-pos-non-replaced-vlr-055 reference/abs-pos-non-replaced-vlr-007-ref absolutely positioned non-replaced element - 'direction: ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width e6152f2732060736d14b5a78a302e0bc8bbe793f `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. abs-pos-non-replaced-vlr-057 reference/abs-pos-non-replaced-vlr-003-ref absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 512802c29f43864633b5ba4997e3435e77dfa780 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. -abs-pos-non-replaced-vlr-059 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 4a081025215343dc43c94a9afbecb4f8708d78c0 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'. +abs-pos-non-replaced-vlr-059 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 87d3f8ddd1ad9152e5654825a8774a88494ade9f `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'. abs-pos-non-replaced-vlr-061 reference/abs-pos-non-replaced-vlr-007-ref absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width d5d7da3ef86e0bc59f71598418b084d23a7fc5e2 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. abs-pos-non-replaced-vlr-063 reference/abs-pos-non-replaced-vlr-003-ref absolutely positioned non-replaced element - 'direction: ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width e44b75458e48fc677468fad2f6b97bfb27a04358 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'. abs-pos-non-replaced-vlr-065 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: ltr' and 'width' is 'auto', 'left' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 7e931945d698024af484361d702fc1942f4c93d7 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'left', 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'. @@ -139,7 +139,7 @@ abs-pos-non-replaced-vrl-050 reference/abs-pos-non-replaced-vrl-002-ref absolute abs-pos-non-replaced-vrl-052 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 6d08a883aabdabe4db83d6e6a8b86508aa7b7a53 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'. abs-pos-non-replaced-vrl-054 reference/abs-pos-non-replaced-vrl-006-ref absolutely positioned non-replaced element - 'direction: ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 7ef86efb0eef5f8b43a82658c4cde941fa885c55 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. abs-pos-non-replaced-vrl-056 reference/abs-pos-non-replaced-vrl-002-ref absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 0684b6dac50f2a8a6af6e1e1e43cd9ad96e6607e `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. -abs-pos-non-replaced-vrl-058 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 5ed1484c71061d9fdd91d13b776f19b73f7d1853 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'. +abs-pos-non-replaced-vrl-058 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 37684ca4836356475eb9e041a2bd629ff84f4ec3 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'. abs-pos-non-replaced-vrl-060 reference/abs-pos-non-replaced-vrl-006-ref absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width f125ea87971858a2689e498e6c6e302319fb346b `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'. abs-pos-non-replaced-vrl-062 reference/abs-pos-non-replaced-vrl-002-ref absolutely positioned non-replaced element - 'direction: ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 3a89ef33bd3f993b23dc0dc1a28612218ad0beb9 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'. abs-pos-non-replaced-vrl-064 reference/abs-pos-non-replaced-vrl-004-ref absolutely positioned non-replaced element - 'direction: ltr' and 'width' is 'auto', 'left' and 'right' are not 'auto' ahem,image http://www.w3.org/TR/css-writing-modes-3/#vertical-layout,http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width 575dcb96feed2e570ac0e03d1abb0f2af1fe4644 `Gérard Talbot`<http://www.gtalbot.org/BrowserBugsSection/css21testsuite/> When 'direction' is 'ltr' and 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'. @@ -492,7 +492,7 @@ at-charset-009 at-charset-001,reference/at-charset-001-ref @charset over referri at-charset-010 at-charset-001,reference/at-charset-001-ref Link charset attribute over referring document's codepage (set) http://www.w3.org/TR/CSS21/syndata.html#charset b39dee72a51df5e049fe0001bdbca19af3d01137 `Microsoft`<http://www.microsoft.com/> The stylesheet's encoding is determined by the link element's charset attribute and not the referring document's code page. at-charset-011 at-charset-001,reference/at-charset-001-ref Link charset attribute over referring document's codepage (not set) http://www.w3.org/TR/CSS21/syndata.html#charset bb803f4f1bbf76e897491176102f107cbd4bb9ec `Microsoft`<http://www.microsoft.com/> The stylesheet's encoding is determined by the link element's charset attribute and not the referring document's code page. at-charset-012 at-charset-001,reference/at-charset-001-ref Stylesheet encoding via the referring document's encoding (set) http://www.w3.org/TR/CSS21/syndata.html#charset a9023c2b0a8df17f3bce2a54374155da0b0aebf0 `Microsoft`<http://www.microsoft.com/> The stylesheet's encoding is determined by the set encoding of the referring document. -at-charset-013 Stylesheet encoding via the referring document's encoding (user set) HTMLonly,interact http://www.w3.org/TR/CSS21/syndata.html#charset 145d211ea37c74e5394d6b6f93328fe536f21a1d `Microsoft`<http://www.microsoft.com/> The stylesheet's encoding is determined by the user set referring document's encoding. +at-charset-013 Stylesheet encoding via the referring document's encoding (user set) HTMLonly,interact http://www.w3.org/TR/CSS21/syndata.html#charset 38743117b70c5990988feb2fd2569fa6927c0d7a `Microsoft`<http://www.microsoft.com/> The stylesheet's encoding is determined by the user set referring document's encoding. at-charset-014 at-charset-001,reference/at-charset-001-ref Matching BOM and @charset (utf-8) http://www.w3.org/TR/CSS21/syndata.html#charset a1a3c6216ea92a07ef16e1fb147fd8432ff36c3d `Microsoft`<http://www.microsoft.com/> The encoding is correctly interpreted from the matched BOM and @charset. at-charset-015 at-charset-001,reference/at-charset-001-ref Matching BOM and @charset (utf-16 LE) http://www.w3.org/TR/CSS21/syndata.html#charset 2e3f28c515a9921c50d55b8d4a59b22c9fe0c686 `Microsoft`<http://www.microsoft.com/> The encoding is correctly interpreted from the matched BOM and @charset. at-charset-016 at-charset-001,reference/at-charset-001-ref Matching BOM and @charset (utf-16 BE) http://www.w3.org/TR/CSS21/syndata.html#charset 491813e6ed6b36b76b0a486476bc2b7024615486 `Microsoft`<http://www.microsoft.com/> The encoding is correctly interpreted from the matched BOM and @charset. @@ -602,12 +602,12 @@ attribute-value-selector-001 reference/attribute-value-selector-001-ref Attribut attribute-value-selector-002 reference/attribute-value-selector-001-ref Attribute selector matching value in hyphenated list http://www.w3.org/TR/CSS21/selector.html#attribute-selectors 50f278c723eeaa566495f8a5f0d9224599d49b8f `Microsoft`<http://www.microsoft.com/> Selector matches attributes with specific value in a hyphen-separated list. attribute-value-selector-003 reference/attribute-value-selector-001-ref Attribute selector matching value in list http://www.w3.org/TR/CSS21/selector.html#attribute-selectors 508036fcffcc15830d5fdff9d40e8e7c0c1ccda3 `Microsoft`<http://www.microsoft.com/> Selector matches attribute with specific value in a space-separated list. attribute-value-selector-004 reference/no-red-filler-text-ref Numeric attributes invalid http://www.w3.org/TR/CSS21/selector.html#attribute-selectors dfb8215a980f61f868127601e02f621b5d8de9a7 `Microsoft`<http://www.microsoft.com/> Attributes cannot begin with numerals. -attribute-value-selector-005 reference/filler-text-below-green Case sensitivity of attributes and attribute values in HTML 4.01 HTMLonly http://www.w3.org/TR/CSS21/selector.html#attribute-selectors 4e99118f4f08eb0e71b36b24b986cbe9e1ad15fe `Microsoft`<http://www.microsoft.com/> HTML 4.01 attribute names are not case sensitive. +attribute-value-selector-005 reference/filler-text-below-green Case sensitivity of attributes and attribute values in HTML 4.01 HTMLonly http://www.w3.org/TR/CSS21/selector.html#attribute-selectors 98fe9d0bad9fb7ca59e360a6c9c33042e5d451ea `Microsoft`<http://www.microsoft.com/> HTML 4.01 attribute names are not case sensitive. attribute-value-selector-006 reference/filler-text-below-green Multiple and repeating attributes http://www.w3.org/TR/CSS21/selector.html#attribute-selectors 1f42c36cb8f99e36982f9ebbec59c63967c711c1 `Microsoft`<http://www.microsoft.com/> Multiple attribute selectors can be used to refer to several attributes of an element, or even several times to the same attribute. -attribute-value-selector-007 lang attribute selector - att=val HTMLonly http://www.w3.org/TR/CSS21/selector.html#attribute-selectors b144c51a0bda8a4416ab50f1cff0f77044315094 `Richard Ishida`<mailto:ishida@w3.org>,`Eira Monstad, Opera Software ASA`<mailto:public-testsuites@opera.com> lang attribute selector with att=val in HTML should not be case sensitive, and should only match when att is exactly val +attribute-value-selector-007 lang attribute selector - att=val HTMLonly http://www.w3.org/TR/CSS21/selector.html#attribute-selectors c66ad246bf6f8d5b5f16e330d968629d22c29ec1 `Richard Ishida`<mailto:ishida@w3.org>,`Eira Monstad, Opera Software ASA`<mailto:public-testsuites@opera.com> lang attribute selector with att=val in HTML should not be case sensitive, and should only match when att is exactly val attribute-value-selector-008 attribute selector - att=val nonHTML http://www.w3.org/TR/CSS21/selector.html#attribute-selectors df9f94901759df9b76cf40d97ca1bc87bd5ef407 `Richard Ishida`<mailto:ishida@w3.org>,`Eira Monstad, Opera Software ASA`<mailto:public-testsuites@opera.com> attribute selector with att=val in XHTML should be case sensitive, and should only match when att is exactly val attribute-value-selector-009 lang attribute selector - att |= val nonHTML http://www.w3.org/TR/CSS21/selector.html#attribute-selectors 97d442f5c1c5b7c883684e956a3a53964d18db05 `Richard Ishida`<mailto:ishida@w3.org>,`Eira Monstad, Opera Software ASA`<mailto:public-testsuites@opera.com> lang attribute selector with 'att |= val' in XHTML should be case sensitive, and match hyphen-separated list -attribute-value-selector-010 lang attribute selector - att |= val HTMLonly http://www.w3.org/TR/CSS21/selector.html#attribute-selectors 6610e1761c91638f236f6d09e5fa3cd1ec9bc73f `Richard Ishida`<mailto:ishida@w3.org>,`Eira Monstad, Opera Software ASA`<mailto:public-testsuites@opera.com> lang attribute selector with 'att |= val' in HTML should not be case sensitive, and match hyphen-separated list +attribute-value-selector-010 lang attribute selector - att |= val HTMLonly http://www.w3.org/TR/CSS21/selector.html#attribute-selectors 8e5e682c49b5702b310e7c58e4a2b4caae5438c1 `Richard Ishida`<mailto:ishida@w3.org>,`Eira Monstad, Opera Software ASA`<mailto:public-testsuites@opera.com> lang attribute selector with 'att |= val' in HTML should not be case sensitive, and match hyphen-separated list background-001 reference/background-001-ref Background with color http://www.w3.org/TR/CSS21/colors.html#propdef-background,http://www.w3.org/TR/CSS21/colors.html#background-properties,http://www.w3.org/TR/css3-background/#the-background 3dd2f2ebcf82520953f31d00f243c309e9b005f9 `Microsoft`<http://www.microsoft.com/> Background with color only sets the background of the element to the color specified. background-002 reference/background-001-ref Background with an image image http://www.w3.org/TR/CSS21/colors.html#propdef-background,http://www.w3.org/TR/CSS21/colors.html#background-properties,http://www.w3.org/TR/css3-background/#the-background 42b9cd53f06b23fbd5efb5774fb90cf6937cece9 `Microsoft`<http://www.microsoft.com/> Background with image only sets the background of the element to the image specified. background-003 reference/background-003-ref Background with repeat image http://www.w3.org/TR/CSS21/colors.html#propdef-background,http://www.w3.org/TR/CSS21/colors.html#background-properties,http://www.w3.org/TR/css3-background/#the-background-repeat 078b26cedc73d69fe8763d4a736bce0c87ad202b `Microsoft`<http://www.microsoft.com/> Background shorthand with repeat only sets its background-repeat subproperty. In such case, the other background subproperties are set to their initial values: 'background-image' is set to 'none', 'background-color' is set to transparent, 'background-attachment' is set to 'scroll', 'background-position' is set to '0% 0%'. @@ -1389,7 +1389,7 @@ background-table-003 background-repeat on table rows http://www.w3.org/TR/CSS2 background-transparency-001 Background initial transparency http://www.w3.org/TR/CSS21/colors.html#background-properties 736b083d39ed02d90e26ecf8cfeaada2cc443b70 `Microsoft`<http://www.microsoft.com/> Background of the parent shines through the child if nothing is over it. bad-selector-001 reference/no-red-filler-text-ref Parsing of bad selectors invalid http://www.w3.org/TR/CSS21/syndata.html#rule-sets 1d45e37ea036e7e72fcf9fc064a1eb064d2447b4 `Microsoft`<http://www.microsoft.com/> Declarations with bad selectors are ignored. basic-css-table-001 CSS table display types http://www.w3.org/TR/CSS21/tables.html#table-display a76fad935d54e5eded6be37d1f4d04ddc497d263 `Microsoft`<http://www.microsoft.com/> CSS display table types are supported. -basic-html-table-001 HTML table with every table element HTMLonly http://www.w3.org/TR/CSS21/tables.html#table-display,http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.2 51ea5055ee5e8fbe0dcfed92e73ce5218baf89fa `Microsoft`<http://www.microsoft.com/> HTML table elements are supported. +basic-html-table-001 HTML table with every table element http://www.w3.org/TR/CSS21/tables.html#table-display,http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.2 2d2335714010abd404725d488c7a5ffb44b15c7c `Microsoft`<http://www.microsoft.com/> HTML table elements are supported. before-after-001 reference/no-red-on-blank-page-ref Before, after applies to same selector invalid http://www.w3.org/TR/CSS21/generate.html#before-after-content bc2221b20dfc6597b1d3a72c2b6ce828e4637e6e `Microsoft`<http://www.microsoft.com/> Multiple pseudo-elements cannot be placed on the same selector. before-after-002 Before, after is included in formatting changes http://www.w3.org/TR/CSS21/generate.html#before-after-content e508222d00574adb1450511af59f2d17b588e2b5 `Microsoft`<http://www.microsoft.com/> Generated content is included in any formatting changes made to an element. before-after-011 reference/before-after-011-ref CSS table model and generated content: Basics http://www.w3.org/TR/CSS21/generate.html#content 4d711fe352bece2498662d33b1072358131808c1 `Ian Hickson`<mailto:ian@hixie.ch> @@ -3965,7 +3965,7 @@ case-sensitive-001 reference/ref-green-background Case-sensitivity of At-rules ( case-sensitive-003 reference/case-sensitive-003-ref Case-sensitivity of pseudo-classes and pseudo-elements http://www.w3.org/TR/CSS21/syndata.html#characters 1e07287509efaccf3f3adfe46d062f0ea27a0aeb `Elika J. Etemad`<http://fantasai.inkedblade.net/> Pseudo-class and pseudo-element names are ASCII case-insensitive. case-sensitive-004 reference/case-sensitive-003-ref Case-sensitivity of :lang() arguments http://www.w3.org/TR/CSS21/syndata.html#characters 723fdbbe5941d318118e86cf5ae161312de476d2 `Elika J. Etemad`<http://fantasai.inkedblade.net/> The argument to :lang() is ASCII case-insensitive. case-sensitive-005 reference/case-sensitive-005-ref Case-sensitivity of counter names http://www.w3.org/TR/CSS21/syndata.html#characters dfd0240ea392700c15e32a28eec725b6db820f94 `Elika J. Etemad`<http://fantasai.inkedblade.net/> Counter names are case-sensitive. -case-sensitive-006 reference/filler-text-below-green Case sensitivity with element selectors HTMLonly http://www.w3.org/TR/CSS21/syndata.html#characters 22e1a8c5e8284dd76b4937bb74102888636a7325 `Microsoft`<http://www.microsoft.com/> Element selectors are case-insensitive in HTML. +case-sensitive-006 reference/filler-text-below-green Case sensitivity with element selectors HTMLonly http://www.w3.org/TR/CSS21/syndata.html#characters 457235f5ac6fac023fd91e151fd6aac15d688db4 `Microsoft`<http://www.microsoft.com/> Element selectors are case-insensitive in HTML. case-sensitive-007 reference/no-red-filler-text-ref Case sensitivity with element selectors nonHTML http://www.w3.org/TR/CSS21/syndata.html#characters 07b1170801ad9349fabaf98db0ece9a247c6bbb5 `Microsoft`<http://www.microsoft.com/> Element selectors are case-sensitive in XHTML and XML. case-sensitive-008 Case sensitive attributes http://www.w3.org/TR/CSS21/syndata.html#characters 8cf1bfbdf626dc47463dec1641223a3070ad05bb `Microsoft`<http://www.microsoft.com/> CSS style sheets parts that are not under the control of CSS are case dependant on the language being used. character-encoding-001 html utf8, css http iso1 http http://www.w3.org/TR/CSS21/syndata.html#charset fb6776fd6b89a215898ffd2f8a2939bca234fd6d `Richard Ishida`<http://rishida.net> The user agent respects the encoding of a css stylesheet declared in HTTP. @@ -4524,7 +4524,7 @@ content-178 Generated Content and :hover interact http://www.w3.org/TR/CSS21/ge content-applies-to-001 Content property works only with :before and :after http://www.w3.org/TR/CSS21/generate.html#content 0a7b1ab9d36c05a3a846ddbb83630d2c7d472446 `Microsoft`<http://www.microsoft.com/> Content property only works in conjunction with the :before and :after pseudo-elements. content-attr-001 Content property missing attr(x) http://www.w3.org/TR/CSS21/generate.html#content a0172362ab7646f9bc95c6a72f8e802b0be15661 `Microsoft`<http://www.microsoft.com/> If attribute (x) does not exist then an empty string is returned for the attr(x) value. content-attr-002 Generated Content from Attributes http://www.w3.org/TR/CSS21/generate.html#content 3e946aa0feecdff07e2b1eb05d7ac1035d5bd7e7 `Ian Hickson`<mailto:ian@hixie.ch> -content-attr-case-001 Content property attr(x) case sensitivity HTMLonly http://www.w3.org/TR/CSS21/generate.html#content 931b842f10ec40ae8fbd9b273ae7247d1596ff48 `Microsoft`<http://www.microsoft.com/> The attr(x) function selects the attribute even when case does not match. +content-attr-case-001 Content property attr(x) case sensitivity HTMLonly http://www.w3.org/TR/CSS21/generate.html#content 96aca06767439e52a29914a3e62c5fb48ca7b051 `Microsoft`<http://www.microsoft.com/> The attr(x) function selects the attribute even when case does not match. content-attr-case-002 content attr(x) case sensitivity nonHTML http://www.w3.org/TR/CSS21/generate.html#content 8f51b48e369494bfb30ac28c19acfd57462413e2 `Microsoft`<http://www.microsoft.com/> Verify in XHTML that attr(x) does not select the attribute when the case does not match content-auto-reset-001 Content property on out of scope counter http://www.w3.org/TR/CSS21/generate.html#content 073f16d82ce968e2b8068bfa814e1766852b4f2b `Microsoft`<http://www.microsoft.com/> If content refers to a counter that is not in scope, it is assumed that a counter-reset has occurred and the counter is reset to zero. content-counter-000 reference/content-counter-000-ref content: counter(c) http://www.w3.org/TR/CSS21/generate.html#propdef-content,http://www.w3.org/TR/CSS21/syndata.html#counter,http://www.w3.org/TR/CSS21/generate.html#counter-styles 11a2ca2e1625c9268277f0ae67b69128862f171f `L. David Baron`<http://dbaron.org/> @@ -6314,7 +6314,7 @@ html-attribute-025 Attribute 'rows' vs CSS 'height' specificity http://www.w3. html-attribute-027 Attribute 'size' vs CSS 'height' specificity http://www.w3.org/TR/CSS21/cascade.html#preshint 2ff211e36163503f656b0159564c0d65b733683a `Microsoft`<http://www.microsoft.com/> Attribute 'size' has a specificity of zero and is overridden by CSS. html-attribute-028 reference/filler-text-below-green Attribute 'text' vs. CSS 'color' specificity http://www.w3.org/TR/CSS21/cascade.html#preshint 1ce9f6f95b73a4ccf256bec09117276809d48ade `Microsoft`<http://www.microsoft.com/> Attribute 'text' has a specificity of zero and is overridden by CSS. html-attribute-029 Attribute 'vlink' vs. CSS ':visited' specificity history,interact http://www.w3.org/TR/CSS21/cascade.html#preshint f998397c8034e6c1736eb7ddec232c366a1c94a5 `Microsoft`<http://www.microsoft.com/> Attribute 'vlink' has a specificity of zero and is overridden by CSS. -html-case-sensitivity-001 reference/filler-text-below-green HTML case sensitivity - Simple selectors HTMLonly http://www.w3.org/TR/CSS21/selector.html#attribute-selectors c1084fb637732e0f38c98f3cf8d44ed7615b50d3 `Microsoft`<http://www.microsoft.com/> Simple selectors are not case sensitive in HTML. +html-case-sensitivity-001 reference/filler-text-below-green HTML case sensitivity - Simple selectors HTMLonly http://www.w3.org/TR/CSS21/selector.html#attribute-selectors 61c5f087d9286aac1c28ebd292b4d741f26ee594 `Microsoft`<http://www.microsoft.com/> Simple selectors are not case sensitive in HTML. html-precedence-001 reference/filler-text-below-green Element selector precedence http://www.w3.org/TR/CSS21/cascade.html#preshint 3573513b879877aac04434ec6e5b093269bc4524 `Microsoft`<http://www.microsoft.com/> The 'color' attribute has a specificity equal to 0 which be overridden by subsequent style sheet rules. html-precedence-002 Universal selector precedence http://www.w3.org/TR/CSS21/cascade.html 0b46ebed4702a22efb288095cbdf9b70b775abdb `Microsoft`<http://www.microsoft.com/> The universal selector and the 'color' attribute have the same specificity. The universal selector is applied since CSS takes precedence. html-precedence-003 User style sheet precedence userstyle http://www.w3.org/TR/CSS21/cascade.html b507f02f7de40704408f6fb0730e3c9498592b07 `Microsoft`<http://www.microsoft.com/> The 'font' element's 'color' attribute trumps the user stylesheet's universal selector. They have the same specificity but the font element is a virtual author rule. @@ -6546,7 +6546,7 @@ invalid-decl-at-rule-001 reference/filler-text-below-green Parsing invalid decla invalid-decl-at-rule-002 reference/filler-text-below-green Parsing invalid declarations in at-rules where valid declaration follows invalid rule invalid http://www.w3.org/TR/CSS21/syndata.html#parsing-errors 18333853d45725f63cfc9ac8c77ccf8019fbd6a0 `Microsoft`<http://www.microsoft.com/> Invalid declarations at the beginning of at-rules are ignored while the remaining following valid declarations are applied. keywords-000 reference/ref-green-background Keywords v. Strings (background) http://www.w3.org/TR/CSS21/syndata.html#keywords 357b9fbfad6de9a3954d1b74132546939b2ab969 `L. David Baron`<http://dbaron.org/> keywords-001 reference/keywords-001-ref Keywords v. Strings (width) http://www.w3.org/TR/CSS21/syndata.html#keywords 13c37f2ae37cf36c4c63e048fda5b7e634131c79 `L. David Baron`<http://dbaron.org/> -lang-pseudoclass-001 :lang pseudoclass HTMLonly http://www.w3.org/TR/CSS21/selector.html#lang 2602376b05b0a04bfac482b35a7255b115f32cae `Richard Ishida`<mailto:ishida@w3.org>,`Eira Monstad, Opera Software ASA`<mailto:public-testsuites@opera.com> :lang pseudoclass in HTML should not be case-sensitive, and match a substring +lang-pseudoclass-001 :lang pseudoclass HTMLonly http://www.w3.org/TR/CSS21/selector.html#lang ed144842c4ac153c32ec42841a3670ec4f867836 `Richard Ishida`<mailto:ishida@w3.org>,`Eira Monstad, Opera Software ASA`<mailto:public-testsuites@opera.com> :lang pseudoclass in HTML should not be case-sensitive, and match a substring lang-pseudoclass-002 :lang pseudoclass nonHTML http://www.w3.org/TR/CSS21/selector.html#lang 809974aadd059c23c700cfcc3511f3600d18d104 `Richard Ishida`<mailto:ishida@w3.org>,`Eira Monstad, Opera Software ASA`<mailto:public-testsuites@opera.com> :lang pseudoclass in XHTML should be case sensitive, and match a substring lang-selector-001 reference/lang-selector-001-ref Selectors :lang pseudo-class http://www.w3.org/TR/CSS21/selector.html#lang 2cc3bcad14d2ae93e81330e70b355dc2d29fa55f `Microsoft`<http://www.microsoft.com/> The :lang pseudo-class selector matches any element with a matching lang attribute. lang-selector-002 reference/no-red-filler-text-ref Empty :lang selector invalid http://www.w3.org/TR/CSS21/selector.html#lang b7b03b42293d2980dc7fe0c42c76fe4e42cf7b3f `Microsoft`<http://www.microsoft.com/> Language identifier cannot be empty. @@ -8187,7 +8187,7 @@ overflow-applies-to-012 reference/ref-if-there-is-no-red overflow applied to ele overflow-applies-to-013 reference/ref-if-there-is-no-red overflow applied to elements with 'display' set to 'table' ahem http://www.w3.org/TR/CSS21/visufx.html#propdef-overflow,http://www.w3.org/TR/CSS21/visufx.html#overflow f32853446be0649bcbf2ad5d370f85cf9f1a57fd `Microsoft`<http://www.microsoft.com/> The 'overflow' property applies to elements with 'display' set to 'table'. overflow-applies-to-014 reference/ref-if-there-is-no-red overflow applied to elements with 'display' set to 'inline-table' ahem http://www.w3.org/TR/CSS21/visufx.html#propdef-overflow,http://www.w3.org/TR/CSS21/visufx.html#overflow 9dff4df7af0a5fd748bbf49d98ee9a49ddaf9441 `Microsoft`<http://www.microsoft.com/> The 'overflow' property applies to elements with 'display' set to 'inline-table'. overflow-applies-to-015 reference/ref-if-there-is-no-red overflow applied to elements with 'display' set to 'table-caption' ahem http://www.w3.org/TR/CSS21/visufx.html#propdef-overflow,http://www.w3.org/TR/CSS21/visufx.html#overflow 442f3d24c0384de7ea16ff5eb82f46abcb88c8fb `Microsoft`<http://www.microsoft.com/> The 'overflow' property applies to elements with 'display' set to 'table-caption'. -overflow-html-body-001 Overflow on body propagates to viewport HTMLonly http://www.w3.org/TR/CSS21/visufx.html#overflow fe1965ac899fd53ea219d93a81049663904e20d2 `Microsoft`<http://www.microsoft.com/> An HTML user agent propagates the 'overflow' property from the 'body' to the viewport. +overflow-html-body-001 Overflow on body propagates to viewport http://www.w3.org/TR/CSS21/visufx.html#overflow b796f106ecbaf8f3ec883d428c6755e8631f1302 `Microsoft`<http://www.microsoft.com/> An HTML user agent propagates the 'overflow' property from the 'body' to the viewport. overflow-parent-001 Overflow hidden on root element http://www.w3.org/TR/CSS21/visufx.html#overflow 5e5665c2ad7fbd835b709512267113fbdb6b67fc `Microsoft`<http://www.microsoft.com/> Clipping does not affect elements where their parent is the viewport. overflow-print-001 Overflow 'scroll' and printing may,paged http://www.w3.org/TR/CSS21/visufx.html#overflow 6084ae9d52fdc1d051372ae928be2d0fc0ece147 `Microsoft`<http://www.microsoft.com/> The 'overflow' property set to 'scroll' acts like 'visible' when element is printed. overflow-root-001 Overflow on root propagates to viewport http://www.w3.org/TR/CSS21/visufx.html#overflow 2732f05f98602083e3cac47e147b2cf9a8ef8e6b `Microsoft`<http://www.microsoft.com/> The 'overflow' property set on the root propagates to the viewport. @@ -9388,10 +9388,10 @@ table-height-algorithm-030 Cell boxes smaller than their rows receive extra pad table-height-algorithm-031 Table baseline and caption http://www.w3.org/TR/CSS21/tables.html#height-layout,http://www.w3.org/TR/CSS21/visudet.html#leading 65eca5feb9ce005655803e21634e7db8b7b8dc87 `Microsoft`<http://www.microsoft.com/> A table caption does not set the baseline for a table. table-height-algorithm-032 Inline-table baseline and caption http://www.w3.org/TR/CSS21/tables.html#height-layout,http://www.w3.org/TR/CSS21/visudet.html#leading 4067a0970a6c859e9836ea36d8bed04790e01c29 `Microsoft`<http://www.microsoft.com/> A table caption does not set the baseline for an inline-table. table-in-inline-001 reference/table-in-inline-001-ref blocks inside inlines – table-pseudo-in-part3-1 http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level 5736ce35d142b5b5210309b68e33956e7da02d39 `Boris Zbarsky`<mailto:bzbarsky@mit.edu>,`Mozilla Corporation`<http://mozilla.com/> -table-intro-example-001 Introduction to Tables (text-align, font-weight) HTMLonly http://www.w3.org/TR/CSS21/tables.html#tables-intro 5352d59ceb6c3d96b6e080d940d77936081e224e `Microsoft`<http://www.microsoft.com/> 'text-align' and 'font-weight' can be applied to table cells (example from spec section 17.1). -table-intro-example-002 Introduction to Tables (vertical-align) HTMLonly http://www.w3.org/TR/CSS21/tables.html#tables-intro bd69aaf91ac4bdf7dcab118078b9936bcd9a7bc1 `Microsoft`<http://www.microsoft.com/> 'vertical-align' can be set on table cells (example from section 17.1). -table-intro-example-003 Introduction to Tables (border-collapse, border) HTMLonly http://www.w3.org/TR/CSS21/tables.html#tables-intro 3033c9166cc42fe6bada3d42b925685eda3c4f78 `Microsoft`<http://www.microsoft.com/> 'border-collapse' and 'border' can be set on table elements (example from section 17.1). -table-intro-example-004 Introduction to Tables (caption-side) HTMLonly http://www.w3.org/TR/CSS21/tables.html#tables-intro 5729584dcaca25c6eefbb282fd41a6fc58f6b348 `Microsoft`<http://www.microsoft.com/> 'caption-side' can be set on a table caption (example from section 17.1). +table-intro-example-001 Introduction to Tables (text-align, font-weight) http://www.w3.org/TR/CSS21/tables.html#tables-intro d3ec6d14d1ed132e0f7395c85d9803967a1aa6cb `Microsoft`<http://www.microsoft.com/> 'text-align' and 'font-weight' can be applied to table cells (example from spec section 17.1). +table-intro-example-002 Introduction to Tables (vertical-align) http://www.w3.org/TR/CSS21/tables.html#tables-intro 8702bfd06511a290586cb2565d9afd6227dbf1b3 `Microsoft`<http://www.microsoft.com/> 'vertical-align' can be set on table cells (example from section 17.1). +table-intro-example-003 Introduction to Tables (border-collapse, border) http://www.w3.org/TR/CSS21/tables.html#tables-intro a748de6ac35b1b954e607023905ff851605c5412 `Microsoft`<http://www.microsoft.com/> 'border-collapse' and 'border' can be set on table elements (example from section 17.1). +table-intro-example-004 Introduction to Tables (caption-side) http://www.w3.org/TR/CSS21/tables.html#tables-intro 330287e4994e9b26e19f3d1b63a98e272fbe9506 `Microsoft`<http://www.microsoft.com/> 'caption-side' can be set on a table caption (example from section 17.1). table-layer-transparency-001 Background on a table element shows if all elements above its layer are transparent http://www.w3.org/TR/CSS21/tables.html#table-layers 11f26cdc88668b70c3c86bd93e5bc970799e8643 `Microsoft`<http://www.microsoft.com/> A background set on a table element will show if all table element layers above it are transparent. table-layer-transparency-002 Background on a column group element shows if all elements above its layer are transparent http://www.w3.org/TR/CSS21/tables.html#table-layers 825f6a7c7e4e9e7a130adf95489923cc130981c1 `Microsoft`<http://www.microsoft.com/> A background set on a column group element will show if all table element layers above it are transparent. table-layer-transparency-003 Background on a column group element shows on all of a cell that spans through it 96dpi,image http://www.w3.org/TR/CSS21/tables.html#table-layers 9518bed9b069d5b14537e2b5561158bd8ca24898 `Microsoft`<http://www.microsoft.com/> A background set on a column group element will show on all of a cell that spans outside of it, but it will not affect background image positioning. diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/abs-pos-non-replaced-vlr-059.xht b/tests/wpt/css-tests/css21_dev/xhtml1/abs-pos-non-replaced-vlr-059.xht index 53fa7894e39..2d2d1a0ccb4 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/abs-pos-non-replaced-vlr-059.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/abs-pos-non-replaced-vlr-059.xht @@ -3,7 +3,7 @@ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" /> @@ -11,7 +11,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.xht" /> <meta name="flags" content="ahem image" /> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'." /> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." /> <style type="text/css"><![CDATA[ div#containing-block diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/abs-pos-non-replaced-vrl-058.xht b/tests/wpt/css-tests/css21_dev/xhtml1/abs-pos-non-replaced-vrl-058.xht index b8ce38d64d5..99fb7a944d2 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/abs-pos-non-replaced-vrl-058.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/abs-pos-non-replaced-vrl-058.xht @@ -3,7 +3,7 @@ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" /> @@ -11,7 +11,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.xht" /> <meta name="flags" content="ahem image" /> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'." /> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." /> <style type="text/css"><![CDATA[ div#containing-block diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/basic-html-table-001.xht b/tests/wpt/css-tests/css21_dev/xhtml1/basic-html-table-001.xht new file mode 100644 index 00000000000..8e7fef365fb --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1/basic-html-table-001.xht @@ -0,0 +1,50 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: HTML table with every table element</title> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#table-display" /> + <link rel="help" href="http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.2" /> + <meta name="assert" content="HTML table elements are supported." /> + <style type="text/css"> + caption, td, th + { + background: black; + } + </style> + </head> + <body> + <p>Test passes if there is a solid bar on top of a three-by-three grid of boxes below.</p> + <table border="1"> + <caption>X</caption> + <colgroup> + <col /> + <col /> + </colgroup> + <colgroup> + <col /> + </colgroup> + <thead> + <tr> + <th>XXXXX</th> + <th>XXXXX</th> + <th>XXXXX</th> + </tr> + </thead> + <tfoot> + <tr> + <td>XXXXX</td> + <td>XXXXX</td> + <td>XXXXX</td> + </tr> + </tfoot> + <tbody> + <tr> + <td>XXXXX</td> + <td>XXXXX</td> + <td>XXXXX</td> + </tr> + </tbody> + </table> + </body> +</html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-1.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-1.xht index 71ff793d472..ed573d284aa 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-1.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-1.xht @@ -30,7 +30,10 @@ <tbody id="s1"> <tr><th colspan="4" scope="rowgroup"> <a href="#s1">+</a> - <a href="https://www.w3.org/TR/CSS21/about.html">1 About the CSS 2.1 Specification</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/about.html#q1.0">1 About the CSS 2.1 Specification</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s1.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s1.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-10.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-10.xht index ba733da8144..37e75a29ed5 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-10.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-10.xht @@ -30,7 +30,10 @@ <tbody id="s10"> <tr><th colspan="4" scope="rowgroup"> <a href="#s10">+</a> - <a href="https://www.w3.org/TR/CSS21/visudet.html">10 Visual formatting model details</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/visudet.html#q10.0">10 Visual formatting model details</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s10.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s10.1"> @@ -4171,9 +4174,9 @@ <a href="abs-pos-non-replaced-vlr-059.xht">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> @@ -4699,9 +4702,9 @@ <a href="abs-pos-non-replaced-vrl-058.xht">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-11.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-11.xht index b0cb056530e..a6388179b3a 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-11.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-11.xht @@ -30,7 +30,10 @@ <tbody id="s11"> <tr><th colspan="4" scope="rowgroup"> <a href="#s11">+</a> - <a href="https://www.w3.org/TR/CSS21/visufx.html">11 Visual effects</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/visufx.html#q11.0">11 Visual effects</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s11.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s11.1"> @@ -616,6 +619,17 @@ </ul> </td> </tr> + <tr id="overflow-html-body-001-11.1.1" class=""> + <td> + <a href="overflow-html-body-001.xht">overflow-html-body-001</a></td> + <td></td> + <td></td> + <td>Overflow on body propagates to viewport + <ul class="assert"> + <li>An HTML user agent propagates the 'overflow' property from the 'body' to the viewport.</li> + </ul> + </td> + </tr> <tr id="overflow-parent-001-11.1.1" class=""> <td> <a href="overflow-parent-001.xht">overflow-parent-001</a></td> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-12.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-12.xht index d3a7c255aa7..ec3b574b825 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-12.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-12.xht @@ -33,6 +33,9 @@ <a href="https://www.w3.org/TR/CSS21/generate.html#generated-text">12 Generated content, automatic numbering, and lists</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="s12.#annoying-warning"> + <!-- 0 tests --> + </tbody> <tbody id="s12.#x0"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-13.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-13.xht index f0ee1586a8b..f89e4e6e376 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-13.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-13.xht @@ -33,6 +33,9 @@ <a href="https://www.w3.org/TR/CSS21/page.html#the-page">13 Paged media</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="s13.#annoying-warning"> + <!-- 0 tests --> + </tbody> <tbody id="s13.1"> <tr><th colspan="4" scope="rowgroup"> <a href="#s13.1">+</a> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-14.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-14.xht index 810d9c25fe7..1123ff003e3 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-14.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-14.xht @@ -30,7 +30,10 @@ <tbody id="s14"> <tr><th colspan="4" scope="rowgroup"> <a href="#s14">+</a> - <a href="https://www.w3.org/TR/CSS21/colors.html">14 Colors and Backgrounds</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/colors.html#q14.0">14 Colors and Backgrounds</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s14.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s14.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-15.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-15.xht index 5400d683ecb..31c6e9d5837 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-15.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-15.xht @@ -30,7 +30,10 @@ <tbody id="s15"> <tr><th colspan="4" scope="rowgroup"> <a href="#s15">+</a> - <a href="https://www.w3.org/TR/CSS21/fonts.html">15 Fonts</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/fonts.html#q15.0">15 Fonts</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s15.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s15.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-16.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-16.xht index 509b6e3191a..b6de913108b 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-16.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-16.xht @@ -30,7 +30,10 @@ <tbody id="s16"> <tr><th colspan="4" scope="rowgroup"> <a href="#s16">+</a> - <a href="https://www.w3.org/TR/CSS21/text.html">16 Text</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/text.html#q16.0">16 Text</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s16.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s16.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-17.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-17.xht index 82c13a2fded..7badb6c74ee 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-17.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-17.xht @@ -30,7 +30,10 @@ <tbody id="s17"> <tr><th colspan="4" scope="rowgroup"> <a href="#s17">+</a> - <a href="https://www.w3.org/TR/CSS21/tables.html">17 Tables</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/tables.html#q17.0">17 Tables</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s17.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s17.1"> @@ -137,6 +140,50 @@ </ul> </td> </tr> + <tr id="table-intro-example-001-17.1" class=""> + <td> + <a href="table-intro-example-001.xht">table-intro-example-001</a></td> + <td></td> + <td></td> + <td>Introduction to Tables (text-align, font-weight) + <ul class="assert"> + <li>'text-align' and 'font-weight' can be applied to table cells (example from spec section 17.1).</li> + </ul> + </td> + </tr> + <tr id="table-intro-example-002-17.1" class=""> + <td> + <a href="table-intro-example-002.xht">table-intro-example-002</a></td> + <td></td> + <td></td> + <td>Introduction to Tables (vertical-align) + <ul class="assert"> + <li>'vertical-align' can be set on table cells (example from section 17.1).</li> + </ul> + </td> + </tr> + <tr id="table-intro-example-003-17.1" class=""> + <td> + <a href="table-intro-example-003.xht">table-intro-example-003</a></td> + <td></td> + <td></td> + <td>Introduction to Tables (border-collapse, border) + <ul class="assert"> + <li>'border-collapse' and 'border' can be set on table elements (example from section 17.1).</li> + </ul> + </td> + </tr> + <tr id="table-intro-example-004-17.1" class=""> + <td> + <a href="table-intro-example-004.xht">table-intro-example-004</a></td> + <td></td> + <td></td> + <td>Introduction to Tables (caption-side) + <ul class="assert"> + <li>'caption-side' can be set on a table caption (example from section 17.1).</li> + </ul> + </td> + </tr> <tr id="table-organization-001-17.1" class=""> <td> <a href="table-organization-001.xht">table-organization-001</a></td> @@ -227,6 +274,17 @@ </ul> </td> </tr> + <tr id="basic-html-table-001-17.2" class=""> + <td> + <a href="basic-html-table-001.xht">basic-html-table-001</a></td> + <td></td> + <td></td> + <td>HTML table with every table element + <ul class="assert"> + <li>HTML table elements are supported.</li> + </ul> + </td> + </tr> <tr id="before-content-display-012-17.2" class=""> <td> <a href="before-content-display-012.xht">before-content-display-012</a></td> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-18.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-18.xht index 241fa40de4a..276fd0bcf3f 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-18.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-18.xht @@ -30,7 +30,10 @@ <tbody id="s18"> <tr><th colspan="4" scope="rowgroup"> <a href="#s18">+</a> - <a href="https://www.w3.org/TR/CSS21/ui.html">18 User interface</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/ui.html#q18.0">18 User interface</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s18.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s18.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-2.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-2.xht index 6e2541a4475..010b4a724bb 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-2.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-2.xht @@ -30,7 +30,10 @@ <tbody id="s2"> <tr><th colspan="4" scope="rowgroup"> <a href="#s2">+</a> - <a href="https://www.w3.org/TR/CSS21/intro.html">2 Introduction to CSS 2.1</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/intro.html#q2.0">2 Introduction to CSS 2.1</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s2.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s2.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-3.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-3.xht index f61a4865067..9ddd9cc2359 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-3.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-3.xht @@ -30,7 +30,10 @@ <tbody id="s3"> <tr><th colspan="4" scope="rowgroup"> <a href="#s3">+</a> - <a href="https://www.w3.org/TR/CSS21/conform.html">3 Conformance: Requirements and Recommendations</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/conform.html#q3.0">3 Conformance: Requirements and Recommendations</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s3.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s3.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-4.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-4.xht index 7d04993d7ca..0086ecf94f5 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-4.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-4.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Syntax and basic data types (439 tests)</h2> + <h2>Syntax and basic data types (431 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,96 +30,11 @@ <tbody id="s4"> <tr><th colspan="4" scope="rowgroup"> <a href="#s4">+</a> - <a href="https://www.w3.org/TR/CSS21/syndata.html">4 Syntax and basic data types</a></th></tr> - <!-- 8 tests --> - <tr id="counters-001-4" class=""> - <td> - <a href="counters-001.xht">counters-001</a></td> - <td><a href="reference/counters-001-ref.xht">=</a> </td> - <td></td> - <td>Parsing counter functions with just the identifier - <ul class="assert"> - <li>Counters can be referred to using only the identifier.</li> - </ul> - </td> - </tr> - <tr id="counters-002-4" class="invalid"> - <td> - <a href="counters-002.xht">counters-002</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Parsing invalid counter functions - Too many arguments - <ul class="assert"> - <li>A counter is invalid if it has too many arguments.</li> - </ul> - </td> - </tr> - <tr id="ident-014-4" class=""> - <td> - <a href="ident-014.xht">ident-014</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Selector attributes and hyphens - <ul class="assert"> - <li>Attribute selectors can begin with hyphens.</li> - </ul> - </td> - </tr> - <tr id="ident-015-4" class=""> - <td> - <a href="ident-015.xht">ident-015</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Attribute selectors and underscores - <ul class="assert"> - <li>Attribute selectors can begin with underscores.</li> - </ul> - </td> - </tr> - <tr id="ident-016-4" class=""> - <td> - <a href="ident-016.xht">ident-016</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Attribute selectors with hyphens and underscores - <ul class="assert"> - <li>Attribute selectors are valid if they begin with hyphens and then underscores.</li> - </ul> - </td> - </tr> - <tr id="ident-017-4" class="invalid"> - <td> - <a href="ident-017.xht">ident-017</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Attribute selection with digits - <ul class="assert"> - <li>Attribute selectors cannot begin with digits.</li> - </ul> - </td> - </tr> - <tr id="ident-018-4" class="invalid"> - <td> - <a href="ident-018.xht">ident-018</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Attribute selectors starting with hyphens and digits - <ul class="assert"> - <li>Attribute selectors cannot begin with hyphens then digits.</li> - </ul> - </td> - </tr> - <tr id="ident-019-4" class=""> - <td> - <a href="ident-019.xht">ident-019</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Attribute selectors starting with underscore and digits - <ul class="assert"> - <li>Attribute selectors can begin with underscore then digits.</li> - </ul> - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/syndata.html#q4.0">4 Syntax and basic data types</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s4.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s4.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-5.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-5.xht index e913af114ae..bfe1618ad1c 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-5.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-5.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Selectors (677 tests)</h2> + <h2>Selectors (668 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,80 +30,11 @@ <tbody id="s5"> <tr><th colspan="4" scope="rowgroup"> <a href="#s5">+</a> - <a href="https://www.w3.org/TR/CSS21/selector.html">5 Selectors</a></th></tr> - <!-- 9 tests --> - <tr id="cascade-import-dynamic-001-5" class=""> - <td> - <a href="cascade-import-dynamic-001.xht">cascade-import-dynamic-001</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet append (<style>) - </td> - </tr> - <tr id="cascade-import-dynamic-002-5" class=""> - <td> - <a href="cascade-import-dynamic-002.xht">cascade-import-dynamic-002</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet append (<link>) - </td> - </tr> - <tr id="cascade-import-dynamic-003-5" class=""> - <td> - <a href="cascade-import-dynamic-003.xht">cascade-import-dynamic-003</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet insertion (<style>) - </td> - </tr> - <tr id="cascade-import-dynamic-004-5" class=""> - <td> - <a href="cascade-import-dynamic-004.xht">cascade-import-dynamic-004</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet insertion (<link>) - </td> - </tr> - <tr id="cascade-import-dynamic-005-5" class=""> - <td> - <a href="cascade-import-dynamic-005.xht">cascade-import-dynamic-005</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet deletion (<style>) - </td> - </tr> - <tr id="cascade-import-dynamic-006-5" class=""> - <td> - <a href="cascade-import-dynamic-006.xht">cascade-import-dynamic-006</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet deletion (<link>) - </td> - </tr> - <tr id="cascade-import-dynamic-control-5" class=""> - <td> - <a href="cascade-import-dynamic-control.xht">cascade-import-dynamic-control</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Control test - </td> - </tr> - <tr id="html-precedence-004-5" class="userstyle"> - <td> - <a href="html-precedence-004.xht">html-precedence-004</a></td> - <td><a href="reference/html-precedence-004-ref.xht">=</a> </td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User Stylesheets and non-CSS Presentational Hints - </td> - </tr> - <tr id="html-precedence-005-5" class="userstyle"> - <td> - <a href="html-precedence-005.xht">html-precedence-005</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User Stylesheets and non-CSS Presentational Hints - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/selector.html#q5.0">5 Selectors</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s5.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s5.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-6.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-6.xht index 12519429186..5009f4aa553 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-6.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-6.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Assigning property values, Cascading, and Inheritance (145 tests)</h2> + <h2>Assigning property values, Cascading, and Inheritance (117 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,316 +30,11 @@ <tbody id="s6"> <tr><th colspan="4" scope="rowgroup"> <a href="#s6">+</a> - <a href="https://www.w3.org/TR/CSS21/cascade.html">6 Assigning property values, Cascading, and Inheritance</a></th></tr> - <!-- 28 tests --> - <tr id="at-import-001-6" class=""> - <td> - <a href="at-import-001.xht">at-import-001</a></td> - <td></td> - <td></td> - <td>@import not as the first declaration - <ul class="assert"> - <li>An @import is ignored if it is not the first statement in a style block.</li> - </ul> - </td> - </tr> - <tr id="at-import-002-6" class=""> - <td> - <a href="at-import-002.xht">at-import-002</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Importing external stylesheets with @import - <ul class="assert"> - <li>An @import used to import external stylesheets.</li> - </ul> - </td> - </tr> - <tr id="at-import-003-6" class=""> - <td> - <a href="at-import-003.xht">at-import-003</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Importing styles using @import with a string - <ul class="assert"> - <li>An @import used with just a string is interpreted as if it had url(...) around it.</li> - </ul> - </td> - </tr> - <tr id="at-import-004-6" class=""> - <td> - <a href="at-import-004.xht">at-import-004</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Media dependency on @import set to 'print' - <ul class="assert"> - <li>Specifying a media-dependency of print does not apply rules to the user agent display.</li> - </ul> - </td> - </tr> - <tr id="at-import-005-6" class=""> - <td> - <a href="at-import-005.xht">at-import-005</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Media dependency on @import set to 'all' - <ul class="assert"> - <li>Specifying the media-dependency of 'all' applies to all media types including user agent display.</li> - </ul> - </td> - </tr> - <tr id="at-import-006-6" class=""> - <td> - <a href="at-import-006.xht">at-import-006</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Media dependency on @import set to 'screen' - <ul class="assert"> - <li>Specifying the media-dependent import rules to 'screen' applies to user agent display.</li> - </ul> - </td> - </tr> - <tr id="at-import-007-6" class=""> - <td> - <a href="at-import-007.xht">at-import-007</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>@import with @charset - <ul class="assert"> - <li>An @import is valid after @charset.</li> - </ul> - </td> - </tr> - <tr id="html-precedence-002-6" class=""> - <td> - <a href="html-precedence-002.xht">html-precedence-002</a></td> - <td></td> - <td></td> - <td>Universal selector precedence - <ul class="assert"> - <li>The universal selector and the 'color' attribute have the same specificity. The universal selector is applied since CSS takes precedence.</li> - </ul> - </td> - </tr> - <tr id="html-precedence-003-6" class="userstyle"> - <td> - <a href="html-precedence-003.xht">html-precedence-003</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User style sheet precedence - <ul class="assert"> - <li>The 'font' element's 'color' attribute trumps the user stylesheet's universal selector. They have the same specificity but the font element is a virtual author rule.</li> - </ul> - </td> - </tr> - <tr id="inherited-value-002-6" class="ahem"> - <td> - <a href="inherited-value-002.xht">inherited-value-002</a></td> - <td></td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td> - <td>Inheriting computed values - <ul class="assert"> - <li>The computed value of a font-size with a percentage is the percentage of its parent's font-size value. A nested element which also has a percentage applies the parents' specified value (which is inherited).</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-001-6" class="userstyle"> - <td> - <a href="user-stylesheet-001.xht">user-stylesheet-001</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User defined stylesheet can be applied - <ul class="assert"> - <li>User stylesheet can be applied to the page.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-002-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-002.xht">user-stylesheet-002</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User defined stylesheet can be applied and persisted - <ul class="assert"> - <li>The user stylesheet is still applied after close and reopen the user agent window.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-003-6" class="userstyle"> - <td> - <a href="user-stylesheet-003.xht">user-stylesheet-003</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Rules with normal declarations in an user defined stylesheet can be overriden by rules with normal declarations from author in a style block - <ul class="assert"> - <li>A CSS rule (with normal - not !important - declarations) in an author style sheet have more weight than a CSS rule (with normal - not !important -declarations) in an user style sheet.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-004-6" class="userstyle"> - <td> - <a href="user-stylesheet-004.xht">user-stylesheet-004</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Rules with normal declarations in an user defined stylesheet can be overriden by normal declarations from author in an inline style attribute - <ul class="assert"> - <li>A normal - not !important - declaration in an inline style from author have more weight than a CSS rule (with normal - not !important -) declarations in an user style sheet.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-005-6" class="userstyle"> - <td> - <a href="user-stylesheet-005.xht">user-stylesheet-005</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Descendant selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The descendant selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-006-6" class="userstyle"> - <td> - <a href="user-stylesheet-006.xht">user-stylesheet-006</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Child selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The child selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-007-6" class="userstyle"> - <td> - <a href="user-stylesheet-007.xht">user-stylesheet-007</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Adjacent sibling selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The adjacent sibling selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-008-6" class="userstyle"> - <td> - <a href="user-stylesheet-008.xht">user-stylesheet-008</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Attribute selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The attribute selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-009-6" class="userstyle"> - <td> - <a href="user-stylesheet-009.xht">user-stylesheet-009</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>ID selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The ID selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-010-6" class="userstyle"> - <td> - <a href="user-stylesheet-010.xht">user-stylesheet-010</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-class selector :first-child defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :first-child defined in user stylesheet is applied to the first child of an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-011-6" class="userstyle"> - <td> - <a href="user-stylesheet-011.xht">user-stylesheet-011</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element first-line selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :first-line defined in user stylesheet is applied to the first line of an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-012-6" class="history userstyle"> - <td> - <a href="user-stylesheet-012.xht">user-stylesheet-012</a></td> - <td></td> - <td><abbr class="history" title="Requires session history">History</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Link defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :link defined in user stylesheet is applied to all links.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-013-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-013.xht">user-stylesheet-013</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Visited selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :visited defined in user stylesheet is applied when a link has already been visited.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-014-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-014.xht">user-stylesheet-014</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Hover defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :hover defined in user stylesheet is applied when the mouse is above an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-015-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-015.xht">user-stylesheet-015</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-class :active defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :active defined in user stylesheet is implemented.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-016-6" class="userstyle"> - <td> - <a href="user-stylesheet-016.xht">user-stylesheet-016</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element first-letter selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :first-letter defined in user stylesheet is applied to the first letter of an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-017-6" class="userstyle"> - <td> - <a href="user-stylesheet-017.xht">user-stylesheet-017</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element before selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :before defined in user stylesheet is inserted before an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-018-6" class="userstyle"> - <td> - <a href="user-stylesheet-018.xht">user-stylesheet-018</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element after selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :after defined in user stylesheet is inserted after an element.</li> - </ul> - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/cascade.html#q6.0">6 Assigning property values, Cascading, and Inheritance</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s6.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s6.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-7.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-7.xht index 7dfe0c642f1..f991904e8aa 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-7.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-7.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Media types (22 tests)</h2> + <h2>Media types (5 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,195 +30,11 @@ <tbody id="s7"> <tr><th colspan="4" scope="rowgroup"> <a href="#s7">+</a> - <a href="https://www.w3.org/TR/CSS21/media.html">7 Media types</a></th></tr> - <!-- 17 tests --> - <tr id="media-dependency-001-7" class=""> - <td> - <a href="media-dependency-001.xht">media-dependency-001</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>@media and target mediums - <ul class="assert"> - <li>@media with a target medium applies styles on that target medium (screen).</li> - </ul> - </td> - </tr> - <tr id="media-dependency-002-7" class=""> - <td> - <a href="media-dependency-002.xht">media-dependency-002</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>@import and target mediums - <ul class="assert"> - <li>@media with a target medium applies styles on that target medium (screen).</li> - </ul> - </td> - </tr> - <tr id="media-dependency-003-7" class=""> - <td> - <a href="media-dependency-003.xht">media-dependency-003</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Link tags and target mediums - <ul class="assert"> - <li>Link with a target medium applies styles on that target medium (screen).</li> - </ul> - </td> - </tr> - <tr id="media-dependency-004-7" class=""> - <td> - <a href="media-dependency-004.xht">media-dependency-004</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Case-insensitive media types - <ul class="assert"> - <li>Media types are case-insensitive.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-005-7" class="invalid"> - <td> - <a href="media-dependency-005.xht">media-dependency-005</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Ignoring bad media types with @import - <ul class="assert"> - <li>User agent ignores media types it does not understand with @import.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-006-7" class="invalid"> - <td> - <a href="media-dependency-006.xht">media-dependency-006</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Ignoring bad media types with @media - <ul class="assert"> - <li>User agent ignores media types it does not understand with @media.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-007-7" class=""> - <td> - <a href="media-dependency-007.xht">media-dependency-007</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums - <ul class="assert"> - <li>The @media block does not apply because it does not match the target medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-008-7" class=""> - <td> - <a href="media-dependency-008.xht">media-dependency-008</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums and @import - <ul class="assert"> - <li>The @import command does not apply because it does not match the target medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-009-7" class=""> - <td> - <a href="media-dependency-009.xht">media-dependency-009</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Matching the 'All' target medium - <ul class="assert"> - <li>The 'all' media type applies to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-010-7" class=""> - <td> - <a href="media-dependency-010.xht">media-dependency-010</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (braille) - <ul class="assert"> - <li>The 'braille' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-011-7" class=""> - <td> - <a href="media-dependency-011.xht">media-dependency-011</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (embossed) - <ul class="assert"> - <li>The 'embossed' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-012-7" class=""> - <td> - <a href="media-dependency-012.xht">media-dependency-012</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (handheld) - <ul class="assert"> - <li>The 'handheld' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-013-7" class=""> - <td> - <a href="media-dependency-013.xht">media-dependency-013</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (projection) - <ul class="assert"> - <li>The 'projection' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-014-7" class=""> - <td> - <a href="media-dependency-014.xht">media-dependency-014</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (speech) - <ul class="assert"> - <li>The 'speech' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-015-7" class=""> - <td> - <a href="media-dependency-015.xht">media-dependency-015</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (tty) - <ul class="assert"> - <li>The 'tty' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-016-7" class=""> - <td> - <a href="media-dependency-016.xht">media-dependency-016</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (tv) - <ul class="assert"> - <li>The 'tv' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-017-7" class=""> - <td> - <a href="media-dependency-017.xht">media-dependency-017</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Multiple target mediums - <ul class="assert"> - <li>An '@media' rule specifies the target media types separated by commas.</li> - </ul> - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/media.html#q7.0">7 Media types</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s7.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s7.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-8.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-8.xht index 471ccaaf28f..70e7346fb13 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-8.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-8.xht @@ -33,6 +33,9 @@ <a href="https://www.w3.org/TR/CSS21/box.html#box-model">8 Box model</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="s8.#annoying-warning"> + <!-- 0 tests --> + </tbody> <tbody id="s8.1"> <tr><th colspan="4" scope="rowgroup"> <a href="#s8.1">+</a> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-9.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-9.xht index f957c82ac6b..e65591f3fc4 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-9.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-9.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Visual formatting model (1247 tests)</h2> + <h2>Visual formatting model (1246 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,16 +30,11 @@ <tbody id="s9"> <tr><th colspan="4" scope="rowgroup"> <a href="#s9">+</a> - <a href="https://www.w3.org/TR/CSS21/visuren.html">9 Visual formatting model</a></th></tr> - <!-- 1 tests --> - <tr id="c5526c-display-000-9" class=""> - <td> - <a href="c5526c-display-000.xht">c5526c-display-000</a></td> - <td></td> - <td></td> - <td>display/box/float/clear test - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/visuren.html#q9.0">9 Visual formatting model</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s9.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s9.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-A.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-A.xht index 918efb8b096..311d98c1bb4 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-A.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-A.xht @@ -30,7 +30,10 @@ <tbody id="sA"> <tr><th colspan="4" scope="rowgroup"> <a href="#sA">+</a> - <a href="https://www.w3.org/TR/CSS21/aural.html">A Aural style sheets</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/aural.html#q19.0">A Aural style sheets</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sA.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sA.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-B.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-B.xht index 5bc259221d9..fad1b00c46a 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-B.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-B.xht @@ -30,7 +30,10 @@ <tbody id="sB"> <tr><th colspan="4" scope="rowgroup"> <a href="#sB">+</a> - <a href="https://www.w3.org/TR/CSS21/refs.html">B Bibliography</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/refs.html#q20.0">B Bibliography</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sB.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sB.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-C.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-C.xht index da760a656d5..525f0f97da3 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-C.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-C.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Changes (5 tests)</h2> + <h2>Changes (0 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,7 +30,10 @@ <tbody id="sC"> <tr><th colspan="4" scope="rowgroup"> <a href="#sC">+</a> - <a href="https://www.w3.org/TR/CSS21/changes.html">C Changes</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/changes.html#q21.0">C Changes</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sC.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sC.1"> @@ -45,7 +48,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a4.3.6">C.1.1 Section 4.3.6 Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.1.#q2"> + <tbody id="sC.1.1.#q21.2"> <!-- 0 tests --> </tbody> <tbody id="sC.1.2"> @@ -54,7 +57,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a9.2.4">C.1.2 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.2.#q3"> + <tbody id="sC.1.2.#q21.3"> <!-- 0 tests --> </tbody> <tbody id="sC.1.3"> @@ -63,7 +66,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a12.2">C.1.3 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.3.#q4"> + <tbody id="sC.1.3.#q21.4"> <!-- 0 tests --> </tbody> <tbody id="sC.1.4"> @@ -72,7 +75,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a16.6">C.1.4 Section 16.6 White space: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.4.#q5"> + <tbody id="sC.1.4.#q21.5"> <!-- 0 tests --> </tbody> <tbody id="sC.1.5"> @@ -81,7 +84,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a18.1">C.1.5 Section 18.1 Cursors: the 'cursor' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.5.#q6"> + <tbody id="sC.1.5.#q21.6"> <!-- 0 tests --> </tbody> <tbody id="sC.2"> @@ -96,7 +99,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.1">C.2.1 Section 1.1 CSS 2.1 vs CSS 2</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.1.#q8"> + <tbody id="sC.2.1.#q21.8"> <!-- 0 tests --> </tbody> <tbody id="sC.2.2"> @@ -105,7 +108,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.2">C.2.2 Section 1.2 Reading the specification</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.2.#q9"> + <tbody id="sC.2.2.#q21.9"> <!-- 0 tests --> </tbody> <tbody id="sC.2.3"> @@ -114,7 +117,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.3">C.2.3 Section 1.3 How the specification is organized</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.3.#q10"> + <tbody id="sC.2.3.#q21.10"> <!-- 0 tests --> </tbody> <tbody id="sC.2.4"> @@ -123,7 +126,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.2.1">C.2.4 Section 1.4.2.1 Value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.4.#q11"> + <tbody id="sC.2.4.#q21.11"> <!-- 0 tests --> </tbody> <tbody id="sC.2.5"> @@ -132,7 +135,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.2.6">C.2.5 Section 1.4.2.6 Media groups</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.5.#q12"> + <tbody id="sC.2.5.#q21.12"> <!-- 0 tests --> </tbody> <tbody id="sC.2.6"> @@ -141,7 +144,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.2.7">C.2.6 Section 1.4.2.7 Computed value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.6.#q13"> + <tbody id="sC.2.6.#q21.13"> <!-- 0 tests --> </tbody> <tbody id="sC.2.7"> @@ -150,7 +153,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.4">C.2.7 Section 1.4.4 Notes and examples</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.7.#q14"> + <tbody id="sC.2.7.#q21.14"> <!-- 0 tests --> </tbody> <tbody id="sC.2.8"> @@ -159,7 +162,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.5">C.2.8 Section 1.5 Acknowledgments</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.8.#q15"> + <tbody id="sC.2.8.#q21.15"> <!-- 0 tests --> </tbody> <tbody id="sC.2.9"> @@ -168,7 +171,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c3.2">C.2.9 Section 3.2 Conformance</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.9.#q16"> + <tbody id="sC.2.9.#q21.16"> <!-- 0 tests --> </tbody> <tbody id="sC.2.10"> @@ -177,7 +180,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c3.3">C.2.10 Section 3.3 Error Conditions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.10.#q17"> + <tbody id="sC.2.10.#q21.17"> <!-- 0 tests --> </tbody> <tbody id="sC.2.11"> @@ -186,7 +189,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.1.1">C.2.11 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.11.#q18"> + <tbody id="sC.2.11.#q21.18"> <!-- 0 tests --> </tbody> <tbody id="sC.2.11.#underscore"> @@ -198,7 +201,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.1.3">C.2.12 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.12.#q19"> + <tbody id="sC.2.12.#q21.19"> <!-- 0 tests --> </tbody> <tbody id="sC.2.13"> @@ -207,7 +210,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.2">C.2.13 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.13.#q20"> + <tbody id="sC.2.13.#q21.20"> <!-- 0 tests --> </tbody> <tbody id="sC.2.14"> @@ -216,7 +219,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3">C.2.14 Section 4.3 Values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.14.#q21"> + <tbody id="sC.2.14.#q21.21"> <!-- 0 tests --> </tbody> <tbody id="sC.2.15"> @@ -225,7 +228,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.2">C.2.15 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.15.#q22"> + <tbody id="sC.2.15.#q21.22"> <!-- 0 tests --> </tbody> <tbody id="sC.2.16"> @@ -234,7 +237,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.4">C.2.16 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.16.#q23"> + <tbody id="sC.2.16.#q21.23"> <!-- 0 tests --> </tbody> <tbody id="sC.2.17"> @@ -243,7 +246,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.5">C.2.17 Section 4.3.5 Counters</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.17.#q24"> + <tbody id="sC.2.17.#q21.24"> <!-- 0 tests --> </tbody> <tbody id="sC.2.18"> @@ -252,7 +255,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.6">C.2.18 Section 4.3.6 Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.18.#q25"> + <tbody id="sC.2.18.#q21.25"> <!-- 0 tests --> </tbody> <tbody id="sC.2.19"> @@ -261,7 +264,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.8">C.2.19 Section 4.3.8 Unsupported Values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.19.#q26"> + <tbody id="sC.2.19.#q21.26"> <!-- 0 tests --> </tbody> <tbody id="sC.2.20"> @@ -270,7 +273,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.4">C.2.20 Section 4.4 CSS style sheet representation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.20.#q27"> + <tbody id="sC.2.20.#q21.27"> <!-- 0 tests --> </tbody> <tbody id="sC.2.21"> @@ -279,7 +282,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.8.1">C.2.21 Section 5.8.1 Matching attributes and attribute values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.21.#q28"> + <tbody id="sC.2.21.#q21.28"> <!-- 0 tests --> </tbody> <tbody id="sC.2.22"> @@ -288,7 +291,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.8.3">C.2.22 Section 5.8.3 Class selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.22.#q29"> + <tbody id="sC.2.22.#q21.29"> <!-- 0 tests --> </tbody> <tbody id="sC.2.23"> @@ -297,7 +300,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.9">C.2.23 Section 5.9 ID selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.23.#q30"> + <tbody id="sC.2.23.#q21.30"> <!-- 0 tests --> </tbody> <tbody id="sC.2.24"> @@ -306,7 +309,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.10">C.2.24 Section 5.10 Pseudo-elements and pseudo-classes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.24.#q31"> + <tbody id="sC.2.24.#q21.31"> <!-- 0 tests --> </tbody> <tbody id="sC.2.25"> @@ -315,7 +318,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.11.2">C.2.25 Section 5.11.2 The link pseudo-classes: :link and :visited</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.25.#q32"> + <tbody id="sC.2.25.#q21.32"> <!-- 0 tests --> </tbody> <tbody id="sC.2.26"> @@ -324,7 +327,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.11.4">C.2.26 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.26.#q33"> + <tbody id="sC.2.26.#q21.33"> <!-- 0 tests --> </tbody> <tbody id="sC.2.27"> @@ -333,7 +336,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.12.1">C.2.27 Section 5.12.1 The :first-line pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.27.#q34"> + <tbody id="sC.2.27.#q21.34"> <!-- 0 tests --> </tbody> <tbody id="sC.2.28"> @@ -342,7 +345,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.12.2">C.2.28 Section 5.12.2 The :first-letter pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.28.#q35"> + <tbody id="sC.2.28.#q21.35"> <!-- 0 tests --> </tbody> <tbody id="sC.2.29"> @@ -351,7 +354,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.1">C.2.29 Section 6.1 Specified, computed, and actual values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.29.#q36"> + <tbody id="sC.2.29.#q21.36"> <!-- 0 tests --> </tbody> <tbody id="sC.2.30"> @@ -360,7 +363,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.4.1">C.2.30 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.30.#q37"> + <tbody id="sC.2.30.#q21.37"> <!-- 0 tests --> </tbody> <tbody id="sC.2.31"> @@ -369,7 +372,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.4.3">C.2.31 Section 6.4.3 Calculating a selector's specificity</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.31.#q38"> + <tbody id="sC.2.31.#q21.38"> <!-- 0 tests --> </tbody> <tbody id="sC.2.32"> @@ -378,7 +381,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.4.4">C.2.32 Section 6.4.4 Precedence of non-CSS presentational hints</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.32.#q39"> + <tbody id="sC.2.32.#q21.39"> <!-- 0 tests --> </tbody> <tbody id="sC.2.33"> @@ -387,7 +390,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c7.3">C.2.33 Section 7.3 Recognized Media Types</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.33.#q40"> + <tbody id="sC.2.33.#q21.40"> <!-- 0 tests --> </tbody> <tbody id="sC.2.34"> @@ -396,7 +399,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c7.3.1">C.2.34 Section 7.3.1 Media Groups</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.34.#q41"> + <tbody id="sC.2.34.#q21.41"> <!-- 0 tests --> </tbody> <tbody id="sC.2.35"> @@ -405,7 +408,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.3">C.2.35 Section 8.3 Margin properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.35.#q42"> + <tbody id="sC.2.35.#q21.42"> <!-- 0 tests --> </tbody> <tbody id="sC.2.36"> @@ -414,7 +417,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.3.1">C.2.36 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.36.#q43"> + <tbody id="sC.2.36.#q21.43"> <!-- 0 tests --> </tbody> <tbody id="sC.2.37"> @@ -423,7 +426,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.4">C.2.37 Section 8.4 Padding properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.37.#q44"> + <tbody id="sC.2.37.#q21.44"> <!-- 0 tests --> </tbody> <tbody id="sC.2.38"> @@ -432,7 +435,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.5.2">C.2.38 Section 8.5.2 Border color</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.38.#q45"> + <tbody id="sC.2.38.#q21.45"> <!-- 0 tests --> </tbody> <tbody id="sC.2.39"> @@ -441,7 +444,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.5.3">C.2.39 Section 8.5.3 Border style</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.39.#q46"> + <tbody id="sC.2.39.#q21.46"> <!-- 0 tests --> </tbody> <tbody id="sC.2.40"> @@ -450,7 +453,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.6">C.2.40 Section 8.6 The box model for inline elements in bidirectional context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.40.#q47"> + <tbody id="sC.2.40.#q21.47"> <!-- 0 tests --> </tbody> <tbody id="sC.2.41"> @@ -459,7 +462,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.1.2">C.2.41 Section 9.1.2 Containing blocks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.41.#q48"> + <tbody id="sC.2.41.#q21.48"> <!-- 0 tests --> </tbody> <tbody id="sC.2.42"> @@ -468,7 +471,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.1.1">C.2.42 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.42.#q49"> + <tbody id="sC.2.42.#q21.49"> <!-- 0 tests --> </tbody> <tbody id="sC.2.43"> @@ -477,7 +480,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.2.1">C.2.43 Section 9.2.2.1 Anonymous inline boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.43.#q50"> + <tbody id="sC.2.43.#q21.50"> <!-- 0 tests --> </tbody> <tbody id="sC.2.44"> @@ -486,7 +489,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.3">C.2.44 Section 9.2.3 Run-in boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.44.#q51"> + <tbody id="sC.2.44.#q21.51"> <!-- 0 tests --> </tbody> <tbody id="sC.2.45"> @@ -495,7 +498,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.4">C.2.45 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.45.#q52"> + <tbody id="sC.2.45.#q21.52"> <!-- 0 tests --> </tbody> <tbody id="sC.2.46"> @@ -504,7 +507,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.3.1">C.2.46 Section 9.3.1 Choosing a positioning scheme</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.46.#q53"> + <tbody id="sC.2.46.#q21.53"> <!-- 0 tests --> </tbody> <tbody id="sC.2.47"> @@ -513,7 +516,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.3.2">C.2.47 Section 9.3.2 Box offsets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.47.#q54"> + <tbody id="sC.2.47.#q21.54"> <!-- 0 tests --> </tbody> <tbody id="sC.2.48"> @@ -522,7 +525,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.4.1">C.2.48 Section 9.4.1 Block formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.48.#q55"> + <tbody id="sC.2.48.#q21.55"> <!-- 0 tests --> </tbody> <tbody id="sC.2.49"> @@ -531,7 +534,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.4.2">C.2.49 Section 9.4.2 Inline formatting context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.49.#q56"> + <tbody id="sC.2.49.#q21.56"> <!-- 0 tests --> </tbody> <tbody id="sC.2.50"> @@ -540,7 +543,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.4.3">C.2.50 Section 9.4.3 Relative positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.50.#q57"> + <tbody id="sC.2.50.#q21.57"> <!-- 0 tests --> </tbody> <tbody id="sC.2.51"> @@ -549,7 +552,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.5">C.2.51 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.51.#q58"> + <tbody id="sC.2.51.#q21.58"> <!-- 0 tests --> </tbody> <tbody id="sC.2.52"> @@ -558,7 +561,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.5.1">C.2.52 Section 9.5.1 Positioning the float</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.52.#q59"> + <tbody id="sC.2.52.#q21.59"> <!-- 0 tests --> </tbody> <tbody id="sC.2.53"> @@ -567,7 +570,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.5.2">C.2.53 Section 9.5.2 Controlling flow next to floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.53.#q60"> + <tbody id="sC.2.53.#q21.60"> <!-- 0 tests --> </tbody> <tbody id="sC.2.54"> @@ -576,7 +579,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.7">C.2.54 Section 9.7 Relationships between 'display', 'position', and 'float'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.54.#q61"> + <tbody id="sC.2.54.#q21.61"> <!-- 0 tests --> </tbody> <tbody id="sC.2.55"> @@ -585,7 +588,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.9">C.2.55 Section 9.9 Layered presentation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.55.#q62"> + <tbody id="sC.2.55.#q21.62"> <!-- 0 tests --> </tbody> <tbody id="sC.2.56"> @@ -594,7 +597,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.10">C.2.56 Section 9.10 Text direction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.56.#q63"> + <tbody id="sC.2.56.#q21.63"> <!-- 0 tests --> </tbody> <tbody id="sC.2.57"> @@ -603,7 +606,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10">C.2.57 Chapter 10 Visual formatting model details</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.57.#q64"> + <tbody id="sC.2.57.#q21.64"> <!-- 0 tests --> </tbody> <tbody id="sC.2.58"> @@ -615,7 +618,7 @@ <tbody id="sC.2.58.#initial-containing-block"> <!-- 0 tests --> </tbody> - <tbody id="sC.2.58.#q65"> + <tbody id="sC.2.58.#q21.65"> <!-- 0 tests --> </tbody> <tbody id="sC.2.59"> @@ -624,7 +627,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.2">C.2.59 Section 10.2 Content width</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.59.#q66"> + <tbody id="sC.2.59.#q21.66"> <!-- 0 tests --> </tbody> <tbody id="sC.2.60"> @@ -633,7 +636,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3">C.2.60 Section 10.3 Calculating widths and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.60.#q67"> + <tbody id="sC.2.60.#q21.67"> <!-- 0 tests --> </tbody> <tbody id="sC.2.61"> @@ -642,7 +645,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.2">C.2.61 Section 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.61.#q68"> + <tbody id="sC.2.61.#q21.68"> <!-- 0 tests --> </tbody> <tbody id="sC.2.62"> @@ -651,7 +654,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.3">C.2.62 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.62.#q69"> + <tbody id="sC.2.62.#q21.69"> <!-- 0 tests --> </tbody> <tbody id="sC.2.63"> @@ -660,7 +663,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.4">C.2.63 Section 10.3.4 Block-level, replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.63.#q70"> + <tbody id="sC.2.63.#q21.70"> <!-- 0 tests --> </tbody> <tbody id="sC.2.64"> @@ -669,7 +672,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.5">C.2.64 Section 10.3.5 Floating, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.64.#q71"> + <tbody id="sC.2.64.#q21.71"> <!-- 0 tests --> </tbody> <tbody id="sC.2.65"> @@ -678,7 +681,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.6">C.2.65 Section 10.3.6 Floating, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.65.#q72"> + <tbody id="sC.2.65.#q21.72"> <!-- 0 tests --> </tbody> <tbody id="sC.2.66"> @@ -687,7 +690,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.7">C.2.66 Section 10.3.7 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.66.#q73"> + <tbody id="sC.2.66.#q21.73"> <!-- 0 tests --> </tbody> <tbody id="sC.2.67"> @@ -696,7 +699,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.8">C.2.67 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.67.#q74"> + <tbody id="sC.2.67.#q21.74"> <!-- 0 tests --> </tbody> <tbody id="sC.2.68"> @@ -705,7 +708,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.4">C.2.68 Section 10.4 Minimum and maximum widths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.68.#q75"> + <tbody id="sC.2.68.#q21.75"> <!-- 0 tests --> </tbody> <tbody id="sC.2.69"> @@ -714,7 +717,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.5">C.2.69 Section 10.5 Content height</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.69.#q76"> + <tbody id="sC.2.69.#q21.76"> <!-- 0 tests --> </tbody> <tbody id="sC.2.70"> @@ -723,7 +726,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6">C.2.70 Section 10.6 Calculating heights and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.70.#q77"> + <tbody id="sC.2.70.#q21.77"> <!-- 0 tests --> </tbody> <tbody id="sC.2.71"> @@ -732,7 +735,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.1">C.2.71 Section 10.6.1 Inline, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.71.#q78"> + <tbody id="sC.2.71.#q21.78"> <!-- 0 tests --> </tbody> <tbody id="sC.2.72"> @@ -741,7 +744,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.2">C.2.72 Section 10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.72.#q79"> + <tbody id="sC.2.72.#q21.79"> <!-- 0 tests --> </tbody> <tbody id="sC.2.73"> @@ -750,7 +753,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.3">C.2.73 Section 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.73.#q80"> + <tbody id="sC.2.73.#q21.80"> <!-- 0 tests --> </tbody> <tbody id="sC.2.74"> @@ -759,7 +762,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.4">C.2.74 Section 10.6.4 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.74.#q81"> + <tbody id="sC.2.74.#q21.81"> <!-- 0 tests --> </tbody> <tbody id="sC.2.75"> @@ -768,7 +771,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.5">C.2.75 Section 10.6.5 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.75.#q82"> + <tbody id="sC.2.75.#q21.82"> <!-- 0 tests --> </tbody> <tbody id="sC.2.76"> @@ -777,7 +780,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.7">C.2.76 Section 10.7 Minimum and maximum heights</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.76.#q83"> + <tbody id="sC.2.76.#q21.83"> <!-- 0 tests --> </tbody> <tbody id="sC.2.77"> @@ -786,7 +789,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.8">C.2.77 Section 10.8 Line height calculations</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.77.#q84"> + <tbody id="sC.2.77.#q21.84"> <!-- 0 tests --> </tbody> <tbody id="sC.2.78"> @@ -795,7 +798,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.8.1">C.2.78 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.78.#q85"> + <tbody id="sC.2.78.#q21.85"> <!-- 0 tests --> </tbody> <tbody id="sC.2.79"> @@ -804,7 +807,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.1">C.2.79 Section 11.1 Overflow and clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.79.#q86"> + <tbody id="sC.2.79.#q21.86"> <!-- 0 tests --> </tbody> <tbody id="sC.2.80"> @@ -813,7 +816,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.1.1">C.2.80 Section 11.1.1 Overflow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.80.#q87"> + <tbody id="sC.2.80.#q21.87"> <!-- 0 tests --> </tbody> <tbody id="sC.2.81"> @@ -822,7 +825,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.1.2">C.2.81 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.81.#q88"> + <tbody id="sC.2.81.#q21.88"> <!-- 0 tests --> </tbody> <tbody id="sC.2.82"> @@ -831,7 +834,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.2">C.2.82 Section 11.2 Visibility</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.82.#q89"> + <tbody id="sC.2.82.#q21.89"> <!-- 0 tests --> </tbody> <tbody id="sC.2.83"> @@ -840,7 +843,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12">C.2.83 Chapter 12 Generated content, automatic numbering, and lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.83.#q90"> + <tbody id="sC.2.83.#q21.90"> <!-- 0 tests --> </tbody> <tbody id="sC.2.84"> @@ -849,7 +852,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.1">C.2.84 Section 12.1 The :before and :after pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.84.#q91"> + <tbody id="sC.2.84.#q21.91"> <!-- 0 tests --> </tbody> <tbody id="sC.2.85"> @@ -858,7 +861,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.2">C.2.85 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.85.#q92"> + <tbody id="sC.2.85.#q21.92"> <!-- 0 tests --> </tbody> <tbody id="sC.2.86"> @@ -867,7 +870,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.3.2">C.2.86 Section 12.3.2 Inserting quotes with the 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.86.#q93"> + <tbody id="sC.2.86.#q21.93"> <!-- 0 tests --> </tbody> <tbody id="sC.2.87"> @@ -876,7 +879,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.4">C.2.87 Section 12.4 Automatic counters and numbering</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.87.#q94"> + <tbody id="sC.2.87.#q21.94"> <!-- 0 tests --> </tbody> <tbody id="sC.2.88"> @@ -885,7 +888,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.4.1">C.2.88 Section 12.4.1 Nested counters and scope</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.88.#q95"> + <tbody id="sC.2.88.#q21.95"> <!-- 0 tests --> </tbody> <tbody id="sC.2.89"> @@ -894,7 +897,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.5">C.2.89 Section 12.5 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.89.#q96"> + <tbody id="sC.2.89.#q21.96"> <!-- 0 tests --> </tbody> <tbody id="sC.2.90"> @@ -903,7 +906,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.5.1">C.2.90 Section 12.5.1 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.90.#q97"> + <tbody id="sC.2.90.#q21.97"> <!-- 0 tests --> </tbody> <tbody id="sC.2.91"> @@ -912,7 +915,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.1">C.2.91 Chapter 13 Paged media</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.91.#q98"> + <tbody id="sC.2.91.#q21.98"> <!-- 0 tests --> </tbody> <tbody id="sC.2.92"> @@ -921,7 +924,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.2.2">C.2.92 Section 13.2.2 Page selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.92.#q99"> + <tbody id="sC.2.92.#q21.99"> <!-- 0 tests --> </tbody> <tbody id="sC.2.93"> @@ -930,7 +933,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.3.1">C.2.93 Section 13.3.1 Page break properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.93.#q100"> + <tbody id="sC.2.93.#q21.100"> <!-- 0 tests --> </tbody> <tbody id="sC.2.94"> @@ -939,7 +942,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.3.3">C.2.94 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.94.#q101"> + <tbody id="sC.2.94.#q21.101"> <!-- 0 tests --> </tbody> <tbody id="sC.2.95"> @@ -948,7 +951,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c14.2.1">C.2.95 Section 14.2.1 Background properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.95.#q102"> + <tbody id="sC.2.95.#q21.102"> <!-- 0 tests --> </tbody> <tbody id="sC.2.96"> @@ -957,7 +960,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c14.3">C.2.96 Section 14.3 Gamma correction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.96.#q103"> + <tbody id="sC.2.96.#q21.103"> <!-- 0 tests --> </tbody> <tbody id="sC.2.97"> @@ -966,7 +969,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15">C.2.97 Chapter 15 Fonts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.97.#q104"> + <tbody id="sC.2.97.#q21.104"> <!-- 0 tests --> </tbody> <tbody id="sC.2.98"> @@ -975,7 +978,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.2">C.2.98 Section 15.2 Font matching algorithm</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.98.#q105"> + <tbody id="sC.2.98.#q21.105"> <!-- 0 tests --> </tbody> <tbody id="sC.2.99"> @@ -984,7 +987,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.3">C.2.99 Section 15.2.2 Font family</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.99.#q106"> + <tbody id="sC.2.99.#q21.106"> <!-- 0 tests --> </tbody> <tbody id="sC.2.100"> @@ -993,7 +996,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.5">C.2.100 Section 15.5 Small-caps</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.100.#q107"> + <tbody id="sC.2.100.#q21.107"> <!-- 0 tests --> </tbody> <tbody id="sC.2.101"> @@ -1002,7 +1005,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.6">C.2.101 Section 15.6 Font boldness</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.101.#q108"> + <tbody id="sC.2.101.#q21.108"> <!-- 0 tests --> </tbody> <tbody id="sC.2.102"> @@ -1011,7 +1014,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.7">C.2.102 Section 15.7 Font size</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.102.#q109"> + <tbody id="sC.2.102.#q21.109"> <!-- 0 tests --> </tbody> <tbody id="sC.2.103"> @@ -1020,7 +1023,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16">C.2.103 Chapter 16 Text</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.103.#q110"> + <tbody id="sC.2.103.#q21.110"> <!-- 0 tests --> </tbody> <tbody id="sC.2.104"> @@ -1029,7 +1032,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.2">C.2.104 Section 16.2 Alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.104.#q111"> + <tbody id="sC.2.104.#q21.111"> <!-- 0 tests --> </tbody> <tbody id="sC.2.105"> @@ -1038,7 +1041,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.3.1">C.2.105 Section 16.3.1 Underlining, over lining, striking, and blinking</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.105.#q112"> + <tbody id="sC.2.105.#q21.112"> <!-- 0 tests --> </tbody> <tbody id="sC.2.106"> @@ -1047,7 +1050,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.4">C.2.106 Section 16.4 Letter and word spacing</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.106.#q113"> + <tbody id="sC.2.106.#q21.113"> <!-- 0 tests --> </tbody> <tbody id="sC.2.107"> @@ -1056,7 +1059,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.5">C.2.107 Section 16.5 Capitalization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.107.#q114"> + <tbody id="sC.2.107.#q21.114"> <!-- 0 tests --> </tbody> <tbody id="sC.2.108"> @@ -1065,7 +1068,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.6">C.2.108 Section 16.6 White space</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.108.#q115"> + <tbody id="sC.2.108.#q21.115"> <!-- 0 tests --> </tbody> <tbody id="sC.2.109"> @@ -1074,7 +1077,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17">C.2.109 Chapter 17 Tables</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.109.#q116"> + <tbody id="sC.2.109.#q21.116"> <!-- 0 tests --> </tbody> <tbody id="sC.2.110"> @@ -1083,7 +1086,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.2">C.2.110 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.110.#q117"> + <tbody id="sC.2.110.#q21.117"> <!-- 0 tests --> </tbody> <tbody id="sC.2.111"> @@ -1092,7 +1095,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.2.1">C.2.111 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.111.#q118"> + <tbody id="sC.2.111.#q21.118"> <!-- 0 tests --> </tbody> <tbody id="sC.2.112"> @@ -1101,7 +1104,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.4">C.2.112 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.112.#q119"> + <tbody id="sC.2.112.#q21.119"> <!-- 0 tests --> </tbody> <tbody id="sC.2.113"> @@ -1110,7 +1113,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.4.1">C.2.113 Section 17.4.1 Caption position and alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.113.#q120"> + <tbody id="sC.2.113.#q21.120"> <!-- 0 tests --> </tbody> <tbody id="sC.2.114"> @@ -1119,7 +1122,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5">C.2.114 Section 17.5 Visual layout of table contents</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.114.#q121"> + <tbody id="sC.2.114.#q21.121"> <!-- 0 tests --> </tbody> <tbody id="sC.2.115"> @@ -1128,7 +1131,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.1">C.2.115 Section 17.5.1 Table layers and transparency</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.115.#q122"> + <tbody id="sC.2.115.#q21.122"> <!-- 0 tests --> </tbody> <tbody id="sC.2.116"> @@ -1137,7 +1140,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.2.1">C.2.116 Section 17.5.2.1 Fixed table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.116.#q123"> + <tbody id="sC.2.116.#q21.123"> <!-- 0 tests --> </tbody> <tbody id="sC.2.117"> @@ -1146,7 +1149,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.2.2">C.2.117 Section 17.5.2.2 Automatic table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.117.#q124"> + <tbody id="sC.2.117.#q21.124"> <!-- 0 tests --> </tbody> <tbody id="sC.2.118"> @@ -1155,7 +1158,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.3">C.2.118 Section 17.5.3 Table height algorithms</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.118.#q125"> + <tbody id="sC.2.118.#q21.125"> <!-- 0 tests --> </tbody> <tbody id="sC.2.119"> @@ -1164,7 +1167,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.4">C.2.119 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.119.#q126"> + <tbody id="sC.2.119.#q21.126"> <!-- 0 tests --> </tbody> <tbody id="sC.2.120"> @@ -1173,7 +1176,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6">C.2.120 Section 17.6 Borders</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.120.#q127"> + <tbody id="sC.2.120.#q21.127"> <!-- 0 tests --> </tbody> <tbody id="sC.2.121"> @@ -1182,7 +1185,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.1">C.2.121 Section 17.6.1 The separated borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.121.#q128"> + <tbody id="sC.2.121.#q21.128"> <!-- 0 tests --> </tbody> <tbody id="sC.2.122"> @@ -1191,7 +1194,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.1.1">C.2.122 Section 17.6.1.1 Borders and Backgrounds around empty cells</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.122.#q129"> + <tbody id="sC.2.122.#q21.129"> <!-- 0 tests --> </tbody> <tbody id="sC.2.123"> @@ -1200,7 +1203,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.2">C.2.123 Section 17.6.2 The collapsing border model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.123.#q130"> + <tbody id="sC.2.123.#q21.130"> <!-- 0 tests --> </tbody> <tbody id="sC.2.124"> @@ -1209,7 +1212,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.2.1">C.2.124 Section 17.6.2.1 Border conflict resolution</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.124.#q131"> + <tbody id="sC.2.124.#q21.131"> <!-- 0 tests --> </tbody> <tbody id="sC.2.125"> @@ -1218,7 +1221,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c18.1">C.2.125 Section 18.1 Cursors: the 'cursor' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.125.#q132"> + <tbody id="sC.2.125.#q21.132"> <!-- 0 tests --> </tbody> <tbody id="sC.2.126"> @@ -1227,7 +1230,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c18.4">C.2.126 Section 18.4 Dynamic outlines</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.126.#q133"> + <tbody id="sC.2.126.#q21.133"> <!-- 0 tests --> </tbody> <tbody id="sC.2.127"> @@ -1236,7 +1239,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s-12">C.2.127 Chapter 12 Generated content, automatic numbering, and lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.127.#q134"> + <tbody id="sC.2.127.#q21.134"> <!-- 0 tests --> </tbody> <tbody id="sC.2.128"> @@ -1245,7 +1248,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA">C.2.128 Appendix A. Aural style sheets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.128.#q135"> + <tbody id="sC.2.128.#q21.135"> <!-- 0 tests --> </tbody> <tbody id="sC.2.129"> @@ -1254,7 +1257,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA.5">C.2.129 Appendix A Section 5 Pause properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.129.#q136"> + <tbody id="sC.2.129.#q21.136"> <!-- 0 tests --> </tbody> <tbody id="sC.2.130"> @@ -1263,7 +1266,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA.6">C.2.130 Appendix A Section 6 Cue properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.130.#q137"> + <tbody id="sC.2.130.#q21.137"> <!-- 0 tests --> </tbody> <tbody id="sC.2.131"> @@ -1272,7 +1275,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA.7">C.2.131 Appendix A Section 7 Mixing properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.131.#q138"> + <tbody id="sC.2.131.#q21.138"> <!-- 0 tests --> </tbody> <tbody id="sC.2.132"> @@ -1281,7 +1284,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cB">C.2.132 Appendix B Bibliography</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.132.#q139"> + <tbody id="sC.2.132.#q21.139"> <!-- 0 tests --> </tbody> <tbody id="sC.2.133"> @@ -1290,7 +1293,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#other">C.2.133 Other</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.133.#q140"> + <tbody id="sC.2.133.#q21.140"> <!-- 0 tests --> </tbody> <tbody id="sC.3"> @@ -1305,19 +1308,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x-shorthand-inherit">C.3.1 Shorthand properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.1.#q142"> - <!-- 1 tests --> - <tr id="font-045-C.3.1.#q142" class="ahem invalid"> - <td> - <a href="font-045.xht">font-045</a></td> - <td></td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>font - inherit keyword value - <ul class="assert"> - <li>The inherit keyword value cannot mix with other subproperty values</li> - </ul> - </td> - </tr> + <tbody id="sC.3.1.#q21.142"> + <!-- 0 tests --> </tbody> <tbody id="sC.3.2"> <tr><th colspan="4" scope="rowgroup"> @@ -1325,7 +1317,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x-applies-table">C.3.2 Applies to</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.2.#q143"> + <tbody id="sC.3.2.#q21.143"> <!-- 0 tests --> </tbody> <tbody id="sC.3.3"> @@ -1334,7 +1326,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.1.1">C.3.3 Section 4.1.1 (and G2)</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.3.#q144"> + <tbody id="sC.3.3.#q21.144"> <!-- 0 tests --> </tbody> <tbody id="sC.3.4"> @@ -1343,7 +1335,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.1.3">C.3.4 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.4.#q145"> + <tbody id="sC.3.4.#q21.145"> <!-- 0 tests --> </tbody> <tbody id="sC.3.5"> @@ -1352,7 +1344,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3">C.3.5 Section 4.3 (Double sign problem)</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.5.#q146"> + <tbody id="sC.3.5.#q21.146"> <!-- 0 tests --> </tbody> <tbody id="sC.3.6"> @@ -1361,7 +1353,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.2">C.3.6 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.6.#q147"> + <tbody id="sC.3.6.#q21.147"> <!-- 0 tests --> </tbody> <tbody id="sC.3.7"> @@ -1370,7 +1362,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.3">C.3.7 Section 4.3.3 Percentages</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.7.#q148"> + <tbody id="sC.3.7.#q21.148"> <!-- 0 tests --> </tbody> <tbody id="sC.3.8"> @@ -1379,7 +1371,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.4">C.3.8 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.8.#q149"> + <tbody id="sC.3.8.#q21.149"> <!-- 0 tests --> </tbody> <tbody id="sC.3.9"> @@ -1388,7 +1380,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.5">C.3.9 Section 4.3.5 Counters</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.9.#q150"> + <tbody id="sC.3.9.#q21.150"> <!-- 0 tests --> </tbody> <tbody id="sC.3.10"> @@ -1397,7 +1389,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.6">C.3.10 Section 4.3.6 Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.10.#q151"> + <tbody id="sC.3.10.#q21.151"> <!-- 0 tests --> </tbody> <tbody id="sC.3.11"> @@ -1406,7 +1398,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.7">C.3.11 Section 4.3.7 Strings</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.11.#q152"> + <tbody id="sC.3.11.#q21.152"> <!-- 0 tests --> </tbody> <tbody id="sC.3.12"> @@ -1415,7 +1407,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x5.10">C.3.12 Section 5.10 Pseudo-elements and pseudo-classes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.12.#q153"> + <tbody id="sC.3.12.#q21.153"> <!-- 0 tests --> </tbody> <tbody id="sC.3.13"> @@ -1424,7 +1416,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x6.4">C.3.13 Section 6.4 The cascade</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.13.#q154"> + <tbody id="sC.3.13.#q21.154"> <!-- 0 tests --> </tbody> <tbody id="sC.3.14"> @@ -1433,7 +1425,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x8.1">C.3.14 Section 8.1 Box Dimensions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.14.#q155"> + <tbody id="sC.3.14.#q21.155"> <!-- 0 tests --> </tbody> <tbody id="sC.3.15"> @@ -1442,7 +1434,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x8.2">C.3.15 Section 8.2 Example of margins, padding, and borders</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.15.#q156"> + <tbody id="sC.3.15.#q21.156"> <!-- 0 tests --> </tbody> <tbody id="sC.3.16"> @@ -1451,7 +1443,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x8.5.4">C.3.16 Section 8.5.4 Border shorthand properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.16.#q157"> + <tbody id="sC.3.16.#q21.157"> <!-- 0 tests --> </tbody> <tbody id="sC.3.17"> @@ -1460,7 +1452,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.2.1">C.3.17 Section 9.2.1 Block-level elements and block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.17.#q158"> + <tbody id="sC.3.17.#q21.158"> <!-- 0 tests --> </tbody> <tbody id="sC.3.18"> @@ -1469,7 +1461,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.3.1">C.3.18 Section 9.3.1 Choosing a positioning scheme</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.18.#q159"> + <tbody id="sC.3.18.#q21.159"> <!-- 0 tests --> </tbody> <tbody id="sC.3.19"> @@ -1478,7 +1470,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.3.2">C.3.19 Section 9.3.2 Box offsets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.19.#q160"> + <tbody id="sC.3.19.#q21.160"> <!-- 0 tests --> </tbody> <tbody id="sC.3.20"> @@ -1487,7 +1479,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.4.1">C.3.20 Section 9.4.1 Block formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.20.#q161"> + <tbody id="sC.3.20.#q21.161"> <!-- 0 tests --> </tbody> <tbody id="sC.3.21"> @@ -1496,7 +1488,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.4.2">C.3.21 Section 9.4.2 Inline formatting context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.21.#q162"> + <tbody id="sC.3.21.#q21.162"> <!-- 0 tests --> </tbody> <tbody id="sC.3.22"> @@ -1505,7 +1497,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.4.3">C.3.22 Section 9.4.3 Relative positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.22.#q163"> + <tbody id="sC.3.22.#q21.163"> <!-- 0 tests --> </tbody> <tbody id="sC.3.23"> @@ -1514,7 +1506,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.5">C.3.23 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.23.#q164"> + <tbody id="sC.3.23.#q21.164"> <!-- 0 tests --> </tbody> <tbody id="sC.3.24"> @@ -1523,7 +1515,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.5.1">C.3.24 Section 9.5.1 Positioning the float</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.24.#q165"> + <tbody id="sC.3.24.#q21.165"> <!-- 0 tests --> </tbody> <tbody id="sC.3.25"> @@ -1532,7 +1524,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.5.2">C.3.25 Section 9.5.2 Controlling flow next to floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.25.#q166"> + <tbody id="sC.3.25.#q21.166"> <!-- 0 tests --> </tbody> <tbody id="sC.3.26"> @@ -1541,7 +1533,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.6">C.3.26 Section 9.6 Absolute positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.26.#q167"> + <tbody id="sC.3.26.#q21.167"> <!-- 0 tests --> </tbody> <tbody id="sC.3.27"> @@ -1550,7 +1542,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.7">C.3.27 Section 9.7 Relationships between 'display', 'position', and 'float'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.27.#q168"> + <tbody id="sC.3.27.#q21.168"> <!-- 0 tests --> </tbody> <tbody id="sC.3.28"> @@ -1559,7 +1551,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.10">C.3.28 Section 9.10 Text direction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.28.#q169"> + <tbody id="sC.3.28.#q21.169"> <!-- 0 tests --> </tbody> <tbody id="sC.3.29"> @@ -1568,7 +1560,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.1">C.3.29 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.29.#q170"> + <tbody id="sC.3.29.#q21.170"> <!-- 0 tests --> </tbody> <tbody id="sC.3.30"> @@ -1577,7 +1569,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.3.3">C.3.30 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.30.#q171"> + <tbody id="sC.3.30.#q21.171"> <!-- 0 tests --> </tbody> <tbody id="sC.3.31"> @@ -1586,7 +1578,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.4">C.3.31 Section 10.4 Minimum and maximum widths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.31.#q172"> + <tbody id="sC.3.31.#q21.172"> <!-- 0 tests --> </tbody> <tbody id="sC.3.32"> @@ -1595,7 +1587,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.6.3">C.3.32 Section 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.32.#q173"> + <tbody id="sC.3.32.#q21.173"> <!-- 0 tests --> </tbody> <tbody id="sC.3.33"> @@ -1604,7 +1596,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.7">C.3.33 Section 10.7 Minimum and maximum heights</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.33.#q174"> + <tbody id="sC.3.33.#q21.174"> <!-- 0 tests --> </tbody> <tbody id="sC.3.34"> @@ -1613,7 +1605,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x11.1.1">C.3.34 Section 11.1.1 Overflow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.34.#q175"> + <tbody id="sC.3.34.#q21.175"> <!-- 0 tests --> </tbody> <tbody id="sC.3.35"> @@ -1622,7 +1614,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x11.1.2">C.3.35 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.35.#q176"> + <tbody id="sC.3.35.#q21.176"> <!-- 0 tests --> </tbody> <tbody id="sC.3.36"> @@ -1631,7 +1623,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x11.2">C.3.36 Section 11.2 Visibility</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.36.#q177"> + <tbody id="sC.3.36.#q21.177"> <!-- 0 tests --> </tbody> <tbody id="sC.3.37"> @@ -1640,7 +1632,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x12.4.2">C.3.37 Section 12.4.2 Counter styles</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.37.#q178"> + <tbody id="sC.3.37.#q21.178"> <!-- 0 tests --> </tbody> <tbody id="sC.3.38"> @@ -1649,7 +1641,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x12.6.2">C.3.38 Section 12.6.2 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.38.#q179"> + <tbody id="sC.3.38.#q21.179"> <!-- 0 tests --> </tbody> <tbody id="sC.3.39"> @@ -1658,7 +1650,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x14.2">C.3.39 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.39.#q180"> + <tbody id="sC.3.39.#q21.180"> <!-- 0 tests --> </tbody> <tbody id="sC.3.40"> @@ -1667,7 +1659,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x14.2.1">C.3.40 Section 14.2.1 Background properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.40.#q181"> + <tbody id="sC.3.40.#q21.181"> <!-- 0 tests --> </tbody> <tbody id="sC.3.41"> @@ -1676,7 +1668,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x15.2">C.3.41 Section 15.2 Font matching algorithm</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.41.#q182"> + <tbody id="sC.3.41.#q21.182"> <!-- 0 tests --> </tbody> <tbody id="sC.3.42"> @@ -1685,7 +1677,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x15.7">C.3.42 Section 15.7 Font size</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.42.#q183"> + <tbody id="sC.3.42.#q21.183"> <!-- 0 tests --> </tbody> <tbody id="sC.3.43"> @@ -1694,7 +1686,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x16.1">C.3.43 Section 16.1 Indentation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.43.#q184"> + <tbody id="sC.3.43.#q21.184"> <!-- 0 tests --> </tbody> <tbody id="sC.3.44"> @@ -1703,7 +1695,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x16.2">C.3.44 Section 16.2 Alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.44.#q185"> + <tbody id="sC.3.44.#q21.185"> <!-- 0 tests --> </tbody> <tbody id="sC.3.45"> @@ -1712,7 +1704,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.2">C.3.45 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.45.#q186"> + <tbody id="sC.3.45.#q21.186"> <!-- 0 tests --> </tbody> <tbody id="sC.3.46"> @@ -1721,7 +1713,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.2.1">C.3.46 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.46.#q187"> + <tbody id="sC.3.46.#q21.187"> <!-- 0 tests --> </tbody> <tbody id="sC.3.47"> @@ -1730,7 +1722,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.4">C.3.47 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.47.#q188"> + <tbody id="sC.3.47.#q21.188"> <!-- 0 tests --> </tbody> <tbody id="sC.3.48"> @@ -1739,7 +1731,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.5">C.3.48 Section 17.5 Visual layout of table contents</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.48.#q189"> + <tbody id="sC.3.48.#q21.189"> <!-- 0 tests --> </tbody> <tbody id="sC.3.49"> @@ -1748,7 +1740,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.5.1">C.3.49 Section 17.5.1 Table layers and transparency</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.49.#q190"> + <tbody id="sC.3.49.#q21.190"> <!-- 0 tests --> </tbody> <tbody id="sC.3.50"> @@ -1757,7 +1749,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.6.1">C.3.50 Section 17.6.1 The separated borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.50.#q191"> + <tbody id="sC.3.50.#q21.191"> <!-- 0 tests --> </tbody> <tbody id="sC.3.51"> @@ -1766,7 +1758,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x18.2">C.3.51 Section 18.2 System Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.51.#q192"> + <tbody id="sC.3.51.#q21.192"> <!-- 0 tests --> </tbody> <tbody id="sC.3.52"> @@ -1775,7 +1767,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#xE.2">C.3.52 Section E.2 Painting order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.52.#q193"> + <tbody id="sC.3.52.#q21.193"> <!-- 0 tests --> </tbody> <tbody id="sC.4"> @@ -1790,7 +1782,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r2.1">C.4.1 Section 2.1 A brief CSS 2.1 tutorial for HTML</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.1.#q195"> + <tbody id="sC.4.1.#q21.195"> <!-- 0 tests --> </tbody> <tbody id="sC.4.2"> @@ -1799,7 +1791,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r2.2">C.4.2 Section 2.2 A brief CSS 2.1 tutorial for XML</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.2.#q196"> + <tbody id="sC.4.2.#q21.196"> <!-- 0 tests --> </tbody> <tbody id="sC.4.3"> @@ -1808,7 +1800,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r2.3">C.4.3 Section 2.3 The CSS 2.1 processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.3.#q197"> + <tbody id="sC.4.3.#q21.197"> <!-- 0 tests --> </tbody> <tbody id="sC.4.4"> @@ -1817,7 +1809,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r3.1">C.4.4 Section 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.4.#q198"> + <tbody id="sC.4.4.#q21.198"> <!-- 0 tests --> </tbody> <tbody id="sC.4.5"> @@ -1826,7 +1818,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1">C.4.5 Section 4.1 Syntax</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.5.#q199"> + <tbody id="sC.4.5.#q21.199"> <!-- 0 tests --> </tbody> <tbody id="sC.4.6"> @@ -1835,7 +1827,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1.1">C.4.6 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.6.#q200"> + <tbody id="sC.4.6.#q21.200"> <!-- 0 tests --> </tbody> <tbody id="sC.4.7"> @@ -1844,7 +1836,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1.3">C.4.7 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.7.#q201"> + <tbody id="sC.4.7.#q21.201"> <!-- 0 tests --> </tbody> <tbody id="sC.4.8"> @@ -1853,7 +1845,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1.7">C.4.8 Section 4.1.7 Rule sets, declaration blocks, and selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.8.#q202"> + <tbody id="sC.4.8.#q21.202"> <!-- 0 tests --> </tbody> <tbody id="sC.4.9"> @@ -1862,7 +1854,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.2">C.4.9 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.9.#q203"> + <tbody id="sC.4.9.#q21.203"> <!-- 0 tests --> </tbody> <tbody id="sC.4.10"> @@ -1871,7 +1863,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.3.1">C.4.10 Section 4.3.1 Integers and real numbers</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.10.#q204"> + <tbody id="sC.4.10.#q21.204"> <!-- 0 tests --> </tbody> <tbody id="sC.4.11"> @@ -1880,7 +1872,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.3.2">C.4.11 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.11.#q205"> + <tbody id="sC.4.11.#q21.205"> <!-- 0 tests --> </tbody> <tbody id="sC.4.12"> @@ -1889,7 +1881,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.3.4">C.4.12 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.12.#q206"> + <tbody id="sC.4.12.#q21.206"> <!-- 0 tests --> </tbody> <tbody id="sC.4.13"> @@ -1898,7 +1890,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.1">C.4.13 Section 5.1 Pattern matching</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.13.#q207"> + <tbody id="sC.4.13.#q21.207"> <!-- 0 tests --> </tbody> <tbody id="sC.4.14"> @@ -1907,7 +1899,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.7">C.4.14 Section 5.7 Adjacent sibling selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.14.#q208"> + <tbody id="sC.4.14.#q21.208"> <!-- 0 tests --> </tbody> <tbody id="sC.4.15"> @@ -1916,7 +1908,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.8.1">C.4.15 Section 5.8.1 Matching attributes and attribute values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.15.#q209"> + <tbody id="sC.4.15.#q21.209"> <!-- 0 tests --> </tbody> <tbody id="sC.4.16"> @@ -1925,7 +1917,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.8.2">C.4.16 Section 5.8.2 Default attribute values in DTDs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.16.#q210"> + <tbody id="sC.4.16.#q21.210"> <!-- 0 tests --> </tbody> <tbody id="sC.4.17"> @@ -1934,7 +1926,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.9">C.4.17 Section 5.9 ID selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.17.#q211"> + <tbody id="sC.4.17.#q21.211"> <!-- 0 tests --> </tbody> <tbody id="sC.4.18"> @@ -1943,7 +1935,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.11.3">C.4.18 Section 5.11.3 The dynamic pseudo-classes: :hover, :active, and :focus</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.18.#q212"> + <tbody id="sC.4.18.#q21.212"> <!-- 0 tests --> </tbody> <tbody id="sC.4.19"> @@ -1952,7 +1944,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.11.4">C.4.19 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.19.#q213"> + <tbody id="sC.4.19.#q21.213"> <!-- 0 tests --> </tbody> <tbody id="sC.4.20"> @@ -1961,7 +1953,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.12.2">C.4.20 Section 5.12.2 The :first-letter pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.20.#q214"> + <tbody id="sC.4.20.#q21.214"> <!-- 0 tests --> </tbody> <tbody id="sC.4.21"> @@ -1970,7 +1962,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.2">C.4.21 Section 6.2 Inheritance</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.21.#q215"> + <tbody id="sC.4.21.#q21.215"> <!-- 0 tests --> </tbody> <tbody id="sC.4.22"> @@ -1979,7 +1971,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.2.1">C.4.22 Section 6.2.1 The 'inherit' value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.22.#q216"> + <tbody id="sC.4.22.#q21.216"> <!-- 0 tests --> </tbody> <tbody id="sC.4.23"> @@ -1988,7 +1980,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.3">C.4.23 Section 6.3 The @import rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.23.#q217"> + <tbody id="sC.4.23.#q21.217"> <!-- 0 tests --> </tbody> <tbody id="sC.4.24"> @@ -1997,7 +1989,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.4">C.4.24 Section 6.4 The Cascade</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.24.#q218"> + <tbody id="sC.4.24.#q21.218"> <!-- 0 tests --> </tbody> <tbody id="sC.4.25"> @@ -2006,7 +1998,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.4.1">C.4.25 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.25.#q219"> + <tbody id="sC.4.25.#q21.219"> <!-- 0 tests --> </tbody> <tbody id="sC.4.26"> @@ -2015,7 +2007,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.4.3">C.4.26 Section 6.4.3 Calculating a selector's specificity</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.26.#q220"> + <tbody id="sC.4.26.#q21.220"> <!-- 0 tests --> </tbody> <tbody id="sC.4.27"> @@ -2024,7 +2016,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r7.2.1">C.4.27 Section 7.2.1 The @media rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.27.#q221"> + <tbody id="sC.4.27.#q21.221"> <!-- 0 tests --> </tbody> <tbody id="sC.4.28"> @@ -2033,7 +2025,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r7.3">C.4.28 Section 7.3 Recognized media types</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.28.#q222"> + <tbody id="sC.4.28.#q21.222"> <!-- 0 tests --> </tbody> <tbody id="sC.4.29"> @@ -2042,7 +2034,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r7.3.1">C.4.29 Section 7.3.1 Media groups</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.29.#q223"> + <tbody id="sC.4.29.#q21.223"> <!-- 0 tests --> </tbody> <tbody id="sC.4.30"> @@ -2051,7 +2043,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.1">C.4.30 Section 8.1 Box dimensions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.30.#q224"> + <tbody id="sC.4.30.#q21.224"> <!-- 0 tests --> </tbody> <tbody id="sC.4.31"> @@ -2060,7 +2052,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.3">C.4.31 Section 8.3 Margin properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.31.#q225"> + <tbody id="sC.4.31.#q21.225"> <!-- 0 tests --> </tbody> <tbody id="sC.4.32"> @@ -2069,7 +2061,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.3.1">C.4.32 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.32.#q226"> + <tbody id="sC.4.32.#q21.226"> <!-- 0 tests --> </tbody> <tbody id="sC.4.33"> @@ -2078,7 +2070,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.5.3">C.4.33 Section 8.5.3 Border style</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.33.#q227"> + <tbody id="sC.4.33.#q21.227"> <!-- 0 tests --> </tbody> <tbody id="sC.4.34"> @@ -2087,7 +2079,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.1.1">C.4.34 Section 9.1.1 The viewport</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.34.#q228"> + <tbody id="sC.4.34.#q21.228"> <!-- 0 tests --> </tbody> <tbody id="sC.4.35"> @@ -2096,7 +2088,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.2.4">C.4.35 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.35.#q229"> + <tbody id="sC.4.35.#q21.229"> <!-- 0 tests --> </tbody> <tbody id="sC.4.36"> @@ -2105,7 +2097,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.3.1">C.4.36 Section 9.3.1 Choosing a positioning scheme</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.36.#q230"> + <tbody id="sC.4.36.#q21.230"> <!-- 0 tests --> </tbody> <tbody id="sC.4.37"> @@ -2114,7 +2106,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.3.2">C.4.37 Section 9.3.2 Box offsets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.37.#q231"> + <tbody id="sC.4.37.#q21.231"> <!-- 0 tests --> </tbody> <tbody id="sC.4.38"> @@ -2123,7 +2115,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.4.2">C.4.38 Section 9.4.2 Inline formatting context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.38.#q232"> + <tbody id="sC.4.38.#q21.232"> <!-- 0 tests --> </tbody> <tbody id="sC.4.39"> @@ -2132,7 +2124,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.4.3">C.4.39 Section 9.4.3 Relative positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.39.#q233"> + <tbody id="sC.4.39.#q21.233"> <!-- 0 tests --> </tbody> <tbody id="sC.4.40"> @@ -2141,7 +2133,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.5">C.4.40 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.40.#q234"> + <tbody id="sC.4.40.#q21.234"> <!-- 0 tests --> </tbody> <tbody id="sC.4.41"> @@ -2150,7 +2142,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.5.1">C.4.41 Section 9.5.1 Positioning the float</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.41.#q235"> + <tbody id="sC.4.41.#q21.235"> <!-- 0 tests --> </tbody> <tbody id="sC.4.42"> @@ -2159,7 +2151,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.5.2">C.4.42 Section 9.5.2 Controlling flow next to floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.42.#q236"> + <tbody id="sC.4.42.#q21.236"> <!-- 0 tests --> </tbody> <tbody id="sC.4.43"> @@ -2168,7 +2160,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.8">C.4.43 Section 9.8 Comparison of normal flow, floats, and absolute positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.43.#q237"> + <tbody id="sC.4.43.#q21.237"> <!-- 0 tests --> </tbody> <tbody id="sC.4.44"> @@ -2177,7 +2169,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.1">C.4.44 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.44.#q238"> + <tbody id="sC.4.44.#q21.238"> <!-- 0 tests --> </tbody> <tbody id="sC.4.45"> @@ -2186,7 +2178,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.2">C.4.45 Section 10.2 Content width</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.45.#q239"> + <tbody id="sC.4.45.#q21.239"> <!-- 0 tests --> </tbody> <tbody id="sC.4.46"> @@ -2195,7 +2187,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.3.3">C.4.46 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.46.#q240"> + <tbody id="sC.4.46.#q21.240"> <!-- 0 tests --> </tbody> <tbody id="sC.4.47"> @@ -2204,7 +2196,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.3.8">C.4.47 Section 10.3.8 Absolutely positioning, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.47.#q241"> + <tbody id="sC.4.47.#q21.241"> <!-- 0 tests --> </tbody> <tbody id="sC.4.48"> @@ -2213,7 +2205,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.4">C.4.48 Section 10.4 Minimum and maximum widths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.48.#q242"> + <tbody id="sC.4.48.#q21.242"> <!-- 0 tests --> </tbody> <tbody id="sC.4.49"> @@ -2222,7 +2214,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.6.1">C.4.49 Section 10.6 Calculating heights and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.49.#q243"> + <tbody id="sC.4.49.#q21.243"> <!-- 0 tests --> </tbody> <tbody id="sC.4.50"> @@ -2231,7 +2223,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.7">C.4.50 Section 10.7 Minimum and maximum heights</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.50.#q244"> + <tbody id="sC.4.50.#q21.244"> <!-- 0 tests --> </tbody> <tbody id="sC.4.51"> @@ -2240,7 +2232,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.8">C.4.51 Section 10.8 Line height calculations</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.51.#q245"> + <tbody id="sC.4.51.#q21.245"> <!-- 0 tests --> </tbody> <tbody id="sC.4.52"> @@ -2249,7 +2241,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.8.1">C.4.52 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.52.#q246"> + <tbody id="sC.4.52.#q21.246"> <!-- 0 tests --> </tbody> <tbody id="sC.4.53"> @@ -2258,7 +2250,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.1">C.4.53 Section 11.1 Overflow and clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.53.#q247"> + <tbody id="sC.4.53.#q21.247"> <!-- 0 tests --> </tbody> <tbody id="sC.4.54"> @@ -2267,7 +2259,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.1.1">C.4.54 Section 11.1.1 Overflow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.54.#q248"> + <tbody id="sC.4.54.#q21.248"> <!-- 0 tests --> </tbody> <tbody id="sC.4.55"> @@ -2276,7 +2268,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.1.2">C.4.55 Section 11.1.2 Clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.55.#q249"> + <tbody id="sC.4.55.#q21.249"> <!-- 0 tests --> </tbody> <tbody id="sC.4.56"> @@ -2285,19 +2277,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.2">C.4.56 Section 11.2 Visibility</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.56.#q250"> - <!-- 1 tests --> - <tr id="visibility-005-C.4.56.#q250" class="ahem"> - <td> - <a href="visibility-005.xht">visibility-005</a></td> - <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td> - <td>visibility - descendants of a 'visibility: hidden' element - <ul class="assert"> - <li>Descendants of a 'visibility: hidden' element will be visible if they have 'visibility: visible'</li> - </ul> - </td> - </tr> + <tbody id="sC.4.56.#q21.250"> + <!-- 0 tests --> </tbody> <tbody id="sC.4.57"> <tr><th colspan="4" scope="rowgroup"> @@ -2305,7 +2286,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.1">C.4.57 Section 12.1 The :before and :after pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.57.#q251"> + <tbody id="sC.4.57.#q21.251"> <!-- 0 tests --> </tbody> <tbody id="sC.4.58"> @@ -2314,7 +2295,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.2">C.4.58 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.58.#q252"> + <tbody id="sC.4.58.#q21.252"> <!-- 0 tests --> </tbody> <tbody id="sC.4.59"> @@ -2323,7 +2304,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.3.2">C.4.59 Section 12.3.2 Inserting quotes with the 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.59.#q253"> + <tbody id="sC.4.59.#q21.253"> <!-- 0 tests --> </tbody> <tbody id="sC.4.60"> @@ -2332,7 +2313,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.4">C.4.60 Section 12.4 Automatic counters and numbering</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.60.#q254"> + <tbody id="sC.4.60.#q21.254"> <!-- 0 tests --> </tbody> <tbody id="sC.4.61"> @@ -2341,7 +2322,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.4.3">C.4.61 Section 12.4.3 Counters in elements with 'display: none'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.61.#q255"> + <tbody id="sC.4.61.#q21.255"> <!-- 0 tests --> </tbody> <tbody id="sC.4.62"> @@ -2350,7 +2331,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r14.2">C.4.62 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.62.#q256"> + <tbody id="sC.4.62.#q21.256"> <!-- 0 tests --> </tbody> <tbody id="sC.4.63"> @@ -2359,7 +2340,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.1">C.4.63 Section 15.1 Fonts Introduction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.63.#q257"> + <tbody id="sC.4.63.#q21.257"> <!-- 0 tests --> </tbody> <tbody id="sC.4.64"> @@ -2368,7 +2349,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.2">C.4.64 Section 15.2 Font matching algorithm</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.64.#q258"> + <tbody id="sC.4.64.#q21.258"> <!-- 0 tests --> </tbody> <tbody id="sC.4.65"> @@ -2377,7 +2358,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.3">C.4.65 Section 15.2.2 Font family</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.65.#q259"> + <tbody id="sC.4.65.#q21.259"> <!-- 0 tests --> </tbody> <tbody id="sC.4.66"> @@ -2386,7 +2367,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.3.1">C.4.66 Section 15.3.1 Generic font families</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.66.#q260"> + <tbody id="sC.4.66.#q21.260"> <!-- 0 tests --> </tbody> <tbody id="sC.4.67"> @@ -2395,7 +2376,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.4">C.4.67 Section 15.4 Font styling</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.67.#q261"> + <tbody id="sC.4.67.#q21.261"> <!-- 0 tests --> </tbody> <tbody id="sC.4.68"> @@ -2404,7 +2385,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.5">C.4.68 Section 15.5 Small-caps</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.68.#q262"> + <tbody id="sC.4.68.#q21.262"> <!-- 0 tests --> </tbody> <tbody id="sC.4.69"> @@ -2413,7 +2394,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.6">C.4.69 Section 15.6 Font boldness</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.69.#q263"> + <tbody id="sC.4.69.#q21.263"> <!-- 0 tests --> </tbody> <tbody id="sC.4.70"> @@ -2422,7 +2403,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.7">C.4.70 Section 15.7 Font size</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.70.#q264"> + <tbody id="sC.4.70.#q21.264"> <!-- 0 tests --> </tbody> <tbody id="sC.4.71"> @@ -2431,7 +2412,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.1">C.4.71 Section 16.1 Indentation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.71.#q265"> + <tbody id="sC.4.71.#q21.265"> <!-- 0 tests --> </tbody> <tbody id="sC.4.72"> @@ -2440,7 +2421,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.2">C.4.72 Section 16.2 Alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.72.#q266"> + <tbody id="sC.4.72.#q21.266"> <!-- 0 tests --> </tbody> <tbody id="sC.4.73"> @@ -2449,7 +2430,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.3.1">C.4.73 Section 16.3.1 Underlining, over lining, striking, and blinking</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.73.#q267"> + <tbody id="sC.4.73.#q21.267"> <!-- 0 tests --> </tbody> <tbody id="sC.4.74"> @@ -2458,7 +2439,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.5">C.4.74 Section 16.5 Capitalization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.74.#q268"> + <tbody id="sC.4.74.#q21.268"> <!-- 0 tests --> </tbody> <tbody id="sC.4.75"> @@ -2467,7 +2448,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.6">C.4.75 Section 16.6 White space</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.75.#q269"> + <tbody id="sC.4.75.#q21.269"> <!-- 0 tests --> </tbody> <tbody id="sC.4.76"> @@ -2476,7 +2457,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.1">C.4.76 Section 17.1 Introduction to tables</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.76.#q270"> + <tbody id="sC.4.76.#q21.270"> <!-- 0 tests --> </tbody> <tbody id="sC.4.77"> @@ -2485,7 +2466,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.2">C.4.77 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.77.#q271"> + <tbody id="sC.4.77.#q21.271"> <!-- 0 tests --> </tbody> <tbody id="sC.4.78"> @@ -2494,7 +2475,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.2.1">C.4.78 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.78.#q272"> + <tbody id="sC.4.78.#q21.272"> <!-- 0 tests --> </tbody> <tbody id="sC.4.79"> @@ -2503,7 +2484,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.4">C.4.79 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.79.#q273"> + <tbody id="sC.4.79.#q21.273"> <!-- 0 tests --> </tbody> <tbody id="sC.4.80"> @@ -2512,7 +2493,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5">C.4.80 Section 17.5 Visual layout of table contents</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.80.#q274"> + <tbody id="sC.4.80.#q21.274"> <!-- 0 tests --> </tbody> <tbody id="sC.4.81"> @@ -2521,7 +2502,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.1">C.4.81 Section 17.5.1 Table layers and transparency</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.81.#q275"> + <tbody id="sC.4.81.#q21.275"> <!-- 0 tests --> </tbody> <tbody id="sC.4.82"> @@ -2530,7 +2511,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.2">C.4.82 Section 17.5.2 Table width algorithms</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.82.#q276"> + <tbody id="sC.4.82.#q21.276"> <!-- 0 tests --> </tbody> <tbody id="sC.4.83"> @@ -2539,7 +2520,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.2.1">C.4.83 Section 17.5.2.1 Fixed table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.83.#q277"> + <tbody id="sC.4.83.#q21.277"> <!-- 0 tests --> </tbody> <tbody id="sC.4.84"> @@ -2548,7 +2529,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.2.2">C.4.84 Section 17.5.2.2 Automatic table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.84.#q278"> + <tbody id="sC.4.84.#q21.278"> <!-- 0 tests --> </tbody> <tbody id="sC.4.85"> @@ -2557,7 +2538,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.4">C.4.85 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.85.#q279"> + <tbody id="sC.4.85.#q21.279"> <!-- 0 tests --> </tbody> <tbody id="sC.4.86"> @@ -2566,7 +2547,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.5">C.4.86 Section 17.5.5 Dynamic row and column effects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.86.#q280"> + <tbody id="sC.4.86.#q21.280"> <!-- 0 tests --> </tbody> <tbody id="sC.4.87"> @@ -2575,7 +2556,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.6.1">C.4.87 Section 17.6.1 The separated borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.87.#q281"> + <tbody id="sC.4.87.#q21.281"> <!-- 0 tests --> </tbody> <tbody id="sC.4.88"> @@ -2584,7 +2565,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.6.2">C.4.88 Section 17.6.2 The collapsing borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.88.#q282"> + <tbody id="sC.4.88.#q21.282"> <!-- 0 tests --> </tbody> <tbody id="sC.4.89"> @@ -2593,7 +2574,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r18.2">C.4.89 Section 18.2 System Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.89.#q283"> + <tbody id="sC.4.89.#q21.283"> <!-- 0 tests --> </tbody> <tbody id="sC.4.90"> @@ -2602,7 +2583,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r18.4">C.4.90 Section 18.4 Dynamic outlines</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.90.#q284"> + <tbody id="sC.4.90.#q21.284"> <!-- 0 tests --> </tbody> <tbody id="sC.4.91"> @@ -2611,7 +2592,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r18.4.1">C.4.91 Section 18.4.1 Outlines and the focus</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.91.#q285"> + <tbody id="sC.4.91.#q21.285"> <!-- 0 tests --> </tbody> <tbody id="sC.4.92"> @@ -2620,7 +2601,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#rD">C.4.92 Appendix D Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.92.#q286"> + <tbody id="sC.4.92.#q21.286"> <!-- 0 tests --> </tbody> <tbody id="sC.5"> @@ -2635,7 +2616,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.1.4.2.1">C.5.1 Section 1.4.2.1 Value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.1.#q288"> + <tbody id="sC.5.1.#q21.288"> <!-- 0 tests --> </tbody> <tbody id="sC.5.2"> @@ -2644,7 +2625,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.2.3">C.5.2 Section 2.3 The CSS 2.1 processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.2.#q289"> + <tbody id="sC.5.2.#q21.289"> <!-- 0 tests --> </tbody> <tbody id="sC.5.3"> @@ -2653,7 +2634,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.3.1">C.5.3 Section 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.3.#q290"> + <tbody id="sC.5.3.#q21.290"> <!-- 0 tests --> </tbody> <tbody id="sC.5.4"> @@ -2662,7 +2643,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.1">C.5.4 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.4.#q291"> + <tbody id="sC.5.4.#q21.291"> <!-- 0 tests --> </tbody> <tbody id="sC.5.5"> @@ -2671,7 +2652,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.2.2">C.5.5 Section 4.1.2.2 Informative Historical Notes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.5.#q292"> + <tbody id="sC.5.5.#q21.292"> <!-- 0 tests --> </tbody> <tbody id="sC.5.6"> @@ -2680,7 +2661,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3">C.5.6 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.6.#q293"> + <tbody id="sC.5.6.#q21.293"> <!-- 0 tests --> </tbody> <tbody id="sC.5.7"> @@ -2689,7 +2670,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3a">C.5.7 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.7.#q294"> + <tbody id="sC.5.7.#q21.294"> <!-- 0 tests --> </tbody> <tbody id="sC.5.8"> @@ -2698,7 +2679,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3b">C.5.8 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.8.#q295"> + <tbody id="sC.5.8.#q21.295"> <!-- 0 tests --> </tbody> <tbody id="sC.5.9"> @@ -2707,7 +2688,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3c">C.5.9 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.9.#q296"> + <tbody id="sC.5.9.#q21.296"> <!-- 0 tests --> </tbody> <tbody id="sC.5.10"> @@ -2716,7 +2697,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.5">C.5.10 Section 4.1.5 At-rules</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.10.#q297"> + <tbody id="sC.5.10.#q21.297"> <!-- 0 tests --> </tbody> <tbody id="sC.5.11"> @@ -2725,7 +2706,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.7">C.5.11 Section 4.1.7 Rule sets, declaration blocks, and selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.11.#q298"> + <tbody id="sC.5.11.#q21.298"> <!-- 0 tests --> </tbody> <tbody id="sC.5.12"> @@ -2734,7 +2715,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.2">C.5.12 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.12.#q299"> + <tbody id="sC.5.12.#q21.299"> <!-- 0 tests --> </tbody> <tbody id="sC.5.13"> @@ -2743,7 +2724,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.2a">C.5.13 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.13.#q300"> + <tbody id="sC.5.13.#q21.300"> <!-- 0 tests --> </tbody> <tbody id="sC.5.14"> @@ -2752,7 +2733,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.3.2">C.5.14 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.14.#q301"> + <tbody id="sC.5.14.#q21.301"> <!-- 0 tests --> </tbody> <tbody id="sC.5.15"> @@ -2761,7 +2742,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.3.5">C.5.15 Section 4.3.5 Counters</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.15.#q302"> + <tbody id="sC.5.15.#q21.302"> <!-- 0 tests --> </tbody> <tbody id="sC.5.16"> @@ -2770,7 +2751,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.8.1">C.5.16 Section 5.8.1 Matching attributes and attribute values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.16.#q303"> + <tbody id="sC.5.16.#q21.303"> <!-- 0 tests --> </tbody> <tbody id="sC.5.17"> @@ -2779,7 +2760,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.8.2">C.5.17 Section 5.8.2 Default attribute values in DTDs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.17.#q304"> + <tbody id="sC.5.17.#q21.304"> <!-- 0 tests --> </tbody> <tbody id="sC.5.18"> @@ -2788,7 +2769,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.11.4">C.5.18 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.18.#q305"> + <tbody id="sC.5.18.#q21.305"> <!-- 0 tests --> </tbody> <tbody id="sC.5.19"> @@ -2797,7 +2778,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.12.3">C.5.19 Section 5.12.3 The :before and :after pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.19.#q306"> + <tbody id="sC.5.19.#q21.306"> <!-- 0 tests --> </tbody> <tbody id="sC.5.20"> @@ -2806,7 +2787,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.3">C.5.20 Section 6.3 The @import rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.20.#q307"> + <tbody id="sC.5.20.#q21.307"> <!-- 0 tests --> </tbody> <tbody id="sC.5.21"> @@ -2815,7 +2796,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.3a">C.5.21 Section 6.3 The @import rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.21.#q308"> + <tbody id="sC.5.21.#q21.308"> <!-- 0 tests --> </tbody> <tbody id="sC.5.22"> @@ -2824,7 +2805,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.4.1">C.5.22 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.22.#q309"> + <tbody id="sC.5.22.#q21.309"> <!-- 0 tests --> </tbody> <tbody id="sC.5.23"> @@ -2833,7 +2814,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.4.1a">C.5.23 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.23.#q310"> + <tbody id="sC.5.23.#q21.310"> <!-- 0 tests --> </tbody> <tbody id="sC.5.24"> @@ -2842,7 +2823,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.7.2.1">C.5.24 Section 7.2.1 The @media rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.24.#q311"> + <tbody id="sC.5.24.#q21.311"> <!-- 0 tests --> </tbody> <tbody id="sC.5.25"> @@ -2851,7 +2832,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.8.3.1">C.5.25 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.25.#q312"> + <tbody id="sC.5.25.#q21.312"> <!-- 0 tests --> </tbody> <tbody id="sC.5.26"> @@ -2860,30 +2841,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.8.3.1a">C.5.26 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.26.#q313"> - <!-- 2 tests --> - <tr id="margin-collapse-037-C.5.26.#q313" class=""> - <td> - <a href="margin-collapse-037.xht">margin-collapse-037</a></td> - <td><a href="reference/margin-collapse-037-ref.xht">=</a> </td> - <td></td> - <td>Collapsing margins - margin-bottom of the last in-flow child block collapsing with its parent min-height block's bottom margin - <ul class="assert"> - <li>The 'min-height' of a parent block element should have no influence over whether such parent block element's bottom margin is adjoining to its last child's bottom margin. In such situation, the bottom margin of the parent block element and the bottom margin of its last child should collapse as long as such parent block element has no bottom padding and has no bottom border.</li> - </ul> - </td> - </tr> - <tr id="margin-collapse-038-C.5.26.#q313" class=""> - <td> - <a href="margin-collapse-038.xht">margin-collapse-038</a></td> - <td><a href="reference/margin-collapse-038-ref.xht">=</a> </td> - <td></td> - <td>Collapsing margins - margin-bottom of the last in-flow child block collapsing with its max-height parent block's bottom margin - <ul class="assert"> - <li>The 'max-height' of a parent block element should have no influence over whether such parent block element's bottom margin is adjoining to its last child's bottom margin. In such situation, the bottom margin of the parent block element and the bottom margin of its last child should collapse as long as such parent block element has no bottom padding and has no bottom border.</li> - </ul> - </td> - </tr> + <tbody id="sC.5.26.#q21.313"> + <!-- 0 tests --> </tbody> <tbody id="sC.5.27"> <tr><th colspan="4" scope="rowgroup"> @@ -2891,7 +2850,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.8.3.1b">C.5.27 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.27.#q314"> + <tbody id="sC.5.27.#q21.314"> <!-- 0 tests --> </tbody> <tbody id="sC.5.28"> @@ -2900,7 +2859,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.2.2">C.5.28 Section 9.2.2 Inline-level elements and inline boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.28.#q315"> + <tbody id="sC.5.28.#q21.315"> <!-- 0 tests --> </tbody> <tbody id="sC.5.29"> @@ -2909,7 +2868,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.2.4">C.5.29 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.29.#q316"> + <tbody id="sC.5.29.#q21.316"> <!-- 0 tests --> </tbody> <tbody id="sC.5.30"> @@ -2918,7 +2877,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.3.2">C.5.30 Section 9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.30.#q317"> + <tbody id="sC.5.30.#q21.317"> <!-- 0 tests --> </tbody> <tbody id="sC.5.31"> @@ -2927,7 +2886,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.5">C.5.31 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.31.#q318"> + <tbody id="sC.5.31.#q21.318"> <!-- 0 tests --> </tbody> <tbody id="sC.5.32"> @@ -2936,7 +2895,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.5a">C.5.32 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.32.#q319"> + <tbody id="sC.5.32.#q21.319"> <!-- 0 tests --> </tbody> <tbody id="sC.5.33"> @@ -2945,7 +2904,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.5.2">C.5.33 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.33.#q320"> + <tbody id="sC.5.33.#q21.320"> <!-- 0 tests --> </tbody> <tbody id="sC.5.34"> @@ -2954,7 +2913,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.6.1">C.5.34 Section 9.6.1 Fixed positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.34.#q321"> + <tbody id="sC.5.34.#q21.321"> <!-- 0 tests --> </tbody> <tbody id="sC.5.35"> @@ -2963,7 +2922,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.9.1">C.5.35 Section 9.9.1 Specifying the stack level: the 'z-index' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.35.#q322"> + <tbody id="sC.5.35.#q21.322"> <!-- 0 tests --> </tbody> <tbody id="sC.5.36"> @@ -2972,7 +2931,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.1">C.5.36 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.36.#q323"> + <tbody id="sC.5.36.#q21.323"> <!-- 0 tests --> </tbody> <tbody id="sC.5.37"> @@ -2981,7 +2940,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3">C.5.37 Section 10.3 Calculating widths and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.37.#q324"> + <tbody id="sC.5.37.#q21.324"> <!-- 0 tests --> </tbody> <tbody id="sC.5.38"> @@ -2990,7 +2949,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.1">C.5.38 Section 10.3.1 Inline, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.38.#q325"> + <tbody id="sC.5.38.#q21.325"> <!-- 0 tests --> </tbody> <tbody id="sC.5.39"> @@ -2999,7 +2958,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.2">C.5.39 Section 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.39.#q326"> + <tbody id="sC.5.39.#q21.326"> <!-- 0 tests --> </tbody> <tbody id="sC.5.40"> @@ -3008,7 +2967,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.2a">C.5.40 Section 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.40.#q327"> + <tbody id="sC.5.40.#q21.327"> <!-- 0 tests --> </tbody> <tbody id="sC.5.41"> @@ -3017,7 +2976,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.3">C.5.41 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.41.#q328"> + <tbody id="sC.5.41.#q21.328"> <!-- 0 tests --> </tbody> <tbody id="sC.5.42"> @@ -3026,7 +2985,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.7">C.5.42 Section 10.3.7 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.42.#q329"> + <tbody id="sC.5.42.#q21.329"> <!-- 0 tests --> </tbody> <tbody id="sC.5.43"> @@ -3035,7 +2994,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.7a">C.5.43 Section 10.3.7 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.43.#q330"> + <tbody id="sC.5.43.#q21.330"> <!-- 0 tests --> </tbody> <tbody id="sC.5.44"> @@ -3044,7 +3003,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.8">C.5.44 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.44.#q331"> + <tbody id="sC.5.44.#q21.331"> <!-- 0 tests --> </tbody> <tbody id="sC.5.45"> @@ -3053,7 +3012,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.8a">C.5.45 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.45.#q332"> + <tbody id="sC.5.45.#q21.332"> <!-- 0 tests --> </tbody> <tbody id="sC.5.46"> @@ -3062,7 +3021,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.8c">C.5.46 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.46.#q333"> + <tbody id="sC.5.46.#q21.333"> <!-- 0 tests --> </tbody> <tbody id="sC.5.47"> @@ -3071,7 +3030,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.5">C.5.47 Section 10.5 Content height: the 'height' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.47.#q334"> + <tbody id="sC.5.47.#q21.334"> <!-- 0 tests --> </tbody> <tbody id="sC.5.48"> @@ -3080,7 +3039,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.6.2">C.5.48 Section 10.6.2 Inline replaced elements […]</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.48.#q335"> + <tbody id="sC.5.48.#q21.335"> <!-- 0 tests --> </tbody> <tbody id="sC.5.49"> @@ -3089,7 +3048,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.6.4">C.5.49 Section 10.6.4 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.49.#q336"> + <tbody id="sC.5.49.#q21.336"> <!-- 0 tests --> </tbody> <tbody id="sC.5.50"> @@ -3098,7 +3057,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.6.5">C.5.50 Section 10.6.5 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.50.#q337"> + <tbody id="sC.5.50.#q21.337"> <!-- 0 tests --> </tbody> <tbody id="sC.5.51"> @@ -3107,7 +3066,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.8.1">C.5.51 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.51.#q338"> + <tbody id="sC.5.51.#q21.338"> <!-- 0 tests --> </tbody> <tbody id="sC.5.52"> @@ -3116,7 +3075,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.11.1.1">C.5.52 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.52.#q339"> + <tbody id="sC.5.52.#q21.339"> <!-- 0 tests --> </tbody> <tbody id="sC.5.53"> @@ -3125,7 +3084,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.11.1.2">C.5.53 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.53.#q340"> + <tbody id="sC.5.53.#q21.340"> <!-- 0 tests --> </tbody> <tbody id="sC.5.54"> @@ -3134,7 +3093,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.2">C.5.54 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.54.#q341"> + <tbody id="sC.5.54.#q21.341"> <!-- 0 tests --> </tbody> <tbody id="sC.5.55"> @@ -3143,7 +3102,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.4.2">C.5.55 Section 12.4.2 Counter styles</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.55.#q342"> + <tbody id="sC.5.55.#q21.342"> <!-- 0 tests --> </tbody> <tbody id="sC.5.56"> @@ -3152,7 +3111,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5">C.5.56 Section 12.5 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.56.#q343"> + <tbody id="sC.5.56.#q21.343"> <!-- 0 tests --> </tbody> <tbody id="sC.5.57"> @@ -3161,7 +3120,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5.1">C.5.57 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.57.#q344"> + <tbody id="sC.5.57.#q21.344"> <!-- 0 tests --> </tbody> <tbody id="sC.5.58"> @@ -3170,7 +3129,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5.1a">C.5.58 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.58.#q345"> + <tbody id="sC.5.58.#q21.345"> <!-- 0 tests --> </tbody> <tbody id="sC.5.59"> @@ -3179,7 +3138,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5.1b">C.5.59 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.59.#q346"> + <tbody id="sC.5.59.#q21.346"> <!-- 0 tests --> </tbody> <tbody id="sC.5.60"> @@ -3188,7 +3147,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.2">C.5.60 Section 13.2 Page boxes: the @page rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.60.#q347"> + <tbody id="sC.5.60.#q21.347"> <!-- 0 tests --> </tbody> <tbody id="sC.5.61"> @@ -3197,7 +3156,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.2.1.1">C.5.61 Section 13.2.1.1 Rendering page boxes that do not fit a target sheet</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.61.#q348"> + <tbody id="sC.5.61.#q21.348"> <!-- 0 tests --> </tbody> <tbody id="sC.5.62"> @@ -3206,7 +3165,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.2.3">C.5.62 Section 13.2.3 Content outside the page box</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.62.#q349"> + <tbody id="sC.5.62.#q21.349"> <!-- 0 tests --> </tbody> <tbody id="sC.5.63"> @@ -3215,7 +3174,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.1">C.5.63 Section 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.63.#q350"> + <tbody id="sC.5.63.#q21.350"> <!-- 0 tests --> </tbody> <tbody id="sC.5.64"> @@ -3224,7 +3183,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.1a">C.5.64 Section 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.64.#q351"> + <tbody id="sC.5.64.#q21.351"> <!-- 0 tests --> </tbody> <tbody id="sC.5.65"> @@ -3233,7 +3192,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.2">C.5.65 Section 13.3.2 Breaks inside elements: 'orphans', 'widows'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.65.#q352"> + <tbody id="sC.5.65.#q21.352"> <!-- 0 tests --> </tbody> <tbody id="sC.5.66"> @@ -3242,7 +3201,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.2a">C.5.66 Section 13.3.2 Breaks inside elements: 'orphans', 'widows'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.66.#q353"> + <tbody id="sC.5.66.#q21.353"> <!-- 0 tests --> </tbody> <tbody id="sC.5.67"> @@ -3251,7 +3210,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3">C.5.67 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.67.#q354"> + <tbody id="sC.5.67.#q21.354"> <!-- 0 tests --> </tbody> <tbody id="sC.5.68"> @@ -3260,7 +3219,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3a">C.5.68 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.68.#q355"> + <tbody id="sC.5.68.#q21.355"> <!-- 0 tests --> </tbody> <tbody id="sC.5.69"> @@ -3269,7 +3228,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3b">C.5.69 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.69.#q356"> + <tbody id="sC.5.69.#q21.356"> <!-- 0 tests --> </tbody> <tbody id="sC.5.70"> @@ -3278,7 +3237,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.5">C.5.70 Section 13.3.5 "Best" page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.70.#q357"> + <tbody id="sC.5.70.#q21.357"> <!-- 0 tests --> </tbody> <tbody id="sC.5.71"> @@ -3287,7 +3246,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.14.2">C.5.71 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.71.#q358"> + <tbody id="sC.5.71.#q21.358"> <!-- 0 tests --> </tbody> <tbody id="sC.5.72"> @@ -3296,7 +3255,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.14.2a">C.5.72 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.72.#q359"> + <tbody id="sC.5.72.#q21.359"> <!-- 0 tests --> </tbody> <tbody id="sC.5.73"> @@ -3305,7 +3264,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.14.2.1a">C.5.73 Section 14.2.1 Background properties: 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', and 'background'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.73.#q360"> + <tbody id="sC.5.73.#q21.360"> <!-- 0 tests --> </tbody> <tbody id="sC.5.74"> @@ -3314,7 +3273,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.6">C.5.74 Section 15.6 Font boldness: the 'font-weight' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.74.#q361"> + <tbody id="sC.5.74.#q21.361"> <!-- 0 tests --> </tbody> <tbody id="sC.5.75"> @@ -3323,7 +3282,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.16.6">C.5.75 Section 16.6 Whitespace: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.75.#q362"> + <tbody id="sC.5.75.#q21.362"> <!-- 0 tests --> </tbody> <tbody id="sC.5.76"> @@ -3332,19 +3291,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.16.6.1">C.5.76 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.76.#q363"> - <!-- 1 tests --> - <tr id="white-space-007-C.5.76.#q363" class="ahem"> - <td> - <a href="white-space-007.xht">white-space-007</a></td> - <td></td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td> - <td>white-space - <ul class="assert"> - <li>'white-space: normal' and 'white-space: nowrap' should collapse sequences of white space. Regarding wrapping, line breaking opportunities are determined on the text prior to white space collapsing steps.</li> - </ul> - </td> - </tr> + <tbody id="sC.5.76.#q21.363"> + <!-- 0 tests --> </tbody> <tbody id="sC.5.77"> <tr><th colspan="4" scope="rowgroup"> @@ -3352,7 +3300,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.2.1">C.5.77 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.77.#q364"> + <tbody id="sC.5.77.#q21.364"> <!-- 0 tests --> </tbody> <tbody id="sC.5.78"> @@ -3361,7 +3309,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.2.1a">C.5.78 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.78.#q365"> + <tbody id="sC.5.78.#q21.365"> <!-- 0 tests --> </tbody> <tbody id="sC.5.79"> @@ -3370,7 +3318,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.4">C.5.79 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.79.#q366"> + <tbody id="sC.5.79.#q21.366"> <!-- 0 tests --> </tbody> <tbody id="sC.5.80"> @@ -3379,7 +3327,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.5.4a">C.5.80 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.80.#q367"> + <tbody id="sC.5.80.#q21.367"> <!-- 0 tests --> </tbody> <tbody id="sC.5.81"> @@ -3388,7 +3336,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.18.1">C.5.81 Section 18.1 Cursors: the 'cursor' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.81.#q368"> + <tbody id="sC.5.81.#q21.368"> <!-- 0 tests --> </tbody> <tbody id="sC.5.82"> @@ -3397,7 +3345,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.B.2">C.5.82 Section B.2 Informative references</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.82.#q369"> + <tbody id="sC.5.82.#q21.369"> <!-- 0 tests --> </tbody> <tbody id="sC.5.83"> @@ -3406,7 +3354,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.D">C.5.83 Appendix D. Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.83.#q370"> + <tbody id="sC.5.83.#q21.370"> <!-- 0 tests --> </tbody> <tbody id="sC.5.84"> @@ -3415,7 +3363,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.Da">C.5.84 Appendix D. Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.84.#q371"> + <tbody id="sC.5.84.#q21.371"> <!-- 0 tests --> </tbody> <tbody id="sC.5.85"> @@ -3424,7 +3372,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.E.2">C.5.85 Section E.2 Painting order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.85.#q372"> + <tbody id="sC.5.85.#q21.372"> <!-- 0 tests --> </tbody> <tbody id="sC.5.86"> @@ -3433,7 +3381,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G">C.5.86 Appendix G. Grammar of CSS 2.1</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.86.#q373"> + <tbody id="sC.5.86.#q21.373"> <!-- 0 tests --> </tbody> <tbody id="sC.5.87"> @@ -3442,7 +3390,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.1">C.5.87 Section G.1 Grammar</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.87.#q374"> + <tbody id="sC.5.87.#q21.374"> <!-- 0 tests --> </tbody> <tbody id="sC.5.88"> @@ -3451,7 +3399,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2">C.5.88 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.88.#q375"> + <tbody id="sC.5.88.#q21.375"> <!-- 0 tests --> </tbody> <tbody id="sC.5.89"> @@ -3460,7 +3408,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2a">C.5.89 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.89.#q376"> + <tbody id="sC.5.89.#q21.376"> <!-- 0 tests --> </tbody> <tbody id="sC.5.90"> @@ -3469,7 +3417,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2b">C.5.90 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.90.#q377"> + <tbody id="sC.5.90.#q21.377"> <!-- 0 tests --> </tbody> <tbody id="sC.5.91"> @@ -3478,7 +3426,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2c">C.5.91 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.91.#q378"> + <tbody id="sC.5.91.#q21.378"> <!-- 0 tests --> </tbody> <tbody id="sC.5.92"> @@ -3487,7 +3435,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.I">C.5.92 Appendix I. Index</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.92.#q379"> + <tbody id="sC.5.92.#q21.379"> <!-- 0 tests --> </tbody> <tbody id="sC.6"> @@ -3502,7 +3450,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.2b">C.6.1 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.1.#q381"> + <tbody id="sC.6.1.#q21.381"> <!-- 0 tests --> </tbody> <tbody id="sC.6.2"> @@ -3511,7 +3459,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3c">C.6.2 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.2.#q382"> + <tbody id="sC.6.2.#q21.382"> <!-- 0 tests --> </tbody> <tbody id="sC.6.3"> @@ -3520,7 +3468,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.3">C.6.3 Section 15.3 Font family: the 'font-family' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.3.#q383"> + <tbody id="sC.6.3.#q21.383"> <!-- 0 tests --> </tbody> <tbody id="sC.6.4"> @@ -3529,7 +3477,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.3.1.1">C.6.4 Section 15.3.1.1 serif</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.4.#q384"> + <tbody id="sC.6.4.#q21.384"> <!-- 0 tests --> </tbody> <tbody id="sC.6.5"> @@ -3538,7 +3486,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.7">C.6.5 Section 15.7 Font size: the 'font-size' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.5.#q385"> + <tbody id="sC.6.5.#q21.385"> <!-- 0 tests --> </tbody> <tbody id="sC.6.6"> @@ -3547,7 +3495,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.5.2.1">C.6.6 Section 17.5.2.1 Fixed table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.6.#q386"> + <tbody id="sC.6.6.#q21.386"> <!-- 0 tests --> </tbody> <tbody id="sC.6.7"> @@ -3556,7 +3504,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.5.3">C.6.7 Section 17.5.3 Table height layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.7.#q387"> + <tbody id="sC.6.7.#q21.387"> <!-- 0 tests --> </tbody> <tbody id="sC.6.8"> @@ -3565,7 +3513,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.Ga">C.6.8 Appendix G. Grammar of CSS 2.1</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.8.#q388"> + <tbody id="sC.6.8.#q21.388"> <!-- 0 tests --> </tbody> <tbody id="sC.7"> @@ -3580,7 +3528,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.1">C.7.1 Section 1.4.2.1 Value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.1.#q390"> + <tbody id="sC.7.1.#q21.390"> <!-- 0 tests --> </tbody> <tbody id="sC.7.2"> @@ -3589,7 +3537,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.3.1">C.7.2 Section 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.2.#q391"> + <tbody id="sC.7.2.#q21.391"> <!-- 0 tests --> </tbody> <tbody id="sC.7.3"> @@ -3598,7 +3546,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1">C.7.3 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.3.#q392"> + <tbody id="sC.7.3.#q21.392"> <!-- 0 tests --> </tbody> <tbody id="sC.7.4"> @@ -3607,7 +3555,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1a">C.7.4 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.4.#q393"> + <tbody id="sC.7.4.#q21.393"> <!-- 0 tests --> </tbody> <tbody id="sC.7.5"> @@ -3616,7 +3564,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1b">C.7.5 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.5.#q394"> + <tbody id="sC.7.5.#q21.394"> <!-- 0 tests --> </tbody> <tbody id="sC.7.6"> @@ -3625,7 +3573,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1c">C.7.6 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.6.#q395"> + <tbody id="sC.7.6.#q21.395"> <!-- 0 tests --> </tbody> <tbody id="sC.7.7"> @@ -3634,7 +3582,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.2.2">C.7.7 Section 4.1.2.2 Informative Historical Notes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.7.#q396"> + <tbody id="sC.7.7.#q21.396"> <!-- 0 tests --> </tbody> <tbody id="sC.7.8"> @@ -3643,7 +3591,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.3">C.7.8 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.8.#q397"> + <tbody id="sC.7.8.#q21.397"> <!-- 0 tests --> </tbody> <tbody id="sC.7.9"> @@ -3652,7 +3600,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.3a">C.7.9 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.9.#q398"> + <tbody id="sC.7.9.#q21.398"> <!-- 0 tests --> </tbody> <tbody id="sC.7.10"> @@ -3661,7 +3609,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.8">C.7.10 Section 4.1.8 Declarations and properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.10.#q399"> + <tbody id="sC.7.10.#q21.399"> <!-- 0 tests --> </tbody> <tbody id="sC.7.11"> @@ -3670,7 +3618,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.2">C.7.11 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.11.#q400"> + <tbody id="sC.7.11.#q21.400"> <!-- 0 tests --> </tbody> <tbody id="sC.7.12"> @@ -3679,7 +3627,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.2">C.7.12 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.12.#q401"> + <tbody id="sC.7.12.#q21.401"> <!-- 0 tests --> </tbody> <tbody id="sC.7.13"> @@ -3688,7 +3636,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.2a">C.7.13 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.13.#q402"> + <tbody id="sC.7.13.#q21.402"> <!-- 0 tests --> </tbody> <tbody id="sC.7.14"> @@ -3697,7 +3645,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.4a">C.7.14 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.14.#q403"> + <tbody id="sC.7.14.#q21.403"> <!-- 0 tests --> </tbody> <tbody id="sC.7.15"> @@ -3706,7 +3654,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.4">C.7.15 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.15.#q404"> + <tbody id="sC.7.15.#q21.404"> <!-- 0 tests --> </tbody> <tbody id="sC.7.16"> @@ -3715,7 +3663,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.8.2">C.7.16 Section 5.8.2 Default attribute values in DTDs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.16.#q405"> + <tbody id="sC.7.16.#q21.405"> <!-- 0 tests --> </tbody> <tbody id="sC.7.17"> @@ -3724,7 +3672,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.11.4">C.7.17 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.17.#q406"> + <tbody id="sC.7.17.#q21.406"> <!-- 0 tests --> </tbody> <tbody id="sC.7.18"> @@ -3733,7 +3681,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.12">C.7.18 Section 5.12 Pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.18.#q407"> + <tbody id="sC.7.18.#q21.407"> <!-- 0 tests --> </tbody> <tbody id="sC.7.19"> @@ -3742,7 +3690,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.12.1">C.7.19 Section 5.12.1 The :first-line pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.19.#q408"> + <tbody id="sC.7.19.#q21.408"> <!-- 0 tests --> </tbody> <tbody id="sC.7.20"> @@ -3751,7 +3699,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.12.2">C.7.20 Section 5.12.2 The :first-letter pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.20.#q409"> + <tbody id="sC.7.20.#q21.409"> <!-- 0 tests --> </tbody> <tbody id="sC.7.21"> @@ -3760,7 +3708,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.6.2">C.7.21 Section 6.2 Inheritance</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.21.#q410"> + <tbody id="sC.7.21.#q21.410"> <!-- 0 tests --> </tbody> <tbody id="sC.7.22"> @@ -3769,7 +3717,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.6.4.4">C.7.22 Section 6.4.4 Precedence of non-CSS presentational hints</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.22.#q411"> + <tbody id="sC.7.22.#q21.411"> <!-- 0 tests --> </tbody> <tbody id="sC.7.23"> @@ -3778,7 +3726,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.7.3">C.7.23 Section 7.3 Recognized media types</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.23.#q412"> + <tbody id="sC.7.23.#q21.412"> <!-- 0 tests --> </tbody> <tbody id="sC.7.24"> @@ -3787,7 +3735,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.8.3.1">C.7.24 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.24.#q413"> + <tbody id="sC.7.24.#q21.413"> <!-- 0 tests --> </tbody> <tbody id="sC.7.25"> @@ -3796,7 +3744,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.8.3.1a">C.7.25 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.25.#q414"> + <tbody id="sC.7.25.#q21.414"> <!-- 0 tests --> </tbody> <tbody id="sC.7.26"> @@ -3805,7 +3753,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1">C.7.26 Section 9.2.1 Block-level elements and block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.26.#q415"> + <tbody id="sC.7.26.#q21.415"> <!-- 0 tests --> </tbody> <tbody id="sC.7.27"> @@ -3814,7 +3762,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1">C.7.27 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.27.#q416"> + <tbody id="sC.7.27.#q21.416"> <!-- 0 tests --> </tbody> <tbody id="sC.7.28"> @@ -3823,7 +3771,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1a">C.7.28 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.28.#q417"> + <tbody id="sC.7.28.#q21.417"> <!-- 0 tests --> </tbody> <tbody id="sC.7.29"> @@ -3832,7 +3780,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1b">C.7.29 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.29.#q418"> + <tbody id="sC.7.29.#q21.418"> <!-- 0 tests --> </tbody> <tbody id="sC.7.30"> @@ -3841,7 +3789,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1c">C.7.30 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.30.#q419"> + <tbody id="sC.7.30.#q21.419"> <!-- 0 tests --> </tbody> <tbody id="sC.7.31"> @@ -3850,7 +3798,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.2">C.7.31 Section 9.2.2 Inline-level elements and inline boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.31.#q420"> + <tbody id="sC.7.31.#q21.420"> <!-- 0 tests --> </tbody> <tbody id="sC.7.32"> @@ -3859,7 +3807,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.3a">C.7.32 Section 9.2.3 Run-in boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.32.#q421"> + <tbody id="sC.7.32.#q21.421"> <!-- 0 tests --> </tbody> <tbody id="sC.7.33"> @@ -3868,7 +3816,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.4">C.7.33 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.33.#q422"> + <tbody id="sC.7.33.#q21.422"> <!-- 0 tests --> </tbody> <tbody id="sC.7.34"> @@ -3877,7 +3825,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.4a">C.7.34 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.34.#q423"> + <tbody id="sC.7.34.#q21.423"> <!-- 0 tests --> </tbody> <tbody id="sC.7.35"> @@ -3886,7 +3834,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.3">C.7.35 Section 9.3 Positioning schemes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.35.#q424"> + <tbody id="sC.7.35.#q21.424"> <!-- 0 tests --> </tbody> <tbody id="sC.7.36"> @@ -3895,7 +3843,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.4">C.7.36 Section 9.4 Normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.36.#q425"> + <tbody id="sC.7.36.#q21.425"> <!-- 0 tests --> </tbody> <tbody id="sC.7.37"> @@ -3904,7 +3852,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.3.2">C.7.37 Section 9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.37.#q426"> + <tbody id="sC.7.37.#q21.426"> <!-- 0 tests --> </tbody> <tbody id="sC.7.38"> @@ -3913,7 +3861,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5">C.7.38 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.38.#q427"> + <tbody id="sC.7.38.#q21.427"> <!-- 0 tests --> </tbody> <tbody id="sC.7.39"> @@ -3922,7 +3870,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5a">C.7.39 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.39.#q428"> + <tbody id="sC.7.39.#q21.428"> <!-- 0 tests --> </tbody> <tbody id="sC.7.40"> @@ -3931,7 +3879,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2">C.7.40 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.40.#q429"> + <tbody id="sC.7.40.#q21.429"> <!-- 0 tests --> </tbody> <tbody id="sC.7.41"> @@ -3940,7 +3888,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2a">C.7.41 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.41.#q430"> + <tbody id="sC.7.41.#q21.430"> <!-- 0 tests --> </tbody> <tbody id="sC.7.42"> @@ -3949,7 +3897,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2b">C.7.42 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.42.#q431"> + <tbody id="sC.7.42.#q21.431"> <!-- 0 tests --> </tbody> <tbody id="sC.7.43"> @@ -3958,7 +3906,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2c">C.7.43 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.43.#q432"> + <tbody id="sC.7.43.#q21.432"> <!-- 0 tests --> </tbody> <tbody id="sC.7.44"> @@ -3967,7 +3915,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.14.2.1">C.7.44 Section 14.2.1 Background properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.44.#q433"> + <tbody id="sC.7.44.#q21.433"> <!-- 0 tests --> </tbody> <tbody id="sC.7.45"> @@ -3976,7 +3924,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.9.1">C.7.45 Section 9.9.1 Specifying the stack level: the 'z-index' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.45.#q434"> + <tbody id="sC.7.45.#q21.434"> <!-- 0 tests --> </tbody> <tbody id="sC.7.46"> @@ -3985,7 +3933,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.10">C.7.46 Section 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.46.#q435"> + <tbody id="sC.7.46.#q21.435"> <!-- 0 tests --> </tbody> <tbody id="sC.7.47"> @@ -3994,7 +3942,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.10a">C.7.47 Section 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.47.#q436"> + <tbody id="sC.7.47.#q21.436"> <!-- 0 tests --> </tbody> <tbody id="sC.7.48"> @@ -4003,7 +3951,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.10b">C.7.48 Section 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.48.#q437"> + <tbody id="sC.7.48.#q21.437"> <!-- 0 tests --> </tbody> <tbody id="sC.7.49"> @@ -4012,7 +3960,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.1">C.7.49 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.49.#q438"> + <tbody id="sC.7.49.#q21.438"> <!-- 0 tests --> </tbody> <tbody id="sC.7.50"> @@ -4021,7 +3969,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.2">C.7.50 Section 10.2 Content width: the 'width' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.50.#q439"> + <tbody id="sC.7.50.#q21.439"> <!-- 0 tests --> </tbody> <tbody id="sC.7.51"> @@ -4030,7 +3978,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.2a">C.7.51 Section 10.2 Content width: the 'width' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.51.#q440"> + <tbody id="sC.7.51.#q21.440"> <!-- 0 tests --> </tbody> <tbody id="sC.7.52"> @@ -4039,7 +3987,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.2b">C.7.52 Section 10.2 Content width: the 'width' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.52.#q441"> + <tbody id="sC.7.52.#q21.441"> <!-- 0 tests --> </tbody> <tbody id="sC.7.53"> @@ -4048,7 +3996,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.5">C.7.53 Section 10.5 Content height: the 'height' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.53.#q442"> + <tbody id="sC.7.53.#q21.442"> <!-- 0 tests --> </tbody> <tbody id="sC.7.54"> @@ -4057,7 +4005,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.5a">C.7.54 Section 10.5 Content height: the 'height' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.54.#q443"> + <tbody id="sC.7.54.#q21.443"> <!-- 0 tests --> </tbody> <tbody id="sC.7.55"> @@ -4066,7 +4014,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.6.7">C.7.55 Section 10.6.7 'Auto' heights for block formatting context roots</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.55.#q444"> + <tbody id="sC.7.55.#q21.444"> <!-- 0 tests --> </tbody> <tbody id="sC.7.56"> @@ -4075,7 +4023,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.7">C.7.56 Section 10.7 Minimum and maximum heights: 'min-height' and 'max-height'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.56.#q445"> + <tbody id="sC.7.56.#q21.445"> <!-- 0 tests --> </tbody> <tbody id="sC.7.57"> @@ -4084,7 +4032,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8">C.7.57 Section 10.8 Line height calculations: the 'line-height' and 'vertical-align' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.57.#q446"> + <tbody id="sC.7.57.#q21.446"> <!-- 0 tests --> </tbody> <tbody id="sC.7.58"> @@ -4093,7 +4041,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8a">C.7.58 Section 10.8 Line height calculations: the 'line-height' and 'vertical-align' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.58.#q447"> + <tbody id="sC.7.58.#q21.447"> <!-- 0 tests --> </tbody> <tbody id="sC.7.59"> @@ -4102,7 +4050,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8.1">C.7.59 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.59.#q448"> + <tbody id="sC.7.59.#q21.448"> <!-- 0 tests --> </tbody> <tbody id="sC.7.60"> @@ -4111,7 +4059,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8.1a">C.7.60 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.60.#q449"> + <tbody id="sC.7.60.#q21.449"> <!-- 0 tests --> </tbody> <tbody id="sC.7.61"> @@ -4120,7 +4068,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8.1b">C.7.61 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.61.#q450"> + <tbody id="sC.7.61.#q21.450"> <!-- 0 tests --> </tbody> <tbody id="sC.7.62"> @@ -4129,7 +4077,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1">C.7.62 Section 11.1 Overflow and clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.62.#q451"> + <tbody id="sC.7.62.#q21.451"> <!-- 0 tests --> </tbody> <tbody id="sC.7.63"> @@ -4138,7 +4086,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.1">C.7.63 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.63.#q452"> + <tbody id="sC.7.63.#q21.452"> <!-- 0 tests --> </tbody> <tbody id="sC.7.64"> @@ -4147,7 +4095,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.1a">C.7.64 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.64.#q453"> + <tbody id="sC.7.64.#q21.453"> <!-- 0 tests --> </tbody> <tbody id="sC.7.65"> @@ -4156,7 +4104,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.1b">C.7.65 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.65.#q454"> + <tbody id="sC.7.65.#q21.454"> <!-- 0 tests --> </tbody> <tbody id="sC.7.66"> @@ -4165,7 +4113,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.2">C.7.66 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.66.#q455"> + <tbody id="sC.7.66.#q21.455"> <!-- 0 tests --> </tbody> <tbody id="sC.7.67"> @@ -4174,7 +4122,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5">C.7.67 Section 12.5 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.67.#q456"> + <tbody id="sC.7.67.#q21.456"> <!-- 0 tests --> </tbody> <tbody id="sC.7.68"> @@ -4183,7 +4131,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1">C.7.68 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.68.#q457"> + <tbody id="sC.7.68.#q21.457"> <!-- 0 tests --> </tbody> <tbody id="sC.7.69"> @@ -4192,7 +4140,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1a">C.7.69 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.69.#q458"> + <tbody id="sC.7.69.#q21.458"> <!-- 0 tests --> </tbody> <tbody id="sC.7.70"> @@ -4201,7 +4149,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1b">C.7.70 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.70.#q459"> + <tbody id="sC.7.70.#q21.459"> <!-- 0 tests --> </tbody> <tbody id="sC.7.71"> @@ -4210,7 +4158,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1c">C.7.71 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.71.#q460"> + <tbody id="sC.7.71.#q21.460"> <!-- 0 tests --> </tbody> <tbody id="sC.7.72"> @@ -4219,7 +4167,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1d">C.7.72 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.72.#q461"> + <tbody id="sC.7.72.#q21.461"> <!-- 0 tests --> </tbody> <tbody id="sC.7.73"> @@ -4228,7 +4176,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.2">C.7.73 Section 13.2 Page boxes: the @page rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.73.#q462"> + <tbody id="sC.7.73.#q21.462"> <!-- 0 tests --> </tbody> <tbody id="sC.7.74"> @@ -4237,7 +4185,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.2.2">C.7.74 Section 13.2.2 Page selectors: selecting left, right, and first pages</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.74.#q463"> + <tbody id="sC.7.74.#q21.463"> <!-- 0 tests --> </tbody> <tbody id="sC.7.75"> @@ -4246,7 +4194,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.3.2">C.7.75 Section 13.3.2 Breaks inside elements: 'orphans', 'widows'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.75.#q464"> + <tbody id="sC.7.75.#q21.464"> <!-- 0 tests --> </tbody> <tbody id="sC.7.76"> @@ -4255,7 +4203,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.3.3">C.7.76 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.76.#q465"> + <tbody id="sC.7.76.#q21.465"> <!-- 0 tests --> </tbody> <tbody id="sC.7.77"> @@ -4264,7 +4212,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.3">C.7.77 Section 15.3 Font family: the 'font-family' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.77.#q466"> + <tbody id="sC.7.77.#q21.466"> <!-- 0 tests --> </tbody> <tbody id="sC.7.78"> @@ -4273,7 +4221,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.3.1">C.7.78 Section 15.3.1 Generic font families</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.78.#q467"> + <tbody id="sC.7.78.#q21.467"> <!-- 0 tests --> </tbody> <tbody id="sC.7.79"> @@ -4282,7 +4230,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.6">C.7.79 Section 15.6 Font boldness: the 'font-weight' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.79.#q468"> + <tbody id="sC.7.79.#q21.468"> <!-- 0 tests --> </tbody> <tbody id="sC.7.80"> @@ -4291,7 +4239,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.6q">C.7.80 Section 15.6 Font boldness: the 'font-weight' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.80.#q469"> + <tbody id="sC.7.80.#q21.469"> <!-- 0 tests --> </tbody> <tbody id="sC.7.81"> @@ -4300,7 +4248,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.7">C.7.81 Section 15.7 Font size: the 'font-size' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.81.#q470"> + <tbody id="sC.7.81.#q21.470"> <!-- 0 tests --> </tbody> <tbody id="sC.7.82"> @@ -4309,7 +4257,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.1">C.7.82 Section 16.1 Indentation: the 'text-indent' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.82.#q471"> + <tbody id="sC.7.82.#q21.471"> <!-- 0 tests --> </tbody> <tbody id="sC.7.83"> @@ -4318,7 +4266,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.1a">C.7.83 Section 16.1 Indentation: the 'text-indent' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.83.#q472"> + <tbody id="sC.7.83.#q21.472"> <!-- 0 tests --> </tbody> <tbody id="sC.7.84"> @@ -4327,7 +4275,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.2">C.7.84 Section 16.2 Alignment: the 'text-align' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.84.#q473"> + <tbody id="sC.7.84.#q21.473"> <!-- 0 tests --> </tbody> <tbody id="sC.7.85"> @@ -4336,7 +4284,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.2a">C.7.85 Section 16.2 Alignment: the 'text-align' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.85.#q474"> + <tbody id="sC.7.85.#q21.474"> <!-- 0 tests --> </tbody> <tbody id="sC.7.86"> @@ -4345,7 +4293,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.3.1">C.7.86 Section 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.86.#q475"> + <tbody id="sC.7.86.#q21.475"> <!-- 0 tests --> </tbody> <tbody id="sC.7.87"> @@ -4354,7 +4302,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.3.1a">C.7.87 Section 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.87.#q476"> + <tbody id="sC.7.87.#q21.476"> <!-- 0 tests --> </tbody> <tbody id="sC.7.88"> @@ -4363,7 +4311,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.4">C.7.88 Section 16.4 Letter and word spacing: the 'letter-spacing' and 'word-spacing' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.88.#q477"> + <tbody id="sC.7.88.#q21.477"> <!-- 0 tests --> </tbody> <tbody id="sC.7.89"> @@ -4372,7 +4320,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6">C.7.89 Section 16.6 White space: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.89.#q478"> + <tbody id="sC.7.89.#q21.478"> <!-- 0 tests --> </tbody> <tbody id="sC.7.90"> @@ -4381,7 +4329,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6.1">C.7.90 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.90.#q479"> + <tbody id="sC.7.90.#q21.479"> <!-- 0 tests --> </tbody> <tbody id="sC.7.91"> @@ -4390,7 +4338,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6.1a">C.7.91 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.91.#q480"> + <tbody id="sC.7.91.#q21.480"> <!-- 0 tests --> </tbody> <tbody id="sC.7.92"> @@ -4399,7 +4347,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6.1b">C.7.92 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.92.#q481"> + <tbody id="sC.7.92.#q21.481"> <!-- 0 tests --> </tbody> <tbody id="sC.7.93"> @@ -4408,7 +4356,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.2">C.7.93 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.93.#q482"> + <tbody id="sC.7.93.#q21.482"> <!-- 0 tests --> </tbody> <tbody id="sC.7.94"> @@ -4417,7 +4365,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.2.1">C.7.94 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.94.#q483"> + <tbody id="sC.7.94.#q21.483"> <!-- 0 tests --> </tbody> <tbody id="sC.7.95"> @@ -4426,7 +4374,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.2.1a">C.7.95 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.95.#q484"> + <tbody id="sC.7.95.#q21.484"> <!-- 0 tests --> </tbody> <tbody id="sC.7.96"> @@ -4435,7 +4383,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.4">C.7.96 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.96.#q485"> + <tbody id="sC.7.96.#q21.485"> <!-- 0 tests --> </tbody> <tbody id="sC.7.97"> @@ -4444,7 +4392,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.4a">C.7.97 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.97.#q486"> + <tbody id="sC.7.97.#q21.486"> <!-- 0 tests --> </tbody> <tbody id="sC.7.98"> @@ -4453,7 +4401,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.5.2.2">C.7.98 Section 17.5.2.2 Automatic table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.98.#q487"> + <tbody id="sC.7.98.#q21.487"> <!-- 0 tests --> </tbody> <tbody id="sC.7.99"> @@ -4462,7 +4410,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.5.3">C.7.99 Section 17.5.3 Table height algorithms</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.99.#q488"> + <tbody id="sC.7.99.#q21.488"> <!-- 0 tests --> </tbody> <tbody id="sC.7.100"> @@ -4471,7 +4419,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.5.4">C.7.100 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.100.#q489"> + <tbody id="sC.7.100.#q21.489"> <!-- 0 tests --> </tbody> <tbody id="sC.7.101"> @@ -4480,7 +4428,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.B.2">C.7.101 Section B.2 Informative references</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.101.#q490"> + <tbody id="sC.7.101.#q21.490"> <!-- 0 tests --> </tbody> <tbody id="sC.7.102"> @@ -4489,7 +4437,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.D">C.7.102 Section D. Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.102.#q491"> + <tbody id="sC.7.102.#q21.491"> <!-- 0 tests --> </tbody> <tbody id="sC.7.103"> @@ -4498,7 +4446,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.E.2">C.7.103 Section E.2 Painting order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.103.#q492"> + <tbody id="sC.7.103.#q21.492"> <!-- 0 tests --> </tbody> <tbody id="sC.7.104"> @@ -4507,7 +4455,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.G">C.7.104 Appendix G Grammar of CSS 2.1</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.104.#q493"> + <tbody id="sC.7.104.#q21.493"> <!-- 0 tests --> </tbody> <tbody id="sC.8"> @@ -4516,7 +4464,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#errata4">C.8 Changes since the working draft of 7 December 2010</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.#q494"> + <tbody id="sC.8.#q21.494"> <!-- 0 tests --> </tbody> <tbody id="sC.8.1"> @@ -4525,7 +4473,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.8.3.1">C.8.1 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.1.#q495"> + <tbody id="sC.8.1.#q21.495"> <!-- 0 tests --> </tbody> <tbody id="sC.8.2"> @@ -4534,7 +4482,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.8.1">C.8.2 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.2.#q496"> + <tbody id="sC.8.2.#q21.496"> <!-- 0 tests --> </tbody> <tbody id="sC.8.3"> @@ -4543,7 +4491,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.3">C.8.3 10.3 Calculating widths and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.3.#q497"> + <tbody id="sC.8.3.#q21.497"> <!-- 0 tests --> </tbody> <tbody id="sC.8.4"> @@ -4552,7 +4500,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.14.3">C.8.4 14.3 Gamma correction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.4.#q498"> + <tbody id="sC.8.4.#q21.498"> <!-- 0 tests --> </tbody> <tbody id="sC.8.5"> @@ -4561,7 +4509,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.11.1.2">C.8.5 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.5.#q499"> + <tbody id="sC.8.5.#q21.499"> <!-- 0 tests --> </tbody> <tbody id="sC.8.6"> @@ -4570,7 +4518,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.4.2">C.8.6 9.4.2 Inline formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.6.#q500"> + <tbody id="sC.8.6.#q21.500"> <!-- 0 tests --> </tbody> <tbody id="sC.8.7"> @@ -4579,7 +4527,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.3.2">C.8.7 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.7.#q501"> + <tbody id="sC.8.7.#q21.501"> <!-- 0 tests --> </tbody> <tbody id="sC.8.8"> @@ -4588,7 +4536,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.1">C.8.8 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.8.#q502"> + <tbody id="sC.8.8.#q21.502"> <!-- 0 tests --> </tbody> <tbody id="sC.8.9"> @@ -4597,7 +4545,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.13.2.2">C.8.9 13.2.2 Page selectors: selecting left, right, and first pages</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.9.#q503"> + <tbody id="sC.8.9.#q21.503"> <!-- 0 tests --> </tbody> <tbody id="sC.8.10"> @@ -4606,7 +4554,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.8.3.1a">C.8.10 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.10.#q504"> + <tbody id="sC.8.10.#q21.504"> <!-- 0 tests --> </tbody> <tbody id="sC.8.11"> @@ -4615,7 +4563,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.8">C.8.11 10.8 Line height calculations: the 'line-height' and 'vertical-align' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.11.#q505"> + <tbody id="sC.8.11.#q21.505"> <!-- 0 tests --> </tbody> <tbody id="sC.8.12"> @@ -4624,7 +4572,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.8.1a">C.8.12 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.12.#q506"> + <tbody id="sC.8.12.#q21.506"> <!-- 0 tests --> </tbody> <tbody id="sC.8.13"> @@ -4633,7 +4581,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.6.1a">C.8.13 10.6.1 Inline, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.13.#q507"> + <tbody id="sC.8.13.#q21.507"> <!-- 0 tests --> </tbody> <tbody id="sC.8.14"> @@ -4642,7 +4590,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5.1">C.8.14 9.5.1 Positioning the float: the 'float' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.14.#q508"> + <tbody id="sC.8.14.#q21.508"> <!-- 0 tests --> </tbody> <tbody id="sC.8.15"> @@ -4651,7 +4599,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1">C.8.15 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.15.#q509"> + <tbody id="sC.8.15.#q21.509"> <!-- 0 tests --> </tbody> <tbody id="sC.8.16"> @@ -4660,7 +4608,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.5.12.1">C.8.16 5.12.1 The :first-line pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.16.#q510"> + <tbody id="sC.8.16.#q21.510"> <!-- 0 tests --> </tbody> <tbody id="sC.8.17"> @@ -4669,7 +4617,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.6">C.8.17 16.6 White space: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.17.#q511"> + <tbody id="sC.8.17.#q21.511"> <!-- 0 tests --> </tbody> <tbody id="sC.8.18"> @@ -4678,7 +4626,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.12.5.1">C.8.18 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.18.#q512"> + <tbody id="sC.8.18.#q21.512"> <!-- 0 tests --> </tbody> <tbody id="sC.8.19"> @@ -4687,7 +4635,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.7">C.8.19 9.7 Relationships between 'display', 'position', and 'float'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.19.#q513"> + <tbody id="sC.8.19.#q21.513"> <!-- 0 tests --> </tbody> <tbody id="sC.8.20"> @@ -4696,7 +4644,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.4.2a">C.8.20 9.4.2 Inline formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.20.#q514"> + <tbody id="sC.8.20.#q21.514"> <!-- 0 tests --> </tbody> <tbody id="sC.8.21"> @@ -4705,7 +4653,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.1.9">C.8.21 4.1.9 Comments</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.21.#q515"> + <tbody id="sC.8.21.#q21.515"> <!-- 0 tests --> </tbody> <tbody id="sC.8.22"> @@ -4714,7 +4662,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.12.5.1a">C.8.22 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.22.#q516"> + <tbody id="sC.8.22.#q21.516"> <!-- 0 tests --> </tbody> <tbody id="sC.8.23"> @@ -4723,7 +4671,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5.1a">C.8.23 9.5.1 Positioning the float: the 'float' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.23.#q517"> + <tbody id="sC.8.23.#q21.517"> <!-- 0 tests --> </tbody> <tbody id="sC.8.24"> @@ -4732,7 +4680,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.3">C.8.24 9.3 Positioning schemes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.24.#q518"> + <tbody id="sC.8.24.#q21.518"> <!-- 0 tests --> </tbody> <tbody id="sC.8.25"> @@ -4741,7 +4689,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.10">C.8.25 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.25.#q519"> + <tbody id="sC.8.25.#q21.519"> <!-- 0 tests --> </tbody> <tbody id="sC.8.26"> @@ -4750,7 +4698,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.3.1">C.8.26 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.26.#q520"> + <tbody id="sC.8.26.#q21.520"> <!-- 0 tests --> </tbody> <tbody id="sC.8.27"> @@ -4759,7 +4707,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.3.1a">C.8.27 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.27.#q521"> + <tbody id="sC.8.27.#q21.521"> <!-- 0 tests --> </tbody> <tbody id="sC.8.28"> @@ -4768,7 +4716,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.4">C.8.28 10.4 Minimum and maximum widths: 'min-width' and 'max-width'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.28.#q522"> + <tbody id="sC.8.28.#q21.522"> <!-- 0 tests --> </tbody> <tbody id="sC.8.29"> @@ -4777,7 +4725,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.3.2">C.8.29 9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.29.#q523"> + <tbody id="sC.8.29.#q21.523"> <!-- 0 tests --> </tbody> <tbody id="sC.8.30"> @@ -4786,7 +4734,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1a">C.8.30 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.30.#q524"> + <tbody id="sC.8.30.#q21.524"> <!-- 0 tests --> </tbody> <tbody id="sC.8.31"> @@ -4795,7 +4743,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1b">C.8.31 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.31.#q525"> + <tbody id="sC.8.31.#q21.525"> <!-- 0 tests --> </tbody> <tbody id="sC.8.32"> @@ -4807,7 +4755,7 @@ <tbody id="sC.8.32.#img-clip"> <!-- 0 tests --> </tbody> - <tbody id="sC.8.32.#q526"> + <tbody id="sC.8.32.#q21.526"> <!-- 0 tests --> </tbody> <tbody id="sC.8.33"> @@ -4816,7 +4764,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.13.2">C.8.33 13.2 Page boxes: the @page rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.33.#q527"> + <tbody id="sC.8.33.#q21.527"> <!-- 0 tests --> </tbody> <tbody id="sC.8.34"> @@ -4825,7 +4773,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.1.1">C.8.34 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.34.#q528"> + <tbody id="sC.8.34.#q21.528"> <!-- 0 tests --> </tbody> <tbody id="sC.8.35"> @@ -4834,7 +4782,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.2">C.8.35 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.35.#q529"> + <tbody id="sC.8.35.#q21.529"> <!-- 0 tests --> </tbody> <tbody id="sC.8.36"> @@ -4843,7 +4791,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.3.1">C.8.36 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.36.#q530"> + <tbody id="sC.8.36.#q21.530"> <!-- 0 tests --> </tbody> <tbody id="sC.8.37"> @@ -4852,7 +4800,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.3.4">C.8.37 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.37.#q531"> + <tbody id="sC.8.37.#q21.531"> <!-- 0 tests --> </tbody> <tbody id="sC.8.38"> @@ -4861,7 +4809,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5">C.8.38 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.38.#q532"> + <tbody id="sC.8.38.#q21.532"> <!-- 0 tests --> </tbody> <tbody id="sC.8.39"> @@ -4870,7 +4818,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.11.1.1">C.8.39 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.39.#q533"> + <tbody id="sC.8.39.#q21.533"> <!-- 0 tests --> </tbody> <tbody id="sC.8.40"> @@ -4879,7 +4827,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1c">C.8.40 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.40.#q534"> + <tbody id="sC.8.40.#q21.534"> <!-- 0 tests --> </tbody> <tbody id="sC.8.41"> @@ -4888,7 +4836,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.2">C.8.41 16.2 Alignment: the 'text-align' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.41.#q535"> + <tbody id="sC.8.41.#q21.535"> <!-- 0 tests --> </tbody> <tbody id="sC.8.42"> @@ -4897,7 +4845,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5a">C.8.42 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.42.#q536"> + <tbody id="sC.8.42.#q21.536"> <!-- 0 tests --> </tbody> <tbody id="sC.8.43"> @@ -4906,7 +4854,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.4.2b">C.8.43 9.4.2 Inline formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.43.#q537"> + <tbody id="sC.8.43.#q21.537"> <!-- 0 tests --> </tbody> <tbody id="sC.8.44"> @@ -4915,7 +4863,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.5.12">C.8.44 5.12 Pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.44.#q538"> + <tbody id="sC.8.44.#q21.538"> <!-- 0 tests --> </tbody> <tbody id="sC.8.45"> @@ -4924,7 +4872,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5b">C.8.45 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.45.#q539"> + <tbody id="sC.8.45.#q21.539"> <!-- 0 tests --> </tbody> <tbody id="sC.8.46"> @@ -4933,7 +4881,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5c">C.8.46 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.46.#q540"> + <tbody id="sC.8.46.#q21.540"> <!-- 0 tests --> </tbody> <tbody id="sC.8.47"> @@ -4942,7 +4890,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.14.2.1">C.8.47 14.2.1 Background properties: 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', and 'background'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.47.#q541"> + <tbody id="sC.8.47.#q21.541"> <!-- 0 tests --> </tbody> <tbody id="sC.8.48"> @@ -4951,7 +4899,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.4">C.8.48 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.48.#q542"> + <tbody id="sC.8.48.#q21.542"> <!-- 0 tests --> </tbody> <tbody id="sC.8.49"> @@ -4960,7 +4908,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.6.1.2">C.8.49 6.1.2 Computed values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.49.#q543"> + <tbody id="sC.8.49.#q21.543"> <!-- 0 tests --> </tbody> <tbody id="sC.8.50"> @@ -4969,7 +4917,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.3.2a">C.8.50 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.50.#q544"> + <tbody id="sC.8.50.#q21.544"> <!-- 0 tests --> </tbody> <tbody id="sC.8.51"> @@ -4978,7 +4926,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2d">C.8.51 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.51.#q545"> + <tbody id="sC.8.51.#q21.545"> <!-- 0 tests --> </tbody> <tbody id="sC.8.52"> @@ -4987,7 +4935,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.G.2">C.8.52 G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.52.#q546"> + <tbody id="sC.8.52.#q21.546"> <!-- 0 tests --> </tbody> <tbody id="sC.8.53"> @@ -4996,7 +4944,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2e">C.8.53 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.53.#q547"> + <tbody id="sC.8.53.#q21.547"> <!-- 0 tests --> </tbody> <tbody id="sC.8.54"> @@ -5005,7 +4953,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5b">C.8.54 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.54.#q548"> + <tbody id="sC.8.54.#q21.548"> <!-- 0 tests --> </tbody> <tbody id="sC.8.55"> @@ -5014,7 +4962,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.6.3">C.8.55 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.55.#q549"> + <tbody id="sC.8.55.#q21.549"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-D.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-D.xht index e545bb18322..25686c7f8f7 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-D.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-D.xht @@ -30,7 +30,10 @@ <tbody id="sD"> <tr><th colspan="4" scope="rowgroup"> <a href="#sD">+</a> - <a href="https://www.w3.org/TR/CSS21/sample.html">D Default style sheet for HTML 4</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/sample.html#q22.0">D Default style sheet for HTML 4</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sD.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sD.#bidi"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-E.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-E.xht index db091b778bc..da61f955249 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-E.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-E.xht @@ -30,7 +30,10 @@ <tbody id="sE"> <tr><th colspan="4" scope="rowgroup"> <a href="#sE">+</a> - <a href="https://www.w3.org/TR/CSS21/zindex.html">E Elaborate description of Stacking Contexts</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/zindex.html#q23.0">E Elaborate description of Stacking Contexts</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sE.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sE.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-F.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-F.xht index e21dce70fa5..e3076552071 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-F.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-F.xht @@ -30,7 +30,10 @@ <tbody id="sF"> <tr><th colspan="4" scope="rowgroup"> <a href="#sF">+</a> - <a href="https://www.w3.org/TR/CSS21/propidx.html">F Full property table</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/propidx.html#q24.0">F Full property table</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sF.#annoying-warning"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-G.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-G.xht index aabf7a4165f..887475ba8de 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-G.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-G.xht @@ -30,7 +30,10 @@ <tbody id="sG"> <tr><th colspan="4" scope="rowgroup"> <a href="#sG">+</a> - <a href="https://www.w3.org/TR/CSS21/grammar.html">G Grammar of CSS 2.1</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/grammar.html#q25.0">G Grammar of CSS 2.1</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sG.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sG.1"> @@ -94,7 +97,7 @@ <tbody id="sG.4"> <tr><th colspan="4" scope="rowgroup"> <a href="#sG.4">+</a> - <a href="https://www.w3.org/TR/CSS21/grammar.html#q4">G.4 Implementation note</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/grammar.html#q25.4">G.4 Implementation note</a></th></tr> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-H.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-H.xht index 3eb7ca5905a..39bcb5d13a7 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-H.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-H.xht @@ -30,7 +30,7 @@ <tbody id="sH"> <tr><th colspan="4" scope="rowgroup"> <a href="#sH">+</a> - <a href="https://www.w3.org/TR/CSS21/leftblank.html">H Has been intentionally left blank</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/leftblank.html#q26.0">H Has been intentionally left blank</a></th></tr> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-I.xht b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-I.xht index 1ef7f7f13ac..12f7fc762b4 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/chapter-I.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/chapter-I.xht @@ -30,7 +30,10 @@ <tbody id="sI"> <tr><th colspan="4" scope="rowgroup"> <a href="#sI">+</a> - <a href="https://www.w3.org/TR/CSS21/indexlist.html">I Index</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/indexlist.html#q27.0">I Index</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sI.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sI.#index-;"> @@ -147,6 +150,9 @@ <tbody id="sI.#index-z"> <!-- 0 tests --> </tbody> + <tbody id="sstatus.#annoying-warning"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/overflow-html-body-001.xht b/tests/wpt/css-tests/css21_dev/xhtml1/overflow-html-body-001.xht new file mode 100644 index 00000000000..6b36f5d2e9b --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1/overflow-html-body-001.xht @@ -0,0 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: Overflow on body propagates to viewport</title> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visufx.html#overflow" /> + <meta name="assert" content="An HTML user agent propagates the 'overflow' property from the 'body' to the viewport." /> + <style type="text/css"> + body + { + overflow: hidden; + } + div + { + height: 110%; + width: 110%; + } + </style> + </head> + <body> + <p>Test passes if the horizontal and vertical scrolling mechanism is not available on the page.</p> + <div></div> + </body> +</html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/reftest-toc.xht b/tests/wpt/css-tests/css21_dev/xhtml1/reftest-toc.xht index e434af6c622..b2681a3481e 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/reftest-toc.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/reftest-toc.xht @@ -250,7 +250,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vlr-059" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vlr-059.xht">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> @@ -1146,7 +1146,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vrl-058" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vrl-058.xht">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-001.xht b/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-001.xht new file mode 100644 index 00000000000..ba82e39af4f --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-001.xht @@ -0,0 +1,50 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: Introduction to Tables (text-align, font-weight)</title> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro" /> + <meta name="assert" content="'text-align' and 'font-weight' can be applied to table cells (example from spec section 17.1)." /> + <style type="text/css"> + caption + { + color: blue; + } + td + { + border: 1px solid blue; + height: 5em; + width: 10em; + } + th + { + border: 1px solid blue; + font-weight: bold; + height: 5em; + text-align: center; + width: 10em; + } + </style> + </head> + <body> + <p>Test passes if the text in the left-most box column is centered in its column and darker than the text in the other columns.</p> + <table> + <caption>This is a simple 3x3 table</caption> + <tr id="row1"> + <th>Header 1</th> + <td>Cell 1</td> + <td>Cell 2</td> + </tr> + <tr id="row2"> + <th>Header 2</th> + <td>Cell 3</td> + <td>Cell 4</td> + </tr> + <tr id="row3"> + <th>Header 3</th> + <td>Cell 5</td> + <td>Cell 6</td> + </tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-002.xht b/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-002.xht new file mode 100644 index 00000000000..1cdd4cd478f --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-002.xht @@ -0,0 +1,50 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: Introduction to Tables (vertical-align)</title> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro" /> + <meta name="assert" content="'vertical-align' can be set on table cells (example from section 17.1)." /> + <style type="text/css"> + caption + { + color: blue; + } + td + { + border: 1px solid blue; + height: 5em; + vertical-align: middle; + width: 10em; + } + th + { + border: 1px solid blue; + height: 5em; + vertical-align: baseline; + width: 10em; + } + </style> + </head> + <body> + <p>Test passes if the text in the left-most box column is at the very top of the column and text in the other two columns is vertically centered.</p> + <table> + <caption>This is a simple 3x3 table</caption> + <tr id="row1"> + <th>Header 1</th> + <td>Cell 1</td> + <td>Cell 2</td> + </tr> + <tr id="row2"> + <th>Header 2</th> + <td>Cell 3</td> + <td>Cell 4</td> + </tr> + <tr id="row3"> + <th>Header 3</th> + <td>Cell 5</td> + <td>Cell 6</td> + </tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-003.xht b/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-003.xht new file mode 100644 index 00000000000..7394f283a9a --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-003.xht @@ -0,0 +1,48 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: Introduction to Tables (border-collapse, border)</title> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro" /> + <meta name="assert" content="'border-collapse' and 'border' can be set on table elements (example from section 17.1)." /> + <style type="text/css"> + table + { + border-collapse: collapse; + } + tr#row1 + { + border: 3px solid blue; + } + tr#row2 + { + border: 1px solid black; + } + tr#row3 + { + border: 1px solid black; + } + </style> + </head> + <body> + <p>Test passes if the box below is separated into three horizontal rows, and the top one has a blue border that is thicker than the borders of the other rows.</p> + <table> + <caption>This is a simple 3x3 table</caption> + <tr id="row1"> + <th>Header 1</th> + <td>Cell 1</td> + <td>Cell 2</td> + </tr> + <tr id="row2"> + <th>Header 2</th> + <td>Cell 3</td> + <td>Cell 4</td> + </tr> + <tr id="row3"> + <th>Header 3</th> + <td>Cell 5</td> + <td>Cell 6</td> + </tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-004.xht b/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-004.xht new file mode 100644 index 00000000000..b41f9bf2849 --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1/table-intro-example-004.xht @@ -0,0 +1,45 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: Introduction to Tables (caption-side)</title> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro" /> + <meta name="assert" content="'caption-side' can be set on a table caption (example from section 17.1)." /> + <style type="text/css"> + caption + { + color: blue; + caption-side: top; + } + td + { + border: solid black; + } + th + { + border: solid black; + } + </style> + </head> + <body> + <p>Test passes if blue text (with the words 'This is a simple 3x3 table') appears above the three-by-three grid below.</p> + <table> + <caption>This is a simple 3x3 table</caption> + <tr id="row1"> + <th>Header 1</th> + <td>Cell 1</td> + <td>Cell 2</td> + </tr> + <tr id="row2"> + <th>Header 2</th> + <td>Cell 3</td> + <td>Cell 4</td> + </tr> + <tr id="row3"> + <th>Header 3</th> + <td>Cell 5</td> + <td>Cell 6</td> + </tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1/toc.xht b/tests/wpt/css-tests/css21_dev/xhtml1/toc.xht index 3d44f5c1398..f960046517a 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1/toc.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1/toc.xht @@ -37,22 +37,22 @@ <tbody id="s4"> <tr><th><a href="chapter-4.xht">Chapter 4 - Syntax and basic data types</a></th> - <td>(439 Tests)</td></tr> + <td>(431 Tests)</td></tr> </tbody> <tbody id="s5"> <tr><th><a href="chapter-5.xht">Chapter 5 - Selectors</a></th> - <td>(677 Tests)</td></tr> + <td>(668 Tests)</td></tr> </tbody> <tbody id="s6"> <tr><th><a href="chapter-6.xht">Chapter 6 - Assigning property values, Cascading, and Inheritance</a></th> - <td>(145 Tests)</td></tr> + <td>(117 Tests)</td></tr> </tbody> <tbody id="s7"> <tr><th><a href="chapter-7.xht">Chapter 7 - Media types</a></th> - <td>(22 Tests)</td></tr> + <td>(5 Tests)</td></tr> </tbody> <tbody id="s8"> <tr><th><a href="chapter-8.xht">Chapter 8 - @@ -62,7 +62,7 @@ <tbody id="s9"> <tr><th><a href="chapter-9.xht">Chapter 9 - Visual formatting model</a></th> - <td>(1247 Tests)</td></tr> + <td>(1246 Tests)</td></tr> </tbody> <tbody id="s10"> <tr><th><a href="chapter-10.xht">Chapter 10 - @@ -122,7 +122,7 @@ <tbody id="sC"> <tr><th><a href="chapter-C.xht">Appendix C - Changes</a></th> - <td>(5 Tests)</td></tr> + <td>(0 Tests)</td></tr> </tbody> <tbody id="sD"> <tr><th><a href="chapter-D.xht">Appendix D - diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/abs-pos-non-replaced-vlr-059.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/abs-pos-non-replaced-vlr-059.xht index c0f61875086..f6b43d0a74a 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/abs-pos-non-replaced-vlr-059.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/abs-pos-non-replaced-vlr-059.xht @@ -3,7 +3,7 @@ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <style type="text/css"> @page { font: italic 8pt sans-serif; color: gray; margin: 7%; @@ -20,7 +20,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.xht" /> <meta name="flags" content="ahem image" /> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'." /> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." /> <style type="text/css"><![CDATA[ div#containing-block diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/abs-pos-non-replaced-vrl-058.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/abs-pos-non-replaced-vrl-058.xht index c2bf41e172b..a695289871c 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/abs-pos-non-replaced-vrl-058.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/abs-pos-non-replaced-vrl-058.xht @@ -3,7 +3,7 @@ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'</title> + <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title> <style type="text/css"> @page { font: italic 8pt sans-serif; color: gray; margin: 7%; @@ -20,7 +20,7 @@ <link rel="match" href="reference/abs-pos-non-replaced-vrl-004-ref.xht" /> <meta name="flags" content="ahem image" /> - <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'." /> + <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." /> <style type="text/css"><![CDATA[ div#containing-block diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/basic-html-table-001.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/basic-html-table-001.xht new file mode 100644 index 00000000000..26a4e3e5de2 --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/basic-html-table-001.xht @@ -0,0 +1,59 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: HTML table with every table element</title> + <style type="text/css"> + @page { font: italic 8pt sans-serif; color: gray; + margin: 7%; + counter-increment: page; + @top-left { content: "CSS 2.1 Conformance Test Suite"; } + @top-right { content: "Test basic-html-table-001"; } + @bottom-right { content: counter(page); } + } +</style> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#table-display" /> + <link rel="help" href="http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.2" /> + <meta name="assert" content="HTML table elements are supported." /> + <style type="text/css"> + caption, td, th + { + background: black; + } + </style> + </head> + <body> + <p>Test passes if there is a solid bar on top of a three-by-three grid of boxes below.</p> + <table border="1"> + <caption>X</caption> + <colgroup> + <col /> + <col /> + </colgroup> + <colgroup> + <col /> + </colgroup> + <thead> + <tr> + <th>XXXXX</th> + <th>XXXXX</th> + <th>XXXXX</th> + </tr> + </thead> + <tfoot> + <tr> + <td>XXXXX</td> + <td>XXXXX</td> + <td>XXXXX</td> + </tr> + </tfoot> + <tbody> + <tr> + <td>XXXXX</td> + <td>XXXXX</td> + <td>XXXXX</td> + </tr> + </tbody> + </table> + </body> +</html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-1.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-1.xht index 71ff793d472..ed573d284aa 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-1.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-1.xht @@ -30,7 +30,10 @@ <tbody id="s1"> <tr><th colspan="4" scope="rowgroup"> <a href="#s1">+</a> - <a href="https://www.w3.org/TR/CSS21/about.html">1 About the CSS 2.1 Specification</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/about.html#q1.0">1 About the CSS 2.1 Specification</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s1.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s1.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-10.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-10.xht index ba733da8144..37e75a29ed5 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-10.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-10.xht @@ -30,7 +30,10 @@ <tbody id="s10"> <tr><th colspan="4" scope="rowgroup"> <a href="#s10">+</a> - <a href="https://www.w3.org/TR/CSS21/visudet.html">10 Visual formatting model details</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/visudet.html#q10.0">10 Visual formatting model details</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s10.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s10.1"> @@ -4171,9 +4174,9 @@ <a href="abs-pos-non-replaced-vlr-059.xht">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> @@ -4699,9 +4702,9 @@ <a href="abs-pos-non-replaced-vrl-058.xht">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> - <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left' + <td>absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto' <ul class="assert"> - <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left', then solve for 'left'.</li> + <li>When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'.</li> </ul> </td> </tr> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-11.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-11.xht index b0cb056530e..a6388179b3a 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-11.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-11.xht @@ -30,7 +30,10 @@ <tbody id="s11"> <tr><th colspan="4" scope="rowgroup"> <a href="#s11">+</a> - <a href="https://www.w3.org/TR/CSS21/visufx.html">11 Visual effects</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/visufx.html#q11.0">11 Visual effects</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s11.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s11.1"> @@ -616,6 +619,17 @@ </ul> </td> </tr> + <tr id="overflow-html-body-001-11.1.1" class=""> + <td> + <a href="overflow-html-body-001.xht">overflow-html-body-001</a></td> + <td></td> + <td></td> + <td>Overflow on body propagates to viewport + <ul class="assert"> + <li>An HTML user agent propagates the 'overflow' property from the 'body' to the viewport.</li> + </ul> + </td> + </tr> <tr id="overflow-parent-001-11.1.1" class=""> <td> <a href="overflow-parent-001.xht">overflow-parent-001</a></td> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-12.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-12.xht index d3a7c255aa7..ec3b574b825 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-12.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-12.xht @@ -33,6 +33,9 @@ <a href="https://www.w3.org/TR/CSS21/generate.html#generated-text">12 Generated content, automatic numbering, and lists</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="s12.#annoying-warning"> + <!-- 0 tests --> + </tbody> <tbody id="s12.#x0"> <!-- 0 tests --> </tbody> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-13.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-13.xht index f0ee1586a8b..f89e4e6e376 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-13.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-13.xht @@ -33,6 +33,9 @@ <a href="https://www.w3.org/TR/CSS21/page.html#the-page">13 Paged media</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="s13.#annoying-warning"> + <!-- 0 tests --> + </tbody> <tbody id="s13.1"> <tr><th colspan="4" scope="rowgroup"> <a href="#s13.1">+</a> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-14.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-14.xht index 810d9c25fe7..1123ff003e3 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-14.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-14.xht @@ -30,7 +30,10 @@ <tbody id="s14"> <tr><th colspan="4" scope="rowgroup"> <a href="#s14">+</a> - <a href="https://www.w3.org/TR/CSS21/colors.html">14 Colors and Backgrounds</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/colors.html#q14.0">14 Colors and Backgrounds</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s14.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s14.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-15.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-15.xht index 5400d683ecb..31c6e9d5837 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-15.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-15.xht @@ -30,7 +30,10 @@ <tbody id="s15"> <tr><th colspan="4" scope="rowgroup"> <a href="#s15">+</a> - <a href="https://www.w3.org/TR/CSS21/fonts.html">15 Fonts</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/fonts.html#q15.0">15 Fonts</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s15.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s15.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-16.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-16.xht index 509b6e3191a..b6de913108b 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-16.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-16.xht @@ -30,7 +30,10 @@ <tbody id="s16"> <tr><th colspan="4" scope="rowgroup"> <a href="#s16">+</a> - <a href="https://www.w3.org/TR/CSS21/text.html">16 Text</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/text.html#q16.0">16 Text</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s16.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s16.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-17.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-17.xht index 82c13a2fded..7badb6c74ee 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-17.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-17.xht @@ -30,7 +30,10 @@ <tbody id="s17"> <tr><th colspan="4" scope="rowgroup"> <a href="#s17">+</a> - <a href="https://www.w3.org/TR/CSS21/tables.html">17 Tables</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/tables.html#q17.0">17 Tables</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s17.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s17.1"> @@ -137,6 +140,50 @@ </ul> </td> </tr> + <tr id="table-intro-example-001-17.1" class=""> + <td> + <a href="table-intro-example-001.xht">table-intro-example-001</a></td> + <td></td> + <td></td> + <td>Introduction to Tables (text-align, font-weight) + <ul class="assert"> + <li>'text-align' and 'font-weight' can be applied to table cells (example from spec section 17.1).</li> + </ul> + </td> + </tr> + <tr id="table-intro-example-002-17.1" class=""> + <td> + <a href="table-intro-example-002.xht">table-intro-example-002</a></td> + <td></td> + <td></td> + <td>Introduction to Tables (vertical-align) + <ul class="assert"> + <li>'vertical-align' can be set on table cells (example from section 17.1).</li> + </ul> + </td> + </tr> + <tr id="table-intro-example-003-17.1" class=""> + <td> + <a href="table-intro-example-003.xht">table-intro-example-003</a></td> + <td></td> + <td></td> + <td>Introduction to Tables (border-collapse, border) + <ul class="assert"> + <li>'border-collapse' and 'border' can be set on table elements (example from section 17.1).</li> + </ul> + </td> + </tr> + <tr id="table-intro-example-004-17.1" class=""> + <td> + <a href="table-intro-example-004.xht">table-intro-example-004</a></td> + <td></td> + <td></td> + <td>Introduction to Tables (caption-side) + <ul class="assert"> + <li>'caption-side' can be set on a table caption (example from section 17.1).</li> + </ul> + </td> + </tr> <tr id="table-organization-001-17.1" class=""> <td> <a href="table-organization-001.xht">table-organization-001</a></td> @@ -227,6 +274,17 @@ </ul> </td> </tr> + <tr id="basic-html-table-001-17.2" class=""> + <td> + <a href="basic-html-table-001.xht">basic-html-table-001</a></td> + <td></td> + <td></td> + <td>HTML table with every table element + <ul class="assert"> + <li>HTML table elements are supported.</li> + </ul> + </td> + </tr> <tr id="before-content-display-012-17.2" class=""> <td> <a href="before-content-display-012.xht">before-content-display-012</a></td> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-18.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-18.xht index 241fa40de4a..276fd0bcf3f 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-18.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-18.xht @@ -30,7 +30,10 @@ <tbody id="s18"> <tr><th colspan="4" scope="rowgroup"> <a href="#s18">+</a> - <a href="https://www.w3.org/TR/CSS21/ui.html">18 User interface</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/ui.html#q18.0">18 User interface</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s18.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s18.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-2.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-2.xht index 6e2541a4475..010b4a724bb 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-2.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-2.xht @@ -30,7 +30,10 @@ <tbody id="s2"> <tr><th colspan="4" scope="rowgroup"> <a href="#s2">+</a> - <a href="https://www.w3.org/TR/CSS21/intro.html">2 Introduction to CSS 2.1</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/intro.html#q2.0">2 Introduction to CSS 2.1</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s2.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s2.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-3.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-3.xht index f61a4865067..9ddd9cc2359 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-3.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-3.xht @@ -30,7 +30,10 @@ <tbody id="s3"> <tr><th colspan="4" scope="rowgroup"> <a href="#s3">+</a> - <a href="https://www.w3.org/TR/CSS21/conform.html">3 Conformance: Requirements and Recommendations</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/conform.html#q3.0">3 Conformance: Requirements and Recommendations</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s3.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="s3.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-4.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-4.xht index 7d04993d7ca..0086ecf94f5 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-4.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-4.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Syntax and basic data types (439 tests)</h2> + <h2>Syntax and basic data types (431 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,96 +30,11 @@ <tbody id="s4"> <tr><th colspan="4" scope="rowgroup"> <a href="#s4">+</a> - <a href="https://www.w3.org/TR/CSS21/syndata.html">4 Syntax and basic data types</a></th></tr> - <!-- 8 tests --> - <tr id="counters-001-4" class=""> - <td> - <a href="counters-001.xht">counters-001</a></td> - <td><a href="reference/counters-001-ref.xht">=</a> </td> - <td></td> - <td>Parsing counter functions with just the identifier - <ul class="assert"> - <li>Counters can be referred to using only the identifier.</li> - </ul> - </td> - </tr> - <tr id="counters-002-4" class="invalid"> - <td> - <a href="counters-002.xht">counters-002</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Parsing invalid counter functions - Too many arguments - <ul class="assert"> - <li>A counter is invalid if it has too many arguments.</li> - </ul> - </td> - </tr> - <tr id="ident-014-4" class=""> - <td> - <a href="ident-014.xht">ident-014</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Selector attributes and hyphens - <ul class="assert"> - <li>Attribute selectors can begin with hyphens.</li> - </ul> - </td> - </tr> - <tr id="ident-015-4" class=""> - <td> - <a href="ident-015.xht">ident-015</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Attribute selectors and underscores - <ul class="assert"> - <li>Attribute selectors can begin with underscores.</li> - </ul> - </td> - </tr> - <tr id="ident-016-4" class=""> - <td> - <a href="ident-016.xht">ident-016</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Attribute selectors with hyphens and underscores - <ul class="assert"> - <li>Attribute selectors are valid if they begin with hyphens and then underscores.</li> - </ul> - </td> - </tr> - <tr id="ident-017-4" class="invalid"> - <td> - <a href="ident-017.xht">ident-017</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Attribute selection with digits - <ul class="assert"> - <li>Attribute selectors cannot begin with digits.</li> - </ul> - </td> - </tr> - <tr id="ident-018-4" class="invalid"> - <td> - <a href="ident-018.xht">ident-018</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Attribute selectors starting with hyphens and digits - <ul class="assert"> - <li>Attribute selectors cannot begin with hyphens then digits.</li> - </ul> - </td> - </tr> - <tr id="ident-019-4" class=""> - <td> - <a href="ident-019.xht">ident-019</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Attribute selectors starting with underscore and digits - <ul class="assert"> - <li>Attribute selectors can begin with underscore then digits.</li> - </ul> - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/syndata.html#q4.0">4 Syntax and basic data types</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s4.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s4.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-5.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-5.xht index e913af114ae..bfe1618ad1c 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-5.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-5.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Selectors (677 tests)</h2> + <h2>Selectors (668 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,80 +30,11 @@ <tbody id="s5"> <tr><th colspan="4" scope="rowgroup"> <a href="#s5">+</a> - <a href="https://www.w3.org/TR/CSS21/selector.html">5 Selectors</a></th></tr> - <!-- 9 tests --> - <tr id="cascade-import-dynamic-001-5" class=""> - <td> - <a href="cascade-import-dynamic-001.xht">cascade-import-dynamic-001</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet append (<style>) - </td> - </tr> - <tr id="cascade-import-dynamic-002-5" class=""> - <td> - <a href="cascade-import-dynamic-002.xht">cascade-import-dynamic-002</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet append (<link>) - </td> - </tr> - <tr id="cascade-import-dynamic-003-5" class=""> - <td> - <a href="cascade-import-dynamic-003.xht">cascade-import-dynamic-003</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet insertion (<style>) - </td> - </tr> - <tr id="cascade-import-dynamic-004-5" class=""> - <td> - <a href="cascade-import-dynamic-004.xht">cascade-import-dynamic-004</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet insertion (<link>) - </td> - </tr> - <tr id="cascade-import-dynamic-005-5" class=""> - <td> - <a href="cascade-import-dynamic-005.xht">cascade-import-dynamic-005</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet deletion (<style>) - </td> - </tr> - <tr id="cascade-import-dynamic-006-5" class=""> - <td> - <a href="cascade-import-dynamic-006.xht">cascade-import-dynamic-006</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Dynamic sheet deletion (<link>) - </td> - </tr> - <tr id="cascade-import-dynamic-control-5" class=""> - <td> - <a href="cascade-import-dynamic-control.xht">cascade-import-dynamic-control</a></td> - <td><a href="reference/ref-this-text-should-be-green.xht">=</a> </td> - <td></td> - <td>Control test - </td> - </tr> - <tr id="html-precedence-004-5" class="userstyle"> - <td> - <a href="html-precedence-004.xht">html-precedence-004</a></td> - <td><a href="reference/html-precedence-004-ref.xht">=</a> </td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User Stylesheets and non-CSS Presentational Hints - </td> - </tr> - <tr id="html-precedence-005-5" class="userstyle"> - <td> - <a href="html-precedence-005.xht">html-precedence-005</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User Stylesheets and non-CSS Presentational Hints - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/selector.html#q5.0">5 Selectors</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s5.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s5.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-6.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-6.xht index 12519429186..5009f4aa553 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-6.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-6.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Assigning property values, Cascading, and Inheritance (145 tests)</h2> + <h2>Assigning property values, Cascading, and Inheritance (117 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,316 +30,11 @@ <tbody id="s6"> <tr><th colspan="4" scope="rowgroup"> <a href="#s6">+</a> - <a href="https://www.w3.org/TR/CSS21/cascade.html">6 Assigning property values, Cascading, and Inheritance</a></th></tr> - <!-- 28 tests --> - <tr id="at-import-001-6" class=""> - <td> - <a href="at-import-001.xht">at-import-001</a></td> - <td></td> - <td></td> - <td>@import not as the first declaration - <ul class="assert"> - <li>An @import is ignored if it is not the first statement in a style block.</li> - </ul> - </td> - </tr> - <tr id="at-import-002-6" class=""> - <td> - <a href="at-import-002.xht">at-import-002</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Importing external stylesheets with @import - <ul class="assert"> - <li>An @import used to import external stylesheets.</li> - </ul> - </td> - </tr> - <tr id="at-import-003-6" class=""> - <td> - <a href="at-import-003.xht">at-import-003</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Importing styles using @import with a string - <ul class="assert"> - <li>An @import used with just a string is interpreted as if it had url(...) around it.</li> - </ul> - </td> - </tr> - <tr id="at-import-004-6" class=""> - <td> - <a href="at-import-004.xht">at-import-004</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Media dependency on @import set to 'print' - <ul class="assert"> - <li>Specifying a media-dependency of print does not apply rules to the user agent display.</li> - </ul> - </td> - </tr> - <tr id="at-import-005-6" class=""> - <td> - <a href="at-import-005.xht">at-import-005</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Media dependency on @import set to 'all' - <ul class="assert"> - <li>Specifying the media-dependency of 'all' applies to all media types including user agent display.</li> - </ul> - </td> - </tr> - <tr id="at-import-006-6" class=""> - <td> - <a href="at-import-006.xht">at-import-006</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Media dependency on @import set to 'screen' - <ul class="assert"> - <li>Specifying the media-dependent import rules to 'screen' applies to user agent display.</li> - </ul> - </td> - </tr> - <tr id="at-import-007-6" class=""> - <td> - <a href="at-import-007.xht">at-import-007</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>@import with @charset - <ul class="assert"> - <li>An @import is valid after @charset.</li> - </ul> - </td> - </tr> - <tr id="html-precedence-002-6" class=""> - <td> - <a href="html-precedence-002.xht">html-precedence-002</a></td> - <td></td> - <td></td> - <td>Universal selector precedence - <ul class="assert"> - <li>The universal selector and the 'color' attribute have the same specificity. The universal selector is applied since CSS takes precedence.</li> - </ul> - </td> - </tr> - <tr id="html-precedence-003-6" class="userstyle"> - <td> - <a href="html-precedence-003.xht">html-precedence-003</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User style sheet precedence - <ul class="assert"> - <li>The 'font' element's 'color' attribute trumps the user stylesheet's universal selector. They have the same specificity but the font element is a virtual author rule.</li> - </ul> - </td> - </tr> - <tr id="inherited-value-002-6" class="ahem"> - <td> - <a href="inherited-value-002.xht">inherited-value-002</a></td> - <td></td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td> - <td>Inheriting computed values - <ul class="assert"> - <li>The computed value of a font-size with a percentage is the percentage of its parent's font-size value. A nested element which also has a percentage applies the parents' specified value (which is inherited).</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-001-6" class="userstyle"> - <td> - <a href="user-stylesheet-001.xht">user-stylesheet-001</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User defined stylesheet can be applied - <ul class="assert"> - <li>User stylesheet can be applied to the page.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-002-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-002.xht">user-stylesheet-002</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>User defined stylesheet can be applied and persisted - <ul class="assert"> - <li>The user stylesheet is still applied after close and reopen the user agent window.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-003-6" class="userstyle"> - <td> - <a href="user-stylesheet-003.xht">user-stylesheet-003</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Rules with normal declarations in an user defined stylesheet can be overriden by rules with normal declarations from author in a style block - <ul class="assert"> - <li>A CSS rule (with normal - not !important - declarations) in an author style sheet have more weight than a CSS rule (with normal - not !important -declarations) in an user style sheet.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-004-6" class="userstyle"> - <td> - <a href="user-stylesheet-004.xht">user-stylesheet-004</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Rules with normal declarations in an user defined stylesheet can be overriden by normal declarations from author in an inline style attribute - <ul class="assert"> - <li>A normal - not !important - declaration in an inline style from author have more weight than a CSS rule (with normal - not !important -) declarations in an user style sheet.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-005-6" class="userstyle"> - <td> - <a href="user-stylesheet-005.xht">user-stylesheet-005</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Descendant selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The descendant selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-006-6" class="userstyle"> - <td> - <a href="user-stylesheet-006.xht">user-stylesheet-006</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Child selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The child selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-007-6" class="userstyle"> - <td> - <a href="user-stylesheet-007.xht">user-stylesheet-007</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Adjacent sibling selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The adjacent sibling selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-008-6" class="userstyle"> - <td> - <a href="user-stylesheet-008.xht">user-stylesheet-008</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Attribute selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The attribute selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-009-6" class="userstyle"> - <td> - <a href="user-stylesheet-009.xht">user-stylesheet-009</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>ID selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The ID selector defined in user stylesheet is applied to the appropriate element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-010-6" class="userstyle"> - <td> - <a href="user-stylesheet-010.xht">user-stylesheet-010</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-class selector :first-child defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :first-child defined in user stylesheet is applied to the first child of an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-011-6" class="userstyle"> - <td> - <a href="user-stylesheet-011.xht">user-stylesheet-011</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element first-line selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :first-line defined in user stylesheet is applied to the first line of an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-012-6" class="history userstyle"> - <td> - <a href="user-stylesheet-012.xht">user-stylesheet-012</a></td> - <td></td> - <td><abbr class="history" title="Requires session history">History</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Link defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :link defined in user stylesheet is applied to all links.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-013-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-013.xht">user-stylesheet-013</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Visited selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :visited defined in user stylesheet is applied when a link has already been visited.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-014-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-014.xht">user-stylesheet-014</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Hover defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :hover defined in user stylesheet is applied when the mouse is above an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-015-6" class="interact userstyle"> - <td> - <a href="user-stylesheet-015.xht">user-stylesheet-015</a></td> - <td></td> - <td><abbr class="interact" title="Requires user interaction">Interact</abbr><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-class :active defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-class selector :active defined in user stylesheet is implemented.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-016-6" class="userstyle"> - <td> - <a href="user-stylesheet-016.xht">user-stylesheet-016</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element first-letter selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :first-letter defined in user stylesheet is applied to the first letter of an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-017-6" class="userstyle"> - <td> - <a href="user-stylesheet-017.xht">user-stylesheet-017</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element before selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :before defined in user stylesheet is inserted before an element.</li> - </ul> - </td> - </tr> - <tr id="user-stylesheet-018-6" class="userstyle"> - <td> - <a href="user-stylesheet-018.xht">user-stylesheet-018</a></td> - <td></td> - <td><abbr class="userstyle" title="Requires user style sheet or other special setting">User Style</abbr></td> - <td>Pseudo-element after selector defined in user stylesheet can be applied - <ul class="assert"> - <li>The pseudo-element selector :after defined in user stylesheet is inserted after an element.</li> - </ul> - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/cascade.html#q6.0">6 Assigning property values, Cascading, and Inheritance</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s6.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s6.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-7.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-7.xht index 7dfe0c642f1..f991904e8aa 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-7.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-7.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Media types (22 tests)</h2> + <h2>Media types (5 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,195 +30,11 @@ <tbody id="s7"> <tr><th colspan="4" scope="rowgroup"> <a href="#s7">+</a> - <a href="https://www.w3.org/TR/CSS21/media.html">7 Media types</a></th></tr> - <!-- 17 tests --> - <tr id="media-dependency-001-7" class=""> - <td> - <a href="media-dependency-001.xht">media-dependency-001</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>@media and target mediums - <ul class="assert"> - <li>@media with a target medium applies styles on that target medium (screen).</li> - </ul> - </td> - </tr> - <tr id="media-dependency-002-7" class=""> - <td> - <a href="media-dependency-002.xht">media-dependency-002</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>@import and target mediums - <ul class="assert"> - <li>@media with a target medium applies styles on that target medium (screen).</li> - </ul> - </td> - </tr> - <tr id="media-dependency-003-7" class=""> - <td> - <a href="media-dependency-003.xht">media-dependency-003</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Link tags and target mediums - <ul class="assert"> - <li>Link with a target medium applies styles on that target medium (screen).</li> - </ul> - </td> - </tr> - <tr id="media-dependency-004-7" class=""> - <td> - <a href="media-dependency-004.xht">media-dependency-004</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Case-insensitive media types - <ul class="assert"> - <li>Media types are case-insensitive.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-005-7" class="invalid"> - <td> - <a href="media-dependency-005.xht">media-dependency-005</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Ignoring bad media types with @import - <ul class="assert"> - <li>User agent ignores media types it does not understand with @import.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-006-7" class="invalid"> - <td> - <a href="media-dependency-006.xht">media-dependency-006</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>Ignoring bad media types with @media - <ul class="assert"> - <li>User agent ignores media types it does not understand with @media.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-007-7" class=""> - <td> - <a href="media-dependency-007.xht">media-dependency-007</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums - <ul class="assert"> - <li>The @media block does not apply because it does not match the target medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-008-7" class=""> - <td> - <a href="media-dependency-008.xht">media-dependency-008</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums and @import - <ul class="assert"> - <li>The @import command does not apply because it does not match the target medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-009-7" class=""> - <td> - <a href="media-dependency-009.xht">media-dependency-009</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Matching the 'All' target medium - <ul class="assert"> - <li>The 'all' media type applies to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-010-7" class=""> - <td> - <a href="media-dependency-010.xht">media-dependency-010</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (braille) - <ul class="assert"> - <li>The 'braille' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-011-7" class=""> - <td> - <a href="media-dependency-011.xht">media-dependency-011</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (embossed) - <ul class="assert"> - <li>The 'embossed' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-012-7" class=""> - <td> - <a href="media-dependency-012.xht">media-dependency-012</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (handheld) - <ul class="assert"> - <li>The 'handheld' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-013-7" class=""> - <td> - <a href="media-dependency-013.xht">media-dependency-013</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (projection) - <ul class="assert"> - <li>The 'projection' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-014-7" class=""> - <td> - <a href="media-dependency-014.xht">media-dependency-014</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (speech) - <ul class="assert"> - <li>The 'speech' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-015-7" class=""> - <td> - <a href="media-dependency-015.xht">media-dependency-015</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (tty) - <ul class="assert"> - <li>The 'tty' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-016-7" class=""> - <td> - <a href="media-dependency-016.xht">media-dependency-016</a></td> - <td><a href="reference/no-red-filler-text-ref.xht">=</a> </td> - <td></td> - <td>Non-matching target mediums (tv) - <ul class="assert"> - <li>The 'tv' media type does not apply to the screen medium.</li> - </ul> - </td> - </tr> - <tr id="media-dependency-017-7" class=""> - <td> - <a href="media-dependency-017.xht">media-dependency-017</a></td> - <td><a href="reference/filler-text-below-green.xht">=</a> </td> - <td></td> - <td>Multiple target mediums - <ul class="assert"> - <li>An '@media' rule specifies the target media types separated by commas.</li> - </ul> - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/media.html#q7.0">7 Media types</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s7.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s7.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-8.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-8.xht index 471ccaaf28f..70e7346fb13 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-8.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-8.xht @@ -33,6 +33,9 @@ <a href="https://www.w3.org/TR/CSS21/box.html#box-model">8 Box model</a></th></tr> <!-- 0 tests --> </tbody> + <tbody id="s8.#annoying-warning"> + <!-- 0 tests --> + </tbody> <tbody id="s8.1"> <tr><th colspan="4" scope="rowgroup"> <a href="#s8.1">+</a> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-9.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-9.xht index f957c82ac6b..e65591f3fc4 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-9.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-9.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Visual formatting model (1247 tests)</h2> + <h2>Visual formatting model (1246 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,16 +30,11 @@ <tbody id="s9"> <tr><th colspan="4" scope="rowgroup"> <a href="#s9">+</a> - <a href="https://www.w3.org/TR/CSS21/visuren.html">9 Visual formatting model</a></th></tr> - <!-- 1 tests --> - <tr id="c5526c-display-000-9" class=""> - <td> - <a href="c5526c-display-000.xht">c5526c-display-000</a></td> - <td></td> - <td></td> - <td>display/box/float/clear test - </td> - </tr> + <a href="https://www.w3.org/TR/CSS21/visuren.html#q9.0">9 Visual formatting model</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="s9.#annoying-warning"> + <!-- 0 tests --> </tbody> <tbody id="s9.1"> <tr><th colspan="4" scope="rowgroup"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-A.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-A.xht index 918efb8b096..311d98c1bb4 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-A.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-A.xht @@ -30,7 +30,10 @@ <tbody id="sA"> <tr><th colspan="4" scope="rowgroup"> <a href="#sA">+</a> - <a href="https://www.w3.org/TR/CSS21/aural.html">A Aural style sheets</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/aural.html#q19.0">A Aural style sheets</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sA.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sA.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-B.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-B.xht index 5bc259221d9..fad1b00c46a 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-B.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-B.xht @@ -30,7 +30,10 @@ <tbody id="sB"> <tr><th colspan="4" scope="rowgroup"> <a href="#sB">+</a> - <a href="https://www.w3.org/TR/CSS21/refs.html">B Bibliography</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/refs.html#q20.0">B Bibliography</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sB.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sB.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-C.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-C.xht index da760a656d5..525f0f97da3 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-C.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-C.xht @@ -13,7 +13,7 @@ <body> <h1>CSS 2.1 Conformance Test Suite</h1> - <h2>Changes (5 tests)</h2> + <h2>Changes (0 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -30,7 +30,10 @@ <tbody id="sC"> <tr><th colspan="4" scope="rowgroup"> <a href="#sC">+</a> - <a href="https://www.w3.org/TR/CSS21/changes.html">C Changes</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/changes.html#q21.0">C Changes</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sC.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sC.1"> @@ -45,7 +48,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a4.3.6">C.1.1 Section 4.3.6 Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.1.#q2"> + <tbody id="sC.1.1.#q21.2"> <!-- 0 tests --> </tbody> <tbody id="sC.1.2"> @@ -54,7 +57,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a9.2.4">C.1.2 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.2.#q3"> + <tbody id="sC.1.2.#q21.3"> <!-- 0 tests --> </tbody> <tbody id="sC.1.3"> @@ -63,7 +66,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a12.2">C.1.3 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.3.#q4"> + <tbody id="sC.1.3.#q21.4"> <!-- 0 tests --> </tbody> <tbody id="sC.1.4"> @@ -72,7 +75,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a16.6">C.1.4 Section 16.6 White space: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.4.#q5"> + <tbody id="sC.1.4.#q21.5"> <!-- 0 tests --> </tbody> <tbody id="sC.1.5"> @@ -81,7 +84,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#a18.1">C.1.5 Section 18.1 Cursors: the 'cursor' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.1.5.#q6"> + <tbody id="sC.1.5.#q21.6"> <!-- 0 tests --> </tbody> <tbody id="sC.2"> @@ -96,7 +99,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.1">C.2.1 Section 1.1 CSS 2.1 vs CSS 2</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.1.#q8"> + <tbody id="sC.2.1.#q21.8"> <!-- 0 tests --> </tbody> <tbody id="sC.2.2"> @@ -105,7 +108,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.2">C.2.2 Section 1.2 Reading the specification</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.2.#q9"> + <tbody id="sC.2.2.#q21.9"> <!-- 0 tests --> </tbody> <tbody id="sC.2.3"> @@ -114,7 +117,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.3">C.2.3 Section 1.3 How the specification is organized</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.3.#q10"> + <tbody id="sC.2.3.#q21.10"> <!-- 0 tests --> </tbody> <tbody id="sC.2.4"> @@ -123,7 +126,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.2.1">C.2.4 Section 1.4.2.1 Value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.4.#q11"> + <tbody id="sC.2.4.#q21.11"> <!-- 0 tests --> </tbody> <tbody id="sC.2.5"> @@ -132,7 +135,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.2.6">C.2.5 Section 1.4.2.6 Media groups</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.5.#q12"> + <tbody id="sC.2.5.#q21.12"> <!-- 0 tests --> </tbody> <tbody id="sC.2.6"> @@ -141,7 +144,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.2.7">C.2.6 Section 1.4.2.7 Computed value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.6.#q13"> + <tbody id="sC.2.6.#q21.13"> <!-- 0 tests --> </tbody> <tbody id="sC.2.7"> @@ -150,7 +153,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.4.4">C.2.7 Section 1.4.4 Notes and examples</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.7.#q14"> + <tbody id="sC.2.7.#q21.14"> <!-- 0 tests --> </tbody> <tbody id="sC.2.8"> @@ -159,7 +162,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c1.5">C.2.8 Section 1.5 Acknowledgments</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.8.#q15"> + <tbody id="sC.2.8.#q21.15"> <!-- 0 tests --> </tbody> <tbody id="sC.2.9"> @@ -168,7 +171,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c3.2">C.2.9 Section 3.2 Conformance</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.9.#q16"> + <tbody id="sC.2.9.#q21.16"> <!-- 0 tests --> </tbody> <tbody id="sC.2.10"> @@ -177,7 +180,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c3.3">C.2.10 Section 3.3 Error Conditions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.10.#q17"> + <tbody id="sC.2.10.#q21.17"> <!-- 0 tests --> </tbody> <tbody id="sC.2.11"> @@ -186,7 +189,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.1.1">C.2.11 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.11.#q18"> + <tbody id="sC.2.11.#q21.18"> <!-- 0 tests --> </tbody> <tbody id="sC.2.11.#underscore"> @@ -198,7 +201,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.1.3">C.2.12 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.12.#q19"> + <tbody id="sC.2.12.#q21.19"> <!-- 0 tests --> </tbody> <tbody id="sC.2.13"> @@ -207,7 +210,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.2">C.2.13 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.13.#q20"> + <tbody id="sC.2.13.#q21.20"> <!-- 0 tests --> </tbody> <tbody id="sC.2.14"> @@ -216,7 +219,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3">C.2.14 Section 4.3 Values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.14.#q21"> + <tbody id="sC.2.14.#q21.21"> <!-- 0 tests --> </tbody> <tbody id="sC.2.15"> @@ -225,7 +228,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.2">C.2.15 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.15.#q22"> + <tbody id="sC.2.15.#q21.22"> <!-- 0 tests --> </tbody> <tbody id="sC.2.16"> @@ -234,7 +237,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.4">C.2.16 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.16.#q23"> + <tbody id="sC.2.16.#q21.23"> <!-- 0 tests --> </tbody> <tbody id="sC.2.17"> @@ -243,7 +246,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.5">C.2.17 Section 4.3.5 Counters</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.17.#q24"> + <tbody id="sC.2.17.#q21.24"> <!-- 0 tests --> </tbody> <tbody id="sC.2.18"> @@ -252,7 +255,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.6">C.2.18 Section 4.3.6 Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.18.#q25"> + <tbody id="sC.2.18.#q21.25"> <!-- 0 tests --> </tbody> <tbody id="sC.2.19"> @@ -261,7 +264,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.3.8">C.2.19 Section 4.3.8 Unsupported Values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.19.#q26"> + <tbody id="sC.2.19.#q21.26"> <!-- 0 tests --> </tbody> <tbody id="sC.2.20"> @@ -270,7 +273,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c4.4">C.2.20 Section 4.4 CSS style sheet representation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.20.#q27"> + <tbody id="sC.2.20.#q21.27"> <!-- 0 tests --> </tbody> <tbody id="sC.2.21"> @@ -279,7 +282,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.8.1">C.2.21 Section 5.8.1 Matching attributes and attribute values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.21.#q28"> + <tbody id="sC.2.21.#q21.28"> <!-- 0 tests --> </tbody> <tbody id="sC.2.22"> @@ -288,7 +291,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.8.3">C.2.22 Section 5.8.3 Class selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.22.#q29"> + <tbody id="sC.2.22.#q21.29"> <!-- 0 tests --> </tbody> <tbody id="sC.2.23"> @@ -297,7 +300,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.9">C.2.23 Section 5.9 ID selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.23.#q30"> + <tbody id="sC.2.23.#q21.30"> <!-- 0 tests --> </tbody> <tbody id="sC.2.24"> @@ -306,7 +309,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.10">C.2.24 Section 5.10 Pseudo-elements and pseudo-classes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.24.#q31"> + <tbody id="sC.2.24.#q21.31"> <!-- 0 tests --> </tbody> <tbody id="sC.2.25"> @@ -315,7 +318,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.11.2">C.2.25 Section 5.11.2 The link pseudo-classes: :link and :visited</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.25.#q32"> + <tbody id="sC.2.25.#q21.32"> <!-- 0 tests --> </tbody> <tbody id="sC.2.26"> @@ -324,7 +327,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.11.4">C.2.26 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.26.#q33"> + <tbody id="sC.2.26.#q21.33"> <!-- 0 tests --> </tbody> <tbody id="sC.2.27"> @@ -333,7 +336,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.12.1">C.2.27 Section 5.12.1 The :first-line pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.27.#q34"> + <tbody id="sC.2.27.#q21.34"> <!-- 0 tests --> </tbody> <tbody id="sC.2.28"> @@ -342,7 +345,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c5.12.2">C.2.28 Section 5.12.2 The :first-letter pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.28.#q35"> + <tbody id="sC.2.28.#q21.35"> <!-- 0 tests --> </tbody> <tbody id="sC.2.29"> @@ -351,7 +354,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.1">C.2.29 Section 6.1 Specified, computed, and actual values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.29.#q36"> + <tbody id="sC.2.29.#q21.36"> <!-- 0 tests --> </tbody> <tbody id="sC.2.30"> @@ -360,7 +363,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.4.1">C.2.30 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.30.#q37"> + <tbody id="sC.2.30.#q21.37"> <!-- 0 tests --> </tbody> <tbody id="sC.2.31"> @@ -369,7 +372,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.4.3">C.2.31 Section 6.4.3 Calculating a selector's specificity</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.31.#q38"> + <tbody id="sC.2.31.#q21.38"> <!-- 0 tests --> </tbody> <tbody id="sC.2.32"> @@ -378,7 +381,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c6.4.4">C.2.32 Section 6.4.4 Precedence of non-CSS presentational hints</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.32.#q39"> + <tbody id="sC.2.32.#q21.39"> <!-- 0 tests --> </tbody> <tbody id="sC.2.33"> @@ -387,7 +390,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c7.3">C.2.33 Section 7.3 Recognized Media Types</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.33.#q40"> + <tbody id="sC.2.33.#q21.40"> <!-- 0 tests --> </tbody> <tbody id="sC.2.34"> @@ -396,7 +399,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c7.3.1">C.2.34 Section 7.3.1 Media Groups</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.34.#q41"> + <tbody id="sC.2.34.#q21.41"> <!-- 0 tests --> </tbody> <tbody id="sC.2.35"> @@ -405,7 +408,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.3">C.2.35 Section 8.3 Margin properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.35.#q42"> + <tbody id="sC.2.35.#q21.42"> <!-- 0 tests --> </tbody> <tbody id="sC.2.36"> @@ -414,7 +417,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.3.1">C.2.36 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.36.#q43"> + <tbody id="sC.2.36.#q21.43"> <!-- 0 tests --> </tbody> <tbody id="sC.2.37"> @@ -423,7 +426,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.4">C.2.37 Section 8.4 Padding properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.37.#q44"> + <tbody id="sC.2.37.#q21.44"> <!-- 0 tests --> </tbody> <tbody id="sC.2.38"> @@ -432,7 +435,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.5.2">C.2.38 Section 8.5.2 Border color</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.38.#q45"> + <tbody id="sC.2.38.#q21.45"> <!-- 0 tests --> </tbody> <tbody id="sC.2.39"> @@ -441,7 +444,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.5.3">C.2.39 Section 8.5.3 Border style</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.39.#q46"> + <tbody id="sC.2.39.#q21.46"> <!-- 0 tests --> </tbody> <tbody id="sC.2.40"> @@ -450,7 +453,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c8.6">C.2.40 Section 8.6 The box model for inline elements in bidirectional context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.40.#q47"> + <tbody id="sC.2.40.#q21.47"> <!-- 0 tests --> </tbody> <tbody id="sC.2.41"> @@ -459,7 +462,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.1.2">C.2.41 Section 9.1.2 Containing blocks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.41.#q48"> + <tbody id="sC.2.41.#q21.48"> <!-- 0 tests --> </tbody> <tbody id="sC.2.42"> @@ -468,7 +471,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.1.1">C.2.42 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.42.#q49"> + <tbody id="sC.2.42.#q21.49"> <!-- 0 tests --> </tbody> <tbody id="sC.2.43"> @@ -477,7 +480,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.2.1">C.2.43 Section 9.2.2.1 Anonymous inline boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.43.#q50"> + <tbody id="sC.2.43.#q21.50"> <!-- 0 tests --> </tbody> <tbody id="sC.2.44"> @@ -486,7 +489,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.3">C.2.44 Section 9.2.3 Run-in boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.44.#q51"> + <tbody id="sC.2.44.#q21.51"> <!-- 0 tests --> </tbody> <tbody id="sC.2.45"> @@ -495,7 +498,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.2.4">C.2.45 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.45.#q52"> + <tbody id="sC.2.45.#q21.52"> <!-- 0 tests --> </tbody> <tbody id="sC.2.46"> @@ -504,7 +507,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.3.1">C.2.46 Section 9.3.1 Choosing a positioning scheme</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.46.#q53"> + <tbody id="sC.2.46.#q21.53"> <!-- 0 tests --> </tbody> <tbody id="sC.2.47"> @@ -513,7 +516,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.3.2">C.2.47 Section 9.3.2 Box offsets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.47.#q54"> + <tbody id="sC.2.47.#q21.54"> <!-- 0 tests --> </tbody> <tbody id="sC.2.48"> @@ -522,7 +525,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.4.1">C.2.48 Section 9.4.1 Block formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.48.#q55"> + <tbody id="sC.2.48.#q21.55"> <!-- 0 tests --> </tbody> <tbody id="sC.2.49"> @@ -531,7 +534,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.4.2">C.2.49 Section 9.4.2 Inline formatting context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.49.#q56"> + <tbody id="sC.2.49.#q21.56"> <!-- 0 tests --> </tbody> <tbody id="sC.2.50"> @@ -540,7 +543,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.4.3">C.2.50 Section 9.4.3 Relative positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.50.#q57"> + <tbody id="sC.2.50.#q21.57"> <!-- 0 tests --> </tbody> <tbody id="sC.2.51"> @@ -549,7 +552,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.5">C.2.51 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.51.#q58"> + <tbody id="sC.2.51.#q21.58"> <!-- 0 tests --> </tbody> <tbody id="sC.2.52"> @@ -558,7 +561,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.5.1">C.2.52 Section 9.5.1 Positioning the float</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.52.#q59"> + <tbody id="sC.2.52.#q21.59"> <!-- 0 tests --> </tbody> <tbody id="sC.2.53"> @@ -567,7 +570,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.5.2">C.2.53 Section 9.5.2 Controlling flow next to floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.53.#q60"> + <tbody id="sC.2.53.#q21.60"> <!-- 0 tests --> </tbody> <tbody id="sC.2.54"> @@ -576,7 +579,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.7">C.2.54 Section 9.7 Relationships between 'display', 'position', and 'float'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.54.#q61"> + <tbody id="sC.2.54.#q21.61"> <!-- 0 tests --> </tbody> <tbody id="sC.2.55"> @@ -585,7 +588,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.9">C.2.55 Section 9.9 Layered presentation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.55.#q62"> + <tbody id="sC.2.55.#q21.62"> <!-- 0 tests --> </tbody> <tbody id="sC.2.56"> @@ -594,7 +597,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c9.10">C.2.56 Section 9.10 Text direction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.56.#q63"> + <tbody id="sC.2.56.#q21.63"> <!-- 0 tests --> </tbody> <tbody id="sC.2.57"> @@ -603,7 +606,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10">C.2.57 Chapter 10 Visual formatting model details</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.57.#q64"> + <tbody id="sC.2.57.#q21.64"> <!-- 0 tests --> </tbody> <tbody id="sC.2.58"> @@ -615,7 +618,7 @@ <tbody id="sC.2.58.#initial-containing-block"> <!-- 0 tests --> </tbody> - <tbody id="sC.2.58.#q65"> + <tbody id="sC.2.58.#q21.65"> <!-- 0 tests --> </tbody> <tbody id="sC.2.59"> @@ -624,7 +627,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.2">C.2.59 Section 10.2 Content width</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.59.#q66"> + <tbody id="sC.2.59.#q21.66"> <!-- 0 tests --> </tbody> <tbody id="sC.2.60"> @@ -633,7 +636,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3">C.2.60 Section 10.3 Calculating widths and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.60.#q67"> + <tbody id="sC.2.60.#q21.67"> <!-- 0 tests --> </tbody> <tbody id="sC.2.61"> @@ -642,7 +645,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.2">C.2.61 Section 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.61.#q68"> + <tbody id="sC.2.61.#q21.68"> <!-- 0 tests --> </tbody> <tbody id="sC.2.62"> @@ -651,7 +654,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.3">C.2.62 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.62.#q69"> + <tbody id="sC.2.62.#q21.69"> <!-- 0 tests --> </tbody> <tbody id="sC.2.63"> @@ -660,7 +663,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.4">C.2.63 Section 10.3.4 Block-level, replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.63.#q70"> + <tbody id="sC.2.63.#q21.70"> <!-- 0 tests --> </tbody> <tbody id="sC.2.64"> @@ -669,7 +672,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.5">C.2.64 Section 10.3.5 Floating, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.64.#q71"> + <tbody id="sC.2.64.#q21.71"> <!-- 0 tests --> </tbody> <tbody id="sC.2.65"> @@ -678,7 +681,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.6">C.2.65 Section 10.3.6 Floating, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.65.#q72"> + <tbody id="sC.2.65.#q21.72"> <!-- 0 tests --> </tbody> <tbody id="sC.2.66"> @@ -687,7 +690,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.7">C.2.66 Section 10.3.7 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.66.#q73"> + <tbody id="sC.2.66.#q21.73"> <!-- 0 tests --> </tbody> <tbody id="sC.2.67"> @@ -696,7 +699,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.3.8">C.2.67 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.67.#q74"> + <tbody id="sC.2.67.#q21.74"> <!-- 0 tests --> </tbody> <tbody id="sC.2.68"> @@ -705,7 +708,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.4">C.2.68 Section 10.4 Minimum and maximum widths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.68.#q75"> + <tbody id="sC.2.68.#q21.75"> <!-- 0 tests --> </tbody> <tbody id="sC.2.69"> @@ -714,7 +717,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.5">C.2.69 Section 10.5 Content height</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.69.#q76"> + <tbody id="sC.2.69.#q21.76"> <!-- 0 tests --> </tbody> <tbody id="sC.2.70"> @@ -723,7 +726,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6">C.2.70 Section 10.6 Calculating heights and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.70.#q77"> + <tbody id="sC.2.70.#q21.77"> <!-- 0 tests --> </tbody> <tbody id="sC.2.71"> @@ -732,7 +735,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.1">C.2.71 Section 10.6.1 Inline, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.71.#q78"> + <tbody id="sC.2.71.#q21.78"> <!-- 0 tests --> </tbody> <tbody id="sC.2.72"> @@ -741,7 +744,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.2">C.2.72 Section 10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.72.#q79"> + <tbody id="sC.2.72.#q21.79"> <!-- 0 tests --> </tbody> <tbody id="sC.2.73"> @@ -750,7 +753,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.3">C.2.73 Section 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.73.#q80"> + <tbody id="sC.2.73.#q21.80"> <!-- 0 tests --> </tbody> <tbody id="sC.2.74"> @@ -759,7 +762,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.4">C.2.74 Section 10.6.4 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.74.#q81"> + <tbody id="sC.2.74.#q21.81"> <!-- 0 tests --> </tbody> <tbody id="sC.2.75"> @@ -768,7 +771,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.6.5">C.2.75 Section 10.6.5 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.75.#q82"> + <tbody id="sC.2.75.#q21.82"> <!-- 0 tests --> </tbody> <tbody id="sC.2.76"> @@ -777,7 +780,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.7">C.2.76 Section 10.7 Minimum and maximum heights</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.76.#q83"> + <tbody id="sC.2.76.#q21.83"> <!-- 0 tests --> </tbody> <tbody id="sC.2.77"> @@ -786,7 +789,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.8">C.2.77 Section 10.8 Line height calculations</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.77.#q84"> + <tbody id="sC.2.77.#q21.84"> <!-- 0 tests --> </tbody> <tbody id="sC.2.78"> @@ -795,7 +798,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c10.8.1">C.2.78 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.78.#q85"> + <tbody id="sC.2.78.#q21.85"> <!-- 0 tests --> </tbody> <tbody id="sC.2.79"> @@ -804,7 +807,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.1">C.2.79 Section 11.1 Overflow and clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.79.#q86"> + <tbody id="sC.2.79.#q21.86"> <!-- 0 tests --> </tbody> <tbody id="sC.2.80"> @@ -813,7 +816,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.1.1">C.2.80 Section 11.1.1 Overflow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.80.#q87"> + <tbody id="sC.2.80.#q21.87"> <!-- 0 tests --> </tbody> <tbody id="sC.2.81"> @@ -822,7 +825,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.1.2">C.2.81 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.81.#q88"> + <tbody id="sC.2.81.#q21.88"> <!-- 0 tests --> </tbody> <tbody id="sC.2.82"> @@ -831,7 +834,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c11.2">C.2.82 Section 11.2 Visibility</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.82.#q89"> + <tbody id="sC.2.82.#q21.89"> <!-- 0 tests --> </tbody> <tbody id="sC.2.83"> @@ -840,7 +843,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12">C.2.83 Chapter 12 Generated content, automatic numbering, and lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.83.#q90"> + <tbody id="sC.2.83.#q21.90"> <!-- 0 tests --> </tbody> <tbody id="sC.2.84"> @@ -849,7 +852,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.1">C.2.84 Section 12.1 The :before and :after pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.84.#q91"> + <tbody id="sC.2.84.#q21.91"> <!-- 0 tests --> </tbody> <tbody id="sC.2.85"> @@ -858,7 +861,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.2">C.2.85 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.85.#q92"> + <tbody id="sC.2.85.#q21.92"> <!-- 0 tests --> </tbody> <tbody id="sC.2.86"> @@ -867,7 +870,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.3.2">C.2.86 Section 12.3.2 Inserting quotes with the 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.86.#q93"> + <tbody id="sC.2.86.#q21.93"> <!-- 0 tests --> </tbody> <tbody id="sC.2.87"> @@ -876,7 +879,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.4">C.2.87 Section 12.4 Automatic counters and numbering</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.87.#q94"> + <tbody id="sC.2.87.#q21.94"> <!-- 0 tests --> </tbody> <tbody id="sC.2.88"> @@ -885,7 +888,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.4.1">C.2.88 Section 12.4.1 Nested counters and scope</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.88.#q95"> + <tbody id="sC.2.88.#q21.95"> <!-- 0 tests --> </tbody> <tbody id="sC.2.89"> @@ -894,7 +897,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.5">C.2.89 Section 12.5 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.89.#q96"> + <tbody id="sC.2.89.#q21.96"> <!-- 0 tests --> </tbody> <tbody id="sC.2.90"> @@ -903,7 +906,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c12.5.1">C.2.90 Section 12.5.1 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.90.#q97"> + <tbody id="sC.2.90.#q21.97"> <!-- 0 tests --> </tbody> <tbody id="sC.2.91"> @@ -912,7 +915,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.1">C.2.91 Chapter 13 Paged media</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.91.#q98"> + <tbody id="sC.2.91.#q21.98"> <!-- 0 tests --> </tbody> <tbody id="sC.2.92"> @@ -921,7 +924,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.2.2">C.2.92 Section 13.2.2 Page selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.92.#q99"> + <tbody id="sC.2.92.#q21.99"> <!-- 0 tests --> </tbody> <tbody id="sC.2.93"> @@ -930,7 +933,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.3.1">C.2.93 Section 13.3.1 Page break properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.93.#q100"> + <tbody id="sC.2.93.#q21.100"> <!-- 0 tests --> </tbody> <tbody id="sC.2.94"> @@ -939,7 +942,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c13.3.3">C.2.94 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.94.#q101"> + <tbody id="sC.2.94.#q21.101"> <!-- 0 tests --> </tbody> <tbody id="sC.2.95"> @@ -948,7 +951,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c14.2.1">C.2.95 Section 14.2.1 Background properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.95.#q102"> + <tbody id="sC.2.95.#q21.102"> <!-- 0 tests --> </tbody> <tbody id="sC.2.96"> @@ -957,7 +960,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c14.3">C.2.96 Section 14.3 Gamma correction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.96.#q103"> + <tbody id="sC.2.96.#q21.103"> <!-- 0 tests --> </tbody> <tbody id="sC.2.97"> @@ -966,7 +969,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15">C.2.97 Chapter 15 Fonts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.97.#q104"> + <tbody id="sC.2.97.#q21.104"> <!-- 0 tests --> </tbody> <tbody id="sC.2.98"> @@ -975,7 +978,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.2">C.2.98 Section 15.2 Font matching algorithm</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.98.#q105"> + <tbody id="sC.2.98.#q21.105"> <!-- 0 tests --> </tbody> <tbody id="sC.2.99"> @@ -984,7 +987,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.3">C.2.99 Section 15.2.2 Font family</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.99.#q106"> + <tbody id="sC.2.99.#q21.106"> <!-- 0 tests --> </tbody> <tbody id="sC.2.100"> @@ -993,7 +996,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.5">C.2.100 Section 15.5 Small-caps</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.100.#q107"> + <tbody id="sC.2.100.#q21.107"> <!-- 0 tests --> </tbody> <tbody id="sC.2.101"> @@ -1002,7 +1005,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.6">C.2.101 Section 15.6 Font boldness</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.101.#q108"> + <tbody id="sC.2.101.#q21.108"> <!-- 0 tests --> </tbody> <tbody id="sC.2.102"> @@ -1011,7 +1014,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c15.7">C.2.102 Section 15.7 Font size</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.102.#q109"> + <tbody id="sC.2.102.#q21.109"> <!-- 0 tests --> </tbody> <tbody id="sC.2.103"> @@ -1020,7 +1023,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16">C.2.103 Chapter 16 Text</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.103.#q110"> + <tbody id="sC.2.103.#q21.110"> <!-- 0 tests --> </tbody> <tbody id="sC.2.104"> @@ -1029,7 +1032,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.2">C.2.104 Section 16.2 Alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.104.#q111"> + <tbody id="sC.2.104.#q21.111"> <!-- 0 tests --> </tbody> <tbody id="sC.2.105"> @@ -1038,7 +1041,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.3.1">C.2.105 Section 16.3.1 Underlining, over lining, striking, and blinking</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.105.#q112"> + <tbody id="sC.2.105.#q21.112"> <!-- 0 tests --> </tbody> <tbody id="sC.2.106"> @@ -1047,7 +1050,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.4">C.2.106 Section 16.4 Letter and word spacing</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.106.#q113"> + <tbody id="sC.2.106.#q21.113"> <!-- 0 tests --> </tbody> <tbody id="sC.2.107"> @@ -1056,7 +1059,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.5">C.2.107 Section 16.5 Capitalization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.107.#q114"> + <tbody id="sC.2.107.#q21.114"> <!-- 0 tests --> </tbody> <tbody id="sC.2.108"> @@ -1065,7 +1068,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c16.6">C.2.108 Section 16.6 White space</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.108.#q115"> + <tbody id="sC.2.108.#q21.115"> <!-- 0 tests --> </tbody> <tbody id="sC.2.109"> @@ -1074,7 +1077,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17">C.2.109 Chapter 17 Tables</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.109.#q116"> + <tbody id="sC.2.109.#q21.116"> <!-- 0 tests --> </tbody> <tbody id="sC.2.110"> @@ -1083,7 +1086,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.2">C.2.110 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.110.#q117"> + <tbody id="sC.2.110.#q21.117"> <!-- 0 tests --> </tbody> <tbody id="sC.2.111"> @@ -1092,7 +1095,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.2.1">C.2.111 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.111.#q118"> + <tbody id="sC.2.111.#q21.118"> <!-- 0 tests --> </tbody> <tbody id="sC.2.112"> @@ -1101,7 +1104,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.4">C.2.112 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.112.#q119"> + <tbody id="sC.2.112.#q21.119"> <!-- 0 tests --> </tbody> <tbody id="sC.2.113"> @@ -1110,7 +1113,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.4.1">C.2.113 Section 17.4.1 Caption position and alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.113.#q120"> + <tbody id="sC.2.113.#q21.120"> <!-- 0 tests --> </tbody> <tbody id="sC.2.114"> @@ -1119,7 +1122,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5">C.2.114 Section 17.5 Visual layout of table contents</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.114.#q121"> + <tbody id="sC.2.114.#q21.121"> <!-- 0 tests --> </tbody> <tbody id="sC.2.115"> @@ -1128,7 +1131,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.1">C.2.115 Section 17.5.1 Table layers and transparency</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.115.#q122"> + <tbody id="sC.2.115.#q21.122"> <!-- 0 tests --> </tbody> <tbody id="sC.2.116"> @@ -1137,7 +1140,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.2.1">C.2.116 Section 17.5.2.1 Fixed table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.116.#q123"> + <tbody id="sC.2.116.#q21.123"> <!-- 0 tests --> </tbody> <tbody id="sC.2.117"> @@ -1146,7 +1149,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.2.2">C.2.117 Section 17.5.2.2 Automatic table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.117.#q124"> + <tbody id="sC.2.117.#q21.124"> <!-- 0 tests --> </tbody> <tbody id="sC.2.118"> @@ -1155,7 +1158,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.3">C.2.118 Section 17.5.3 Table height algorithms</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.118.#q125"> + <tbody id="sC.2.118.#q21.125"> <!-- 0 tests --> </tbody> <tbody id="sC.2.119"> @@ -1164,7 +1167,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.5.4">C.2.119 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.119.#q126"> + <tbody id="sC.2.119.#q21.126"> <!-- 0 tests --> </tbody> <tbody id="sC.2.120"> @@ -1173,7 +1176,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6">C.2.120 Section 17.6 Borders</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.120.#q127"> + <tbody id="sC.2.120.#q21.127"> <!-- 0 tests --> </tbody> <tbody id="sC.2.121"> @@ -1182,7 +1185,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.1">C.2.121 Section 17.6.1 The separated borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.121.#q128"> + <tbody id="sC.2.121.#q21.128"> <!-- 0 tests --> </tbody> <tbody id="sC.2.122"> @@ -1191,7 +1194,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.1.1">C.2.122 Section 17.6.1.1 Borders and Backgrounds around empty cells</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.122.#q129"> + <tbody id="sC.2.122.#q21.129"> <!-- 0 tests --> </tbody> <tbody id="sC.2.123"> @@ -1200,7 +1203,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.2">C.2.123 Section 17.6.2 The collapsing border model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.123.#q130"> + <tbody id="sC.2.123.#q21.130"> <!-- 0 tests --> </tbody> <tbody id="sC.2.124"> @@ -1209,7 +1212,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c17.6.2.1">C.2.124 Section 17.6.2.1 Border conflict resolution</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.124.#q131"> + <tbody id="sC.2.124.#q21.131"> <!-- 0 tests --> </tbody> <tbody id="sC.2.125"> @@ -1218,7 +1221,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c18.1">C.2.125 Section 18.1 Cursors: the 'cursor' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.125.#q132"> + <tbody id="sC.2.125.#q21.132"> <!-- 0 tests --> </tbody> <tbody id="sC.2.126"> @@ -1227,7 +1230,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#c18.4">C.2.126 Section 18.4 Dynamic outlines</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.126.#q133"> + <tbody id="sC.2.126.#q21.133"> <!-- 0 tests --> </tbody> <tbody id="sC.2.127"> @@ -1236,7 +1239,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s-12">C.2.127 Chapter 12 Generated content, automatic numbering, and lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.127.#q134"> + <tbody id="sC.2.127.#q21.134"> <!-- 0 tests --> </tbody> <tbody id="sC.2.128"> @@ -1245,7 +1248,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA">C.2.128 Appendix A. Aural style sheets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.128.#q135"> + <tbody id="sC.2.128.#q21.135"> <!-- 0 tests --> </tbody> <tbody id="sC.2.129"> @@ -1254,7 +1257,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA.5">C.2.129 Appendix A Section 5 Pause properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.129.#q136"> + <tbody id="sC.2.129.#q21.136"> <!-- 0 tests --> </tbody> <tbody id="sC.2.130"> @@ -1263,7 +1266,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA.6">C.2.130 Appendix A Section 6 Cue properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.130.#q137"> + <tbody id="sC.2.130.#q21.137"> <!-- 0 tests --> </tbody> <tbody id="sC.2.131"> @@ -1272,7 +1275,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cA.7">C.2.131 Appendix A Section 7 Mixing properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.131.#q138"> + <tbody id="sC.2.131.#q21.138"> <!-- 0 tests --> </tbody> <tbody id="sC.2.132"> @@ -1281,7 +1284,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#cB">C.2.132 Appendix B Bibliography</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.132.#q139"> + <tbody id="sC.2.132.#q21.139"> <!-- 0 tests --> </tbody> <tbody id="sC.2.133"> @@ -1290,7 +1293,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#other">C.2.133 Other</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.2.133.#q140"> + <tbody id="sC.2.133.#q21.140"> <!-- 0 tests --> </tbody> <tbody id="sC.3"> @@ -1305,19 +1308,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x-shorthand-inherit">C.3.1 Shorthand properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.1.#q142"> - <!-- 1 tests --> - <tr id="font-045-C.3.1.#q142" class="ahem invalid"> - <td> - <a href="font-045.xht">font-045</a></td> - <td></td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td> - <td>font - inherit keyword value - <ul class="assert"> - <li>The inherit keyword value cannot mix with other subproperty values</li> - </ul> - </td> - </tr> + <tbody id="sC.3.1.#q21.142"> + <!-- 0 tests --> </tbody> <tbody id="sC.3.2"> <tr><th colspan="4" scope="rowgroup"> @@ -1325,7 +1317,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x-applies-table">C.3.2 Applies to</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.2.#q143"> + <tbody id="sC.3.2.#q21.143"> <!-- 0 tests --> </tbody> <tbody id="sC.3.3"> @@ -1334,7 +1326,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.1.1">C.3.3 Section 4.1.1 (and G2)</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.3.#q144"> + <tbody id="sC.3.3.#q21.144"> <!-- 0 tests --> </tbody> <tbody id="sC.3.4"> @@ -1343,7 +1335,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.1.3">C.3.4 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.4.#q145"> + <tbody id="sC.3.4.#q21.145"> <!-- 0 tests --> </tbody> <tbody id="sC.3.5"> @@ -1352,7 +1344,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3">C.3.5 Section 4.3 (Double sign problem)</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.5.#q146"> + <tbody id="sC.3.5.#q21.146"> <!-- 0 tests --> </tbody> <tbody id="sC.3.6"> @@ -1361,7 +1353,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.2">C.3.6 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.6.#q147"> + <tbody id="sC.3.6.#q21.147"> <!-- 0 tests --> </tbody> <tbody id="sC.3.7"> @@ -1370,7 +1362,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.3">C.3.7 Section 4.3.3 Percentages</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.7.#q148"> + <tbody id="sC.3.7.#q21.148"> <!-- 0 tests --> </tbody> <tbody id="sC.3.8"> @@ -1379,7 +1371,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.4">C.3.8 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.8.#q149"> + <tbody id="sC.3.8.#q21.149"> <!-- 0 tests --> </tbody> <tbody id="sC.3.9"> @@ -1388,7 +1380,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.5">C.3.9 Section 4.3.5 Counters</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.9.#q150"> + <tbody id="sC.3.9.#q21.150"> <!-- 0 tests --> </tbody> <tbody id="sC.3.10"> @@ -1397,7 +1389,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.6">C.3.10 Section 4.3.6 Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.10.#q151"> + <tbody id="sC.3.10.#q21.151"> <!-- 0 tests --> </tbody> <tbody id="sC.3.11"> @@ -1406,7 +1398,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x4.3.7">C.3.11 Section 4.3.7 Strings</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.11.#q152"> + <tbody id="sC.3.11.#q21.152"> <!-- 0 tests --> </tbody> <tbody id="sC.3.12"> @@ -1415,7 +1407,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x5.10">C.3.12 Section 5.10 Pseudo-elements and pseudo-classes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.12.#q153"> + <tbody id="sC.3.12.#q21.153"> <!-- 0 tests --> </tbody> <tbody id="sC.3.13"> @@ -1424,7 +1416,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x6.4">C.3.13 Section 6.4 The cascade</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.13.#q154"> + <tbody id="sC.3.13.#q21.154"> <!-- 0 tests --> </tbody> <tbody id="sC.3.14"> @@ -1433,7 +1425,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x8.1">C.3.14 Section 8.1 Box Dimensions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.14.#q155"> + <tbody id="sC.3.14.#q21.155"> <!-- 0 tests --> </tbody> <tbody id="sC.3.15"> @@ -1442,7 +1434,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x8.2">C.3.15 Section 8.2 Example of margins, padding, and borders</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.15.#q156"> + <tbody id="sC.3.15.#q21.156"> <!-- 0 tests --> </tbody> <tbody id="sC.3.16"> @@ -1451,7 +1443,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x8.5.4">C.3.16 Section 8.5.4 Border shorthand properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.16.#q157"> + <tbody id="sC.3.16.#q21.157"> <!-- 0 tests --> </tbody> <tbody id="sC.3.17"> @@ -1460,7 +1452,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.2.1">C.3.17 Section 9.2.1 Block-level elements and block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.17.#q158"> + <tbody id="sC.3.17.#q21.158"> <!-- 0 tests --> </tbody> <tbody id="sC.3.18"> @@ -1469,7 +1461,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.3.1">C.3.18 Section 9.3.1 Choosing a positioning scheme</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.18.#q159"> + <tbody id="sC.3.18.#q21.159"> <!-- 0 tests --> </tbody> <tbody id="sC.3.19"> @@ -1478,7 +1470,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.3.2">C.3.19 Section 9.3.2 Box offsets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.19.#q160"> + <tbody id="sC.3.19.#q21.160"> <!-- 0 tests --> </tbody> <tbody id="sC.3.20"> @@ -1487,7 +1479,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.4.1">C.3.20 Section 9.4.1 Block formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.20.#q161"> + <tbody id="sC.3.20.#q21.161"> <!-- 0 tests --> </tbody> <tbody id="sC.3.21"> @@ -1496,7 +1488,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.4.2">C.3.21 Section 9.4.2 Inline formatting context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.21.#q162"> + <tbody id="sC.3.21.#q21.162"> <!-- 0 tests --> </tbody> <tbody id="sC.3.22"> @@ -1505,7 +1497,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.4.3">C.3.22 Section 9.4.3 Relative positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.22.#q163"> + <tbody id="sC.3.22.#q21.163"> <!-- 0 tests --> </tbody> <tbody id="sC.3.23"> @@ -1514,7 +1506,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.5">C.3.23 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.23.#q164"> + <tbody id="sC.3.23.#q21.164"> <!-- 0 tests --> </tbody> <tbody id="sC.3.24"> @@ -1523,7 +1515,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.5.1">C.3.24 Section 9.5.1 Positioning the float</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.24.#q165"> + <tbody id="sC.3.24.#q21.165"> <!-- 0 tests --> </tbody> <tbody id="sC.3.25"> @@ -1532,7 +1524,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.5.2">C.3.25 Section 9.5.2 Controlling flow next to floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.25.#q166"> + <tbody id="sC.3.25.#q21.166"> <!-- 0 tests --> </tbody> <tbody id="sC.3.26"> @@ -1541,7 +1533,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.6">C.3.26 Section 9.6 Absolute positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.26.#q167"> + <tbody id="sC.3.26.#q21.167"> <!-- 0 tests --> </tbody> <tbody id="sC.3.27"> @@ -1550,7 +1542,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.7">C.3.27 Section 9.7 Relationships between 'display', 'position', and 'float'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.27.#q168"> + <tbody id="sC.3.27.#q21.168"> <!-- 0 tests --> </tbody> <tbody id="sC.3.28"> @@ -1559,7 +1551,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x9.10">C.3.28 Section 9.10 Text direction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.28.#q169"> + <tbody id="sC.3.28.#q21.169"> <!-- 0 tests --> </tbody> <tbody id="sC.3.29"> @@ -1568,7 +1560,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.1">C.3.29 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.29.#q170"> + <tbody id="sC.3.29.#q21.170"> <!-- 0 tests --> </tbody> <tbody id="sC.3.30"> @@ -1577,7 +1569,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.3.3">C.3.30 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.30.#q171"> + <tbody id="sC.3.30.#q21.171"> <!-- 0 tests --> </tbody> <tbody id="sC.3.31"> @@ -1586,7 +1578,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.4">C.3.31 Section 10.4 Minimum and maximum widths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.31.#q172"> + <tbody id="sC.3.31.#q21.172"> <!-- 0 tests --> </tbody> <tbody id="sC.3.32"> @@ -1595,7 +1587,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.6.3">C.3.32 Section 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.32.#q173"> + <tbody id="sC.3.32.#q21.173"> <!-- 0 tests --> </tbody> <tbody id="sC.3.33"> @@ -1604,7 +1596,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x10.7">C.3.33 Section 10.7 Minimum and maximum heights</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.33.#q174"> + <tbody id="sC.3.33.#q21.174"> <!-- 0 tests --> </tbody> <tbody id="sC.3.34"> @@ -1613,7 +1605,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x11.1.1">C.3.34 Section 11.1.1 Overflow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.34.#q175"> + <tbody id="sC.3.34.#q21.175"> <!-- 0 tests --> </tbody> <tbody id="sC.3.35"> @@ -1622,7 +1614,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x11.1.2">C.3.35 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.35.#q176"> + <tbody id="sC.3.35.#q21.176"> <!-- 0 tests --> </tbody> <tbody id="sC.3.36"> @@ -1631,7 +1623,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x11.2">C.3.36 Section 11.2 Visibility</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.36.#q177"> + <tbody id="sC.3.36.#q21.177"> <!-- 0 tests --> </tbody> <tbody id="sC.3.37"> @@ -1640,7 +1632,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x12.4.2">C.3.37 Section 12.4.2 Counter styles</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.37.#q178"> + <tbody id="sC.3.37.#q21.178"> <!-- 0 tests --> </tbody> <tbody id="sC.3.38"> @@ -1649,7 +1641,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x12.6.2">C.3.38 Section 12.6.2 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.38.#q179"> + <tbody id="sC.3.38.#q21.179"> <!-- 0 tests --> </tbody> <tbody id="sC.3.39"> @@ -1658,7 +1650,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x14.2">C.3.39 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.39.#q180"> + <tbody id="sC.3.39.#q21.180"> <!-- 0 tests --> </tbody> <tbody id="sC.3.40"> @@ -1667,7 +1659,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x14.2.1">C.3.40 Section 14.2.1 Background properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.40.#q181"> + <tbody id="sC.3.40.#q21.181"> <!-- 0 tests --> </tbody> <tbody id="sC.3.41"> @@ -1676,7 +1668,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x15.2">C.3.41 Section 15.2 Font matching algorithm</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.41.#q182"> + <tbody id="sC.3.41.#q21.182"> <!-- 0 tests --> </tbody> <tbody id="sC.3.42"> @@ -1685,7 +1677,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x15.7">C.3.42 Section 15.7 Font size</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.42.#q183"> + <tbody id="sC.3.42.#q21.183"> <!-- 0 tests --> </tbody> <tbody id="sC.3.43"> @@ -1694,7 +1686,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x16.1">C.3.43 Section 16.1 Indentation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.43.#q184"> + <tbody id="sC.3.43.#q21.184"> <!-- 0 tests --> </tbody> <tbody id="sC.3.44"> @@ -1703,7 +1695,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x16.2">C.3.44 Section 16.2 Alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.44.#q185"> + <tbody id="sC.3.44.#q21.185"> <!-- 0 tests --> </tbody> <tbody id="sC.3.45"> @@ -1712,7 +1704,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.2">C.3.45 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.45.#q186"> + <tbody id="sC.3.45.#q21.186"> <!-- 0 tests --> </tbody> <tbody id="sC.3.46"> @@ -1721,7 +1713,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.2.1">C.3.46 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.46.#q187"> + <tbody id="sC.3.46.#q21.187"> <!-- 0 tests --> </tbody> <tbody id="sC.3.47"> @@ -1730,7 +1722,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.4">C.3.47 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.47.#q188"> + <tbody id="sC.3.47.#q21.188"> <!-- 0 tests --> </tbody> <tbody id="sC.3.48"> @@ -1739,7 +1731,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.5">C.3.48 Section 17.5 Visual layout of table contents</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.48.#q189"> + <tbody id="sC.3.48.#q21.189"> <!-- 0 tests --> </tbody> <tbody id="sC.3.49"> @@ -1748,7 +1740,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.5.1">C.3.49 Section 17.5.1 Table layers and transparency</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.49.#q190"> + <tbody id="sC.3.49.#q21.190"> <!-- 0 tests --> </tbody> <tbody id="sC.3.50"> @@ -1757,7 +1749,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x17.6.1">C.3.50 Section 17.6.1 The separated borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.50.#q191"> + <tbody id="sC.3.50.#q21.191"> <!-- 0 tests --> </tbody> <tbody id="sC.3.51"> @@ -1766,7 +1758,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#x18.2">C.3.51 Section 18.2 System Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.51.#q192"> + <tbody id="sC.3.51.#q21.192"> <!-- 0 tests --> </tbody> <tbody id="sC.3.52"> @@ -1775,7 +1767,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#xE.2">C.3.52 Section E.2 Painting order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.3.52.#q193"> + <tbody id="sC.3.52.#q21.193"> <!-- 0 tests --> </tbody> <tbody id="sC.4"> @@ -1790,7 +1782,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r2.1">C.4.1 Section 2.1 A brief CSS 2.1 tutorial for HTML</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.1.#q195"> + <tbody id="sC.4.1.#q21.195"> <!-- 0 tests --> </tbody> <tbody id="sC.4.2"> @@ -1799,7 +1791,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r2.2">C.4.2 Section 2.2 A brief CSS 2.1 tutorial for XML</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.2.#q196"> + <tbody id="sC.4.2.#q21.196"> <!-- 0 tests --> </tbody> <tbody id="sC.4.3"> @@ -1808,7 +1800,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r2.3">C.4.3 Section 2.3 The CSS 2.1 processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.3.#q197"> + <tbody id="sC.4.3.#q21.197"> <!-- 0 tests --> </tbody> <tbody id="sC.4.4"> @@ -1817,7 +1809,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r3.1">C.4.4 Section 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.4.#q198"> + <tbody id="sC.4.4.#q21.198"> <!-- 0 tests --> </tbody> <tbody id="sC.4.5"> @@ -1826,7 +1818,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1">C.4.5 Section 4.1 Syntax</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.5.#q199"> + <tbody id="sC.4.5.#q21.199"> <!-- 0 tests --> </tbody> <tbody id="sC.4.6"> @@ -1835,7 +1827,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1.1">C.4.6 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.6.#q200"> + <tbody id="sC.4.6.#q21.200"> <!-- 0 tests --> </tbody> <tbody id="sC.4.7"> @@ -1844,7 +1836,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1.3">C.4.7 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.7.#q201"> + <tbody id="sC.4.7.#q21.201"> <!-- 0 tests --> </tbody> <tbody id="sC.4.8"> @@ -1853,7 +1845,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.1.7">C.4.8 Section 4.1.7 Rule sets, declaration blocks, and selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.8.#q202"> + <tbody id="sC.4.8.#q21.202"> <!-- 0 tests --> </tbody> <tbody id="sC.4.9"> @@ -1862,7 +1854,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.2">C.4.9 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.9.#q203"> + <tbody id="sC.4.9.#q21.203"> <!-- 0 tests --> </tbody> <tbody id="sC.4.10"> @@ -1871,7 +1863,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.3.1">C.4.10 Section 4.3.1 Integers and real numbers</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.10.#q204"> + <tbody id="sC.4.10.#q21.204"> <!-- 0 tests --> </tbody> <tbody id="sC.4.11"> @@ -1880,7 +1872,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.3.2">C.4.11 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.11.#q205"> + <tbody id="sC.4.11.#q21.205"> <!-- 0 tests --> </tbody> <tbody id="sC.4.12"> @@ -1889,7 +1881,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r4.3.4">C.4.12 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.12.#q206"> + <tbody id="sC.4.12.#q21.206"> <!-- 0 tests --> </tbody> <tbody id="sC.4.13"> @@ -1898,7 +1890,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.1">C.4.13 Section 5.1 Pattern matching</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.13.#q207"> + <tbody id="sC.4.13.#q21.207"> <!-- 0 tests --> </tbody> <tbody id="sC.4.14"> @@ -1907,7 +1899,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.7">C.4.14 Section 5.7 Adjacent sibling selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.14.#q208"> + <tbody id="sC.4.14.#q21.208"> <!-- 0 tests --> </tbody> <tbody id="sC.4.15"> @@ -1916,7 +1908,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.8.1">C.4.15 Section 5.8.1 Matching attributes and attribute values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.15.#q209"> + <tbody id="sC.4.15.#q21.209"> <!-- 0 tests --> </tbody> <tbody id="sC.4.16"> @@ -1925,7 +1917,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.8.2">C.4.16 Section 5.8.2 Default attribute values in DTDs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.16.#q210"> + <tbody id="sC.4.16.#q21.210"> <!-- 0 tests --> </tbody> <tbody id="sC.4.17"> @@ -1934,7 +1926,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.9">C.4.17 Section 5.9 ID selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.17.#q211"> + <tbody id="sC.4.17.#q21.211"> <!-- 0 tests --> </tbody> <tbody id="sC.4.18"> @@ -1943,7 +1935,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.11.3">C.4.18 Section 5.11.3 The dynamic pseudo-classes: :hover, :active, and :focus</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.18.#q212"> + <tbody id="sC.4.18.#q21.212"> <!-- 0 tests --> </tbody> <tbody id="sC.4.19"> @@ -1952,7 +1944,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.11.4">C.4.19 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.19.#q213"> + <tbody id="sC.4.19.#q21.213"> <!-- 0 tests --> </tbody> <tbody id="sC.4.20"> @@ -1961,7 +1953,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r5.12.2">C.4.20 Section 5.12.2 The :first-letter pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.20.#q214"> + <tbody id="sC.4.20.#q21.214"> <!-- 0 tests --> </tbody> <tbody id="sC.4.21"> @@ -1970,7 +1962,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.2">C.4.21 Section 6.2 Inheritance</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.21.#q215"> + <tbody id="sC.4.21.#q21.215"> <!-- 0 tests --> </tbody> <tbody id="sC.4.22"> @@ -1979,7 +1971,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.2.1">C.4.22 Section 6.2.1 The 'inherit' value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.22.#q216"> + <tbody id="sC.4.22.#q21.216"> <!-- 0 tests --> </tbody> <tbody id="sC.4.23"> @@ -1988,7 +1980,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.3">C.4.23 Section 6.3 The @import rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.23.#q217"> + <tbody id="sC.4.23.#q21.217"> <!-- 0 tests --> </tbody> <tbody id="sC.4.24"> @@ -1997,7 +1989,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.4">C.4.24 Section 6.4 The Cascade</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.24.#q218"> + <tbody id="sC.4.24.#q21.218"> <!-- 0 tests --> </tbody> <tbody id="sC.4.25"> @@ -2006,7 +1998,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.4.1">C.4.25 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.25.#q219"> + <tbody id="sC.4.25.#q21.219"> <!-- 0 tests --> </tbody> <tbody id="sC.4.26"> @@ -2015,7 +2007,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r6.4.3">C.4.26 Section 6.4.3 Calculating a selector's specificity</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.26.#q220"> + <tbody id="sC.4.26.#q21.220"> <!-- 0 tests --> </tbody> <tbody id="sC.4.27"> @@ -2024,7 +2016,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r7.2.1">C.4.27 Section 7.2.1 The @media rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.27.#q221"> + <tbody id="sC.4.27.#q21.221"> <!-- 0 tests --> </tbody> <tbody id="sC.4.28"> @@ -2033,7 +2025,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r7.3">C.4.28 Section 7.3 Recognized media types</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.28.#q222"> + <tbody id="sC.4.28.#q21.222"> <!-- 0 tests --> </tbody> <tbody id="sC.4.29"> @@ -2042,7 +2034,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r7.3.1">C.4.29 Section 7.3.1 Media groups</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.29.#q223"> + <tbody id="sC.4.29.#q21.223"> <!-- 0 tests --> </tbody> <tbody id="sC.4.30"> @@ -2051,7 +2043,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.1">C.4.30 Section 8.1 Box dimensions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.30.#q224"> + <tbody id="sC.4.30.#q21.224"> <!-- 0 tests --> </tbody> <tbody id="sC.4.31"> @@ -2060,7 +2052,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.3">C.4.31 Section 8.3 Margin properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.31.#q225"> + <tbody id="sC.4.31.#q21.225"> <!-- 0 tests --> </tbody> <tbody id="sC.4.32"> @@ -2069,7 +2061,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.3.1">C.4.32 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.32.#q226"> + <tbody id="sC.4.32.#q21.226"> <!-- 0 tests --> </tbody> <tbody id="sC.4.33"> @@ -2078,7 +2070,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r8.5.3">C.4.33 Section 8.5.3 Border style</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.33.#q227"> + <tbody id="sC.4.33.#q21.227"> <!-- 0 tests --> </tbody> <tbody id="sC.4.34"> @@ -2087,7 +2079,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.1.1">C.4.34 Section 9.1.1 The viewport</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.34.#q228"> + <tbody id="sC.4.34.#q21.228"> <!-- 0 tests --> </tbody> <tbody id="sC.4.35"> @@ -2096,7 +2088,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.2.4">C.4.35 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.35.#q229"> + <tbody id="sC.4.35.#q21.229"> <!-- 0 tests --> </tbody> <tbody id="sC.4.36"> @@ -2105,7 +2097,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.3.1">C.4.36 Section 9.3.1 Choosing a positioning scheme</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.36.#q230"> + <tbody id="sC.4.36.#q21.230"> <!-- 0 tests --> </tbody> <tbody id="sC.4.37"> @@ -2114,7 +2106,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.3.2">C.4.37 Section 9.3.2 Box offsets</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.37.#q231"> + <tbody id="sC.4.37.#q21.231"> <!-- 0 tests --> </tbody> <tbody id="sC.4.38"> @@ -2123,7 +2115,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.4.2">C.4.38 Section 9.4.2 Inline formatting context</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.38.#q232"> + <tbody id="sC.4.38.#q21.232"> <!-- 0 tests --> </tbody> <tbody id="sC.4.39"> @@ -2132,7 +2124,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.4.3">C.4.39 Section 9.4.3 Relative positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.39.#q233"> + <tbody id="sC.4.39.#q21.233"> <!-- 0 tests --> </tbody> <tbody id="sC.4.40"> @@ -2141,7 +2133,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.5">C.4.40 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.40.#q234"> + <tbody id="sC.4.40.#q21.234"> <!-- 0 tests --> </tbody> <tbody id="sC.4.41"> @@ -2150,7 +2142,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.5.1">C.4.41 Section 9.5.1 Positioning the float</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.41.#q235"> + <tbody id="sC.4.41.#q21.235"> <!-- 0 tests --> </tbody> <tbody id="sC.4.42"> @@ -2159,7 +2151,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.5.2">C.4.42 Section 9.5.2 Controlling flow next to floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.42.#q236"> + <tbody id="sC.4.42.#q21.236"> <!-- 0 tests --> </tbody> <tbody id="sC.4.43"> @@ -2168,7 +2160,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r9.8">C.4.43 Section 9.8 Comparison of normal flow, floats, and absolute positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.43.#q237"> + <tbody id="sC.4.43.#q21.237"> <!-- 0 tests --> </tbody> <tbody id="sC.4.44"> @@ -2177,7 +2169,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.1">C.4.44 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.44.#q238"> + <tbody id="sC.4.44.#q21.238"> <!-- 0 tests --> </tbody> <tbody id="sC.4.45"> @@ -2186,7 +2178,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.2">C.4.45 Section 10.2 Content width</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.45.#q239"> + <tbody id="sC.4.45.#q21.239"> <!-- 0 tests --> </tbody> <tbody id="sC.4.46"> @@ -2195,7 +2187,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.3.3">C.4.46 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.46.#q240"> + <tbody id="sC.4.46.#q21.240"> <!-- 0 tests --> </tbody> <tbody id="sC.4.47"> @@ -2204,7 +2196,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.3.8">C.4.47 Section 10.3.8 Absolutely positioning, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.47.#q241"> + <tbody id="sC.4.47.#q21.241"> <!-- 0 tests --> </tbody> <tbody id="sC.4.48"> @@ -2213,7 +2205,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.4">C.4.48 Section 10.4 Minimum and maximum widths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.48.#q242"> + <tbody id="sC.4.48.#q21.242"> <!-- 0 tests --> </tbody> <tbody id="sC.4.49"> @@ -2222,7 +2214,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.6.1">C.4.49 Section 10.6 Calculating heights and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.49.#q243"> + <tbody id="sC.4.49.#q21.243"> <!-- 0 tests --> </tbody> <tbody id="sC.4.50"> @@ -2231,7 +2223,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.7">C.4.50 Section 10.7 Minimum and maximum heights</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.50.#q244"> + <tbody id="sC.4.50.#q21.244"> <!-- 0 tests --> </tbody> <tbody id="sC.4.51"> @@ -2240,7 +2232,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.8">C.4.51 Section 10.8 Line height calculations</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.51.#q245"> + <tbody id="sC.4.51.#q21.245"> <!-- 0 tests --> </tbody> <tbody id="sC.4.52"> @@ -2249,7 +2241,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r10.8.1">C.4.52 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.52.#q246"> + <tbody id="sC.4.52.#q21.246"> <!-- 0 tests --> </tbody> <tbody id="sC.4.53"> @@ -2258,7 +2250,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.1">C.4.53 Section 11.1 Overflow and clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.53.#q247"> + <tbody id="sC.4.53.#q21.247"> <!-- 0 tests --> </tbody> <tbody id="sC.4.54"> @@ -2267,7 +2259,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.1.1">C.4.54 Section 11.1.1 Overflow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.54.#q248"> + <tbody id="sC.4.54.#q21.248"> <!-- 0 tests --> </tbody> <tbody id="sC.4.55"> @@ -2276,7 +2268,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.1.2">C.4.55 Section 11.1.2 Clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.55.#q249"> + <tbody id="sC.4.55.#q21.249"> <!-- 0 tests --> </tbody> <tbody id="sC.4.56"> @@ -2285,19 +2277,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r11.2">C.4.56 Section 11.2 Visibility</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.56.#q250"> - <!-- 1 tests --> - <tr id="visibility-005-C.4.56.#q250" class="ahem"> - <td> - <a href="visibility-005.xht">visibility-005</a></td> - <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td> - <td>visibility - descendants of a 'visibility: hidden' element - <ul class="assert"> - <li>Descendants of a 'visibility: hidden' element will be visible if they have 'visibility: visible'</li> - </ul> - </td> - </tr> + <tbody id="sC.4.56.#q21.250"> + <!-- 0 tests --> </tbody> <tbody id="sC.4.57"> <tr><th colspan="4" scope="rowgroup"> @@ -2305,7 +2286,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.1">C.4.57 Section 12.1 The :before and :after pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.57.#q251"> + <tbody id="sC.4.57.#q21.251"> <!-- 0 tests --> </tbody> <tbody id="sC.4.58"> @@ -2314,7 +2295,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.2">C.4.58 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.58.#q252"> + <tbody id="sC.4.58.#q21.252"> <!-- 0 tests --> </tbody> <tbody id="sC.4.59"> @@ -2323,7 +2304,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.3.2">C.4.59 Section 12.3.2 Inserting quotes with the 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.59.#q253"> + <tbody id="sC.4.59.#q21.253"> <!-- 0 tests --> </tbody> <tbody id="sC.4.60"> @@ -2332,7 +2313,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.4">C.4.60 Section 12.4 Automatic counters and numbering</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.60.#q254"> + <tbody id="sC.4.60.#q21.254"> <!-- 0 tests --> </tbody> <tbody id="sC.4.61"> @@ -2341,7 +2322,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r12.4.3">C.4.61 Section 12.4.3 Counters in elements with 'display: none'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.61.#q255"> + <tbody id="sC.4.61.#q21.255"> <!-- 0 tests --> </tbody> <tbody id="sC.4.62"> @@ -2350,7 +2331,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r14.2">C.4.62 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.62.#q256"> + <tbody id="sC.4.62.#q21.256"> <!-- 0 tests --> </tbody> <tbody id="sC.4.63"> @@ -2359,7 +2340,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.1">C.4.63 Section 15.1 Fonts Introduction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.63.#q257"> + <tbody id="sC.4.63.#q21.257"> <!-- 0 tests --> </tbody> <tbody id="sC.4.64"> @@ -2368,7 +2349,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.2">C.4.64 Section 15.2 Font matching algorithm</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.64.#q258"> + <tbody id="sC.4.64.#q21.258"> <!-- 0 tests --> </tbody> <tbody id="sC.4.65"> @@ -2377,7 +2358,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.3">C.4.65 Section 15.2.2 Font family</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.65.#q259"> + <tbody id="sC.4.65.#q21.259"> <!-- 0 tests --> </tbody> <tbody id="sC.4.66"> @@ -2386,7 +2367,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.3.1">C.4.66 Section 15.3.1 Generic font families</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.66.#q260"> + <tbody id="sC.4.66.#q21.260"> <!-- 0 tests --> </tbody> <tbody id="sC.4.67"> @@ -2395,7 +2376,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.4">C.4.67 Section 15.4 Font styling</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.67.#q261"> + <tbody id="sC.4.67.#q21.261"> <!-- 0 tests --> </tbody> <tbody id="sC.4.68"> @@ -2404,7 +2385,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.5">C.4.68 Section 15.5 Small-caps</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.68.#q262"> + <tbody id="sC.4.68.#q21.262"> <!-- 0 tests --> </tbody> <tbody id="sC.4.69"> @@ -2413,7 +2394,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.6">C.4.69 Section 15.6 Font boldness</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.69.#q263"> + <tbody id="sC.4.69.#q21.263"> <!-- 0 tests --> </tbody> <tbody id="sC.4.70"> @@ -2422,7 +2403,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r15.7">C.4.70 Section 15.7 Font size</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.70.#q264"> + <tbody id="sC.4.70.#q21.264"> <!-- 0 tests --> </tbody> <tbody id="sC.4.71"> @@ -2431,7 +2412,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.1">C.4.71 Section 16.1 Indentation</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.71.#q265"> + <tbody id="sC.4.71.#q21.265"> <!-- 0 tests --> </tbody> <tbody id="sC.4.72"> @@ -2440,7 +2421,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.2">C.4.72 Section 16.2 Alignment</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.72.#q266"> + <tbody id="sC.4.72.#q21.266"> <!-- 0 tests --> </tbody> <tbody id="sC.4.73"> @@ -2449,7 +2430,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.3.1">C.4.73 Section 16.3.1 Underlining, over lining, striking, and blinking</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.73.#q267"> + <tbody id="sC.4.73.#q21.267"> <!-- 0 tests --> </tbody> <tbody id="sC.4.74"> @@ -2458,7 +2439,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.5">C.4.74 Section 16.5 Capitalization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.74.#q268"> + <tbody id="sC.4.74.#q21.268"> <!-- 0 tests --> </tbody> <tbody id="sC.4.75"> @@ -2467,7 +2448,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r16.6">C.4.75 Section 16.6 White space</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.75.#q269"> + <tbody id="sC.4.75.#q21.269"> <!-- 0 tests --> </tbody> <tbody id="sC.4.76"> @@ -2476,7 +2457,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.1">C.4.76 Section 17.1 Introduction to tables</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.76.#q270"> + <tbody id="sC.4.76.#q21.270"> <!-- 0 tests --> </tbody> <tbody id="sC.4.77"> @@ -2485,7 +2466,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.2">C.4.77 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.77.#q271"> + <tbody id="sC.4.77.#q21.271"> <!-- 0 tests --> </tbody> <tbody id="sC.4.78"> @@ -2494,7 +2475,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.2.1">C.4.78 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.78.#q272"> + <tbody id="sC.4.78.#q21.272"> <!-- 0 tests --> </tbody> <tbody id="sC.4.79"> @@ -2503,7 +2484,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.4">C.4.79 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.79.#q273"> + <tbody id="sC.4.79.#q21.273"> <!-- 0 tests --> </tbody> <tbody id="sC.4.80"> @@ -2512,7 +2493,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5">C.4.80 Section 17.5 Visual layout of table contents</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.80.#q274"> + <tbody id="sC.4.80.#q21.274"> <!-- 0 tests --> </tbody> <tbody id="sC.4.81"> @@ -2521,7 +2502,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.1">C.4.81 Section 17.5.1 Table layers and transparency</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.81.#q275"> + <tbody id="sC.4.81.#q21.275"> <!-- 0 tests --> </tbody> <tbody id="sC.4.82"> @@ -2530,7 +2511,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.2">C.4.82 Section 17.5.2 Table width algorithms</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.82.#q276"> + <tbody id="sC.4.82.#q21.276"> <!-- 0 tests --> </tbody> <tbody id="sC.4.83"> @@ -2539,7 +2520,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.2.1">C.4.83 Section 17.5.2.1 Fixed table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.83.#q277"> + <tbody id="sC.4.83.#q21.277"> <!-- 0 tests --> </tbody> <tbody id="sC.4.84"> @@ -2548,7 +2529,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.2.2">C.4.84 Section 17.5.2.2 Automatic table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.84.#q278"> + <tbody id="sC.4.84.#q21.278"> <!-- 0 tests --> </tbody> <tbody id="sC.4.85"> @@ -2557,7 +2538,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.4">C.4.85 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.85.#q279"> + <tbody id="sC.4.85.#q21.279"> <!-- 0 tests --> </tbody> <tbody id="sC.4.86"> @@ -2566,7 +2547,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.5.5">C.4.86 Section 17.5.5 Dynamic row and column effects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.86.#q280"> + <tbody id="sC.4.86.#q21.280"> <!-- 0 tests --> </tbody> <tbody id="sC.4.87"> @@ -2575,7 +2556,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.6.1">C.4.87 Section 17.6.1 The separated borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.87.#q281"> + <tbody id="sC.4.87.#q21.281"> <!-- 0 tests --> </tbody> <tbody id="sC.4.88"> @@ -2584,7 +2565,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r17.6.2">C.4.88 Section 17.6.2 The collapsing borders model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.88.#q282"> + <tbody id="sC.4.88.#q21.282"> <!-- 0 tests --> </tbody> <tbody id="sC.4.89"> @@ -2593,7 +2574,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r18.2">C.4.89 Section 18.2 System Colors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.89.#q283"> + <tbody id="sC.4.89.#q21.283"> <!-- 0 tests --> </tbody> <tbody id="sC.4.90"> @@ -2602,7 +2583,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r18.4">C.4.90 Section 18.4 Dynamic outlines</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.90.#q284"> + <tbody id="sC.4.90.#q21.284"> <!-- 0 tests --> </tbody> <tbody id="sC.4.91"> @@ -2611,7 +2592,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#r18.4.1">C.4.91 Section 18.4.1 Outlines and the focus</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.91.#q285"> + <tbody id="sC.4.91.#q21.285"> <!-- 0 tests --> </tbody> <tbody id="sC.4.92"> @@ -2620,7 +2601,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#rD">C.4.92 Appendix D Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.4.92.#q286"> + <tbody id="sC.4.92.#q21.286"> <!-- 0 tests --> </tbody> <tbody id="sC.5"> @@ -2635,7 +2616,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.1.4.2.1">C.5.1 Section 1.4.2.1 Value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.1.#q288"> + <tbody id="sC.5.1.#q21.288"> <!-- 0 tests --> </tbody> <tbody id="sC.5.2"> @@ -2644,7 +2625,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.2.3">C.5.2 Section 2.3 The CSS 2.1 processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.2.#q289"> + <tbody id="sC.5.2.#q21.289"> <!-- 0 tests --> </tbody> <tbody id="sC.5.3"> @@ -2653,7 +2634,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.3.1">C.5.3 Section 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.3.#q290"> + <tbody id="sC.5.3.#q21.290"> <!-- 0 tests --> </tbody> <tbody id="sC.5.4"> @@ -2662,7 +2643,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.1">C.5.4 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.4.#q291"> + <tbody id="sC.5.4.#q21.291"> <!-- 0 tests --> </tbody> <tbody id="sC.5.5"> @@ -2671,7 +2652,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.2.2">C.5.5 Section 4.1.2.2 Informative Historical Notes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.5.#q292"> + <tbody id="sC.5.5.#q21.292"> <!-- 0 tests --> </tbody> <tbody id="sC.5.6"> @@ -2680,7 +2661,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3">C.5.6 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.6.#q293"> + <tbody id="sC.5.6.#q21.293"> <!-- 0 tests --> </tbody> <tbody id="sC.5.7"> @@ -2689,7 +2670,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3a">C.5.7 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.7.#q294"> + <tbody id="sC.5.7.#q21.294"> <!-- 0 tests --> </tbody> <tbody id="sC.5.8"> @@ -2698,7 +2679,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3b">C.5.8 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.8.#q295"> + <tbody id="sC.5.8.#q21.295"> <!-- 0 tests --> </tbody> <tbody id="sC.5.9"> @@ -2707,7 +2688,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.3c">C.5.9 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.9.#q296"> + <tbody id="sC.5.9.#q21.296"> <!-- 0 tests --> </tbody> <tbody id="sC.5.10"> @@ -2716,7 +2697,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.5">C.5.10 Section 4.1.5 At-rules</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.10.#q297"> + <tbody id="sC.5.10.#q21.297"> <!-- 0 tests --> </tbody> <tbody id="sC.5.11"> @@ -2725,7 +2706,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.1.7">C.5.11 Section 4.1.7 Rule sets, declaration blocks, and selectors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.11.#q298"> + <tbody id="sC.5.11.#q21.298"> <!-- 0 tests --> </tbody> <tbody id="sC.5.12"> @@ -2734,7 +2715,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.2">C.5.12 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.12.#q299"> + <tbody id="sC.5.12.#q21.299"> <!-- 0 tests --> </tbody> <tbody id="sC.5.13"> @@ -2743,7 +2724,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.2a">C.5.13 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.13.#q300"> + <tbody id="sC.5.13.#q21.300"> <!-- 0 tests --> </tbody> <tbody id="sC.5.14"> @@ -2752,7 +2733,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.3.2">C.5.14 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.14.#q301"> + <tbody id="sC.5.14.#q21.301"> <!-- 0 tests --> </tbody> <tbody id="sC.5.15"> @@ -2761,7 +2742,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.3.5">C.5.15 Section 4.3.5 Counters</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.15.#q302"> + <tbody id="sC.5.15.#q21.302"> <!-- 0 tests --> </tbody> <tbody id="sC.5.16"> @@ -2770,7 +2751,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.8.1">C.5.16 Section 5.8.1 Matching attributes and attribute values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.16.#q303"> + <tbody id="sC.5.16.#q21.303"> <!-- 0 tests --> </tbody> <tbody id="sC.5.17"> @@ -2779,7 +2760,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.8.2">C.5.17 Section 5.8.2 Default attribute values in DTDs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.17.#q304"> + <tbody id="sC.5.17.#q21.304"> <!-- 0 tests --> </tbody> <tbody id="sC.5.18"> @@ -2788,7 +2769,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.11.4">C.5.18 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.18.#q305"> + <tbody id="sC.5.18.#q21.305"> <!-- 0 tests --> </tbody> <tbody id="sC.5.19"> @@ -2797,7 +2778,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.5.12.3">C.5.19 Section 5.12.3 The :before and :after pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.19.#q306"> + <tbody id="sC.5.19.#q21.306"> <!-- 0 tests --> </tbody> <tbody id="sC.5.20"> @@ -2806,7 +2787,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.3">C.5.20 Section 6.3 The @import rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.20.#q307"> + <tbody id="sC.5.20.#q21.307"> <!-- 0 tests --> </tbody> <tbody id="sC.5.21"> @@ -2815,7 +2796,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.3a">C.5.21 Section 6.3 The @import rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.21.#q308"> + <tbody id="sC.5.21.#q21.308"> <!-- 0 tests --> </tbody> <tbody id="sC.5.22"> @@ -2824,7 +2805,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.4.1">C.5.22 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.22.#q309"> + <tbody id="sC.5.22.#q21.309"> <!-- 0 tests --> </tbody> <tbody id="sC.5.23"> @@ -2833,7 +2814,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.6.4.1a">C.5.23 Section 6.4.1 Cascading order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.23.#q310"> + <tbody id="sC.5.23.#q21.310"> <!-- 0 tests --> </tbody> <tbody id="sC.5.24"> @@ -2842,7 +2823,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.7.2.1">C.5.24 Section 7.2.1 The @media rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.24.#q311"> + <tbody id="sC.5.24.#q21.311"> <!-- 0 tests --> </tbody> <tbody id="sC.5.25"> @@ -2851,7 +2832,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.8.3.1">C.5.25 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.25.#q312"> + <tbody id="sC.5.25.#q21.312"> <!-- 0 tests --> </tbody> <tbody id="sC.5.26"> @@ -2860,30 +2841,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.8.3.1a">C.5.26 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.26.#q313"> - <!-- 2 tests --> - <tr id="margin-collapse-037-C.5.26.#q313" class=""> - <td> - <a href="margin-collapse-037.xht">margin-collapse-037</a></td> - <td><a href="reference/margin-collapse-037-ref.xht">=</a> </td> - <td></td> - <td>Collapsing margins - margin-bottom of the last in-flow child block collapsing with its parent min-height block's bottom margin - <ul class="assert"> - <li>The 'min-height' of a parent block element should have no influence over whether such parent block element's bottom margin is adjoining to its last child's bottom margin. In such situation, the bottom margin of the parent block element and the bottom margin of its last child should collapse as long as such parent block element has no bottom padding and has no bottom border.</li> - </ul> - </td> - </tr> - <tr id="margin-collapse-038-C.5.26.#q313" class=""> - <td> - <a href="margin-collapse-038.xht">margin-collapse-038</a></td> - <td><a href="reference/margin-collapse-038-ref.xht">=</a> </td> - <td></td> - <td>Collapsing margins - margin-bottom of the last in-flow child block collapsing with its max-height parent block's bottom margin - <ul class="assert"> - <li>The 'max-height' of a parent block element should have no influence over whether such parent block element's bottom margin is adjoining to its last child's bottom margin. In such situation, the bottom margin of the parent block element and the bottom margin of its last child should collapse as long as such parent block element has no bottom padding and has no bottom border.</li> - </ul> - </td> - </tr> + <tbody id="sC.5.26.#q21.313"> + <!-- 0 tests --> </tbody> <tbody id="sC.5.27"> <tr><th colspan="4" scope="rowgroup"> @@ -2891,7 +2850,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.8.3.1b">C.5.27 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.27.#q314"> + <tbody id="sC.5.27.#q21.314"> <!-- 0 tests --> </tbody> <tbody id="sC.5.28"> @@ -2900,7 +2859,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.2.2">C.5.28 Section 9.2.2 Inline-level elements and inline boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.28.#q315"> + <tbody id="sC.5.28.#q21.315"> <!-- 0 tests --> </tbody> <tbody id="sC.5.29"> @@ -2909,7 +2868,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.2.4">C.5.29 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.29.#q316"> + <tbody id="sC.5.29.#q21.316"> <!-- 0 tests --> </tbody> <tbody id="sC.5.30"> @@ -2918,7 +2877,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.3.2">C.5.30 Section 9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.30.#q317"> + <tbody id="sC.5.30.#q21.317"> <!-- 0 tests --> </tbody> <tbody id="sC.5.31"> @@ -2927,7 +2886,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.5">C.5.31 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.31.#q318"> + <tbody id="sC.5.31.#q21.318"> <!-- 0 tests --> </tbody> <tbody id="sC.5.32"> @@ -2936,7 +2895,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.5a">C.5.32 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.32.#q319"> + <tbody id="sC.5.32.#q21.319"> <!-- 0 tests --> </tbody> <tbody id="sC.5.33"> @@ -2945,7 +2904,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.5.2">C.5.33 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.33.#q320"> + <tbody id="sC.5.33.#q21.320"> <!-- 0 tests --> </tbody> <tbody id="sC.5.34"> @@ -2954,7 +2913,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.6.1">C.5.34 Section 9.6.1 Fixed positioning</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.34.#q321"> + <tbody id="sC.5.34.#q21.321"> <!-- 0 tests --> </tbody> <tbody id="sC.5.35"> @@ -2963,7 +2922,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.9.9.1">C.5.35 Section 9.9.1 Specifying the stack level: the 'z-index' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.35.#q322"> + <tbody id="sC.5.35.#q21.322"> <!-- 0 tests --> </tbody> <tbody id="sC.5.36"> @@ -2972,7 +2931,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.1">C.5.36 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.36.#q323"> + <tbody id="sC.5.36.#q21.323"> <!-- 0 tests --> </tbody> <tbody id="sC.5.37"> @@ -2981,7 +2940,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3">C.5.37 Section 10.3 Calculating widths and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.37.#q324"> + <tbody id="sC.5.37.#q21.324"> <!-- 0 tests --> </tbody> <tbody id="sC.5.38"> @@ -2990,7 +2949,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.1">C.5.38 Section 10.3.1 Inline, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.38.#q325"> + <tbody id="sC.5.38.#q21.325"> <!-- 0 tests --> </tbody> <tbody id="sC.5.39"> @@ -2999,7 +2958,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.2">C.5.39 Section 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.39.#q326"> + <tbody id="sC.5.39.#q21.326"> <!-- 0 tests --> </tbody> <tbody id="sC.5.40"> @@ -3008,7 +2967,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.2a">C.5.40 Section 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.40.#q327"> + <tbody id="sC.5.40.#q21.327"> <!-- 0 tests --> </tbody> <tbody id="sC.5.41"> @@ -3017,7 +2976,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.3">C.5.41 Section 10.3.3 Block-level, non-replaced elements in normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.41.#q328"> + <tbody id="sC.5.41.#q21.328"> <!-- 0 tests --> </tbody> <tbody id="sC.5.42"> @@ -3026,7 +2985,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.7">C.5.42 Section 10.3.7 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.42.#q329"> + <tbody id="sC.5.42.#q21.329"> <!-- 0 tests --> </tbody> <tbody id="sC.5.43"> @@ -3035,7 +2994,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.7a">C.5.43 Section 10.3.7 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.43.#q330"> + <tbody id="sC.5.43.#q21.330"> <!-- 0 tests --> </tbody> <tbody id="sC.5.44"> @@ -3044,7 +3003,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.8">C.5.44 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.44.#q331"> + <tbody id="sC.5.44.#q21.331"> <!-- 0 tests --> </tbody> <tbody id="sC.5.45"> @@ -3053,7 +3012,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.8a">C.5.45 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.45.#q332"> + <tbody id="sC.5.45.#q21.332"> <!-- 0 tests --> </tbody> <tbody id="sC.5.46"> @@ -3062,7 +3021,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.3.8c">C.5.46 Section 10.3.8 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.46.#q333"> + <tbody id="sC.5.46.#q21.333"> <!-- 0 tests --> </tbody> <tbody id="sC.5.47"> @@ -3071,7 +3030,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.5">C.5.47 Section 10.5 Content height: the 'height' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.47.#q334"> + <tbody id="sC.5.47.#q21.334"> <!-- 0 tests --> </tbody> <tbody id="sC.5.48"> @@ -3080,7 +3039,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.6.2">C.5.48 Section 10.6.2 Inline replaced elements […]</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.48.#q335"> + <tbody id="sC.5.48.#q21.335"> <!-- 0 tests --> </tbody> <tbody id="sC.5.49"> @@ -3089,7 +3048,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.6.4">C.5.49 Section 10.6.4 Absolutely positioned, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.49.#q336"> + <tbody id="sC.5.49.#q21.336"> <!-- 0 tests --> </tbody> <tbody id="sC.5.50"> @@ -3098,7 +3057,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.6.5">C.5.50 Section 10.6.5 Absolutely positioned, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.50.#q337"> + <tbody id="sC.5.50.#q21.337"> <!-- 0 tests --> </tbody> <tbody id="sC.5.51"> @@ -3107,7 +3066,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.10.8.1">C.5.51 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.51.#q338"> + <tbody id="sC.5.51.#q21.338"> <!-- 0 tests --> </tbody> <tbody id="sC.5.52"> @@ -3116,7 +3075,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.11.1.1">C.5.52 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.52.#q339"> + <tbody id="sC.5.52.#q21.339"> <!-- 0 tests --> </tbody> <tbody id="sC.5.53"> @@ -3125,7 +3084,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.11.1.2">C.5.53 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.53.#q340"> + <tbody id="sC.5.53.#q21.340"> <!-- 0 tests --> </tbody> <tbody id="sC.5.54"> @@ -3134,7 +3093,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.2">C.5.54 Section 12.2 The 'content' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.54.#q341"> + <tbody id="sC.5.54.#q21.341"> <!-- 0 tests --> </tbody> <tbody id="sC.5.55"> @@ -3143,7 +3102,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.4.2">C.5.55 Section 12.4.2 Counter styles</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.55.#q342"> + <tbody id="sC.5.55.#q21.342"> <!-- 0 tests --> </tbody> <tbody id="sC.5.56"> @@ -3152,7 +3111,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5">C.5.56 Section 12.5 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.56.#q343"> + <tbody id="sC.5.56.#q21.343"> <!-- 0 tests --> </tbody> <tbody id="sC.5.57"> @@ -3161,7 +3120,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5.1">C.5.57 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.57.#q344"> + <tbody id="sC.5.57.#q21.344"> <!-- 0 tests --> </tbody> <tbody id="sC.5.58"> @@ -3170,7 +3129,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5.1a">C.5.58 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.58.#q345"> + <tbody id="sC.5.58.#q21.345"> <!-- 0 tests --> </tbody> <tbody id="sC.5.59"> @@ -3179,7 +3138,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.12.5.1b">C.5.59 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.59.#q346"> + <tbody id="sC.5.59.#q21.346"> <!-- 0 tests --> </tbody> <tbody id="sC.5.60"> @@ -3188,7 +3147,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.2">C.5.60 Section 13.2 Page boxes: the @page rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.60.#q347"> + <tbody id="sC.5.60.#q21.347"> <!-- 0 tests --> </tbody> <tbody id="sC.5.61"> @@ -3197,7 +3156,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.2.1.1">C.5.61 Section 13.2.1.1 Rendering page boxes that do not fit a target sheet</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.61.#q348"> + <tbody id="sC.5.61.#q21.348"> <!-- 0 tests --> </tbody> <tbody id="sC.5.62"> @@ -3206,7 +3165,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.2.3">C.5.62 Section 13.2.3 Content outside the page box</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.62.#q349"> + <tbody id="sC.5.62.#q21.349"> <!-- 0 tests --> </tbody> <tbody id="sC.5.63"> @@ -3215,7 +3174,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.1">C.5.63 Section 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.63.#q350"> + <tbody id="sC.5.63.#q21.350"> <!-- 0 tests --> </tbody> <tbody id="sC.5.64"> @@ -3224,7 +3183,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.1a">C.5.64 Section 13.3.1 Page break properties: 'page-break-before', 'page-break-after', 'page-break-inside'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.64.#q351"> + <tbody id="sC.5.64.#q21.351"> <!-- 0 tests --> </tbody> <tbody id="sC.5.65"> @@ -3233,7 +3192,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.2">C.5.65 Section 13.3.2 Breaks inside elements: 'orphans', 'widows'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.65.#q352"> + <tbody id="sC.5.65.#q21.352"> <!-- 0 tests --> </tbody> <tbody id="sC.5.66"> @@ -3242,7 +3201,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.2a">C.5.66 Section 13.3.2 Breaks inside elements: 'orphans', 'widows'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.66.#q353"> + <tbody id="sC.5.66.#q21.353"> <!-- 0 tests --> </tbody> <tbody id="sC.5.67"> @@ -3251,7 +3210,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3">C.5.67 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.67.#q354"> + <tbody id="sC.5.67.#q21.354"> <!-- 0 tests --> </tbody> <tbody id="sC.5.68"> @@ -3260,7 +3219,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3a">C.5.68 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.68.#q355"> + <tbody id="sC.5.68.#q21.355"> <!-- 0 tests --> </tbody> <tbody id="sC.5.69"> @@ -3269,7 +3228,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3b">C.5.69 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.69.#q356"> + <tbody id="sC.5.69.#q21.356"> <!-- 0 tests --> </tbody> <tbody id="sC.5.70"> @@ -3278,7 +3237,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.5">C.5.70 Section 13.3.5 "Best" page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.70.#q357"> + <tbody id="sC.5.70.#q21.357"> <!-- 0 tests --> </tbody> <tbody id="sC.5.71"> @@ -3287,7 +3246,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.14.2">C.5.71 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.71.#q358"> + <tbody id="sC.5.71.#q21.358"> <!-- 0 tests --> </tbody> <tbody id="sC.5.72"> @@ -3296,7 +3255,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.14.2a">C.5.72 Section 14.2 The background</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.72.#q359"> + <tbody id="sC.5.72.#q21.359"> <!-- 0 tests --> </tbody> <tbody id="sC.5.73"> @@ -3305,7 +3264,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.14.2.1a">C.5.73 Section 14.2.1 Background properties: 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', and 'background'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.73.#q360"> + <tbody id="sC.5.73.#q21.360"> <!-- 0 tests --> </tbody> <tbody id="sC.5.74"> @@ -3314,7 +3273,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.6">C.5.74 Section 15.6 Font boldness: the 'font-weight' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.74.#q361"> + <tbody id="sC.5.74.#q21.361"> <!-- 0 tests --> </tbody> <tbody id="sC.5.75"> @@ -3323,7 +3282,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.16.6">C.5.75 Section 16.6 Whitespace: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.75.#q362"> + <tbody id="sC.5.75.#q21.362"> <!-- 0 tests --> </tbody> <tbody id="sC.5.76"> @@ -3332,19 +3291,8 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.16.6.1">C.5.76 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.76.#q363"> - <!-- 1 tests --> - <tr id="white-space-007-C.5.76.#q363" class="ahem"> - <td> - <a href="white-space-007.xht">white-space-007</a></td> - <td></td> - <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td> - <td>white-space - <ul class="assert"> - <li>'white-space: normal' and 'white-space: nowrap' should collapse sequences of white space. Regarding wrapping, line breaking opportunities are determined on the text prior to white space collapsing steps.</li> - </ul> - </td> - </tr> + <tbody id="sC.5.76.#q21.363"> + <!-- 0 tests --> </tbody> <tbody id="sC.5.77"> <tr><th colspan="4" scope="rowgroup"> @@ -3352,7 +3300,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.2.1">C.5.77 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.77.#q364"> + <tbody id="sC.5.77.#q21.364"> <!-- 0 tests --> </tbody> <tbody id="sC.5.78"> @@ -3361,7 +3309,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.2.1a">C.5.78 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.78.#q365"> + <tbody id="sC.5.78.#q21.365"> <!-- 0 tests --> </tbody> <tbody id="sC.5.79"> @@ -3370,7 +3318,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.4">C.5.79 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.79.#q366"> + <tbody id="sC.5.79.#q21.366"> <!-- 0 tests --> </tbody> <tbody id="sC.5.80"> @@ -3379,7 +3327,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.5.4a">C.5.80 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.80.#q367"> + <tbody id="sC.5.80.#q21.367"> <!-- 0 tests --> </tbody> <tbody id="sC.5.81"> @@ -3388,7 +3336,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.18.1">C.5.81 Section 18.1 Cursors: the 'cursor' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.81.#q368"> + <tbody id="sC.5.81.#q21.368"> <!-- 0 tests --> </tbody> <tbody id="sC.5.82"> @@ -3397,7 +3345,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.B.2">C.5.82 Section B.2 Informative references</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.82.#q369"> + <tbody id="sC.5.82.#q21.369"> <!-- 0 tests --> </tbody> <tbody id="sC.5.83"> @@ -3406,7 +3354,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.D">C.5.83 Appendix D. Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.83.#q370"> + <tbody id="sC.5.83.#q21.370"> <!-- 0 tests --> </tbody> <tbody id="sC.5.84"> @@ -3415,7 +3363,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.Da">C.5.84 Appendix D. Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.84.#q371"> + <tbody id="sC.5.84.#q21.371"> <!-- 0 tests --> </tbody> <tbody id="sC.5.85"> @@ -3424,7 +3372,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.E.2">C.5.85 Section E.2 Painting order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.85.#q372"> + <tbody id="sC.5.85.#q21.372"> <!-- 0 tests --> </tbody> <tbody id="sC.5.86"> @@ -3433,7 +3381,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G">C.5.86 Appendix G. Grammar of CSS 2.1</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.86.#q373"> + <tbody id="sC.5.86.#q21.373"> <!-- 0 tests --> </tbody> <tbody id="sC.5.87"> @@ -3442,7 +3390,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.1">C.5.87 Section G.1 Grammar</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.87.#q374"> + <tbody id="sC.5.87.#q21.374"> <!-- 0 tests --> </tbody> <tbody id="sC.5.88"> @@ -3451,7 +3399,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2">C.5.88 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.88.#q375"> + <tbody id="sC.5.88.#q21.375"> <!-- 0 tests --> </tbody> <tbody id="sC.5.89"> @@ -3460,7 +3408,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2a">C.5.89 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.89.#q376"> + <tbody id="sC.5.89.#q21.376"> <!-- 0 tests --> </tbody> <tbody id="sC.5.90"> @@ -3469,7 +3417,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2b">C.5.90 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.90.#q377"> + <tbody id="sC.5.90.#q21.377"> <!-- 0 tests --> </tbody> <tbody id="sC.5.91"> @@ -3478,7 +3426,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.G.2c">C.5.91 Section G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.91.#q378"> + <tbody id="sC.5.91.#q21.378"> <!-- 0 tests --> </tbody> <tbody id="sC.5.92"> @@ -3487,7 +3435,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.I">C.5.92 Appendix I. Index</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.5.92.#q379"> + <tbody id="sC.5.92.#q21.379"> <!-- 0 tests --> </tbody> <tbody id="sC.6"> @@ -3502,7 +3450,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.4.2b">C.6.1 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.1.#q381"> + <tbody id="sC.6.1.#q21.381"> <!-- 0 tests --> </tbody> <tbody id="sC.6.2"> @@ -3511,7 +3459,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.13.3.3c">C.6.2 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.2.#q382"> + <tbody id="sC.6.2.#q21.382"> <!-- 0 tests --> </tbody> <tbody id="sC.6.3"> @@ -3520,7 +3468,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.3">C.6.3 Section 15.3 Font family: the 'font-family' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.3.#q383"> + <tbody id="sC.6.3.#q21.383"> <!-- 0 tests --> </tbody> <tbody id="sC.6.4"> @@ -3529,7 +3477,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.3.1.1">C.6.4 Section 15.3.1.1 serif</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.4.#q384"> + <tbody id="sC.6.4.#q21.384"> <!-- 0 tests --> </tbody> <tbody id="sC.6.5"> @@ -3538,7 +3486,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.15.7">C.6.5 Section 15.7 Font size: the 'font-size' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.5.#q385"> + <tbody id="sC.6.5.#q21.385"> <!-- 0 tests --> </tbody> <tbody id="sC.6.6"> @@ -3547,7 +3495,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.5.2.1">C.6.6 Section 17.5.2.1 Fixed table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.6.#q386"> + <tbody id="sC.6.6.#q21.386"> <!-- 0 tests --> </tbody> <tbody id="sC.6.7"> @@ -3556,7 +3504,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.17.5.3">C.6.7 Section 17.5.3 Table height layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.7.#q387"> + <tbody id="sC.6.7.#q21.387"> <!-- 0 tests --> </tbody> <tbody id="sC.6.8"> @@ -3565,7 +3513,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#s.Ga">C.6.8 Appendix G. Grammar of CSS 2.1</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.6.8.#q388"> + <tbody id="sC.6.8.#q21.388"> <!-- 0 tests --> </tbody> <tbody id="sC.7"> @@ -3580,7 +3528,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.1">C.7.1 Section 1.4.2.1 Value</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.1.#q390"> + <tbody id="sC.7.1.#q21.390"> <!-- 0 tests --> </tbody> <tbody id="sC.7.2"> @@ -3589,7 +3537,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.3.1">C.7.2 Section 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.2.#q391"> + <tbody id="sC.7.2.#q21.391"> <!-- 0 tests --> </tbody> <tbody id="sC.7.3"> @@ -3598,7 +3546,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1">C.7.3 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.3.#q392"> + <tbody id="sC.7.3.#q21.392"> <!-- 0 tests --> </tbody> <tbody id="sC.7.4"> @@ -3607,7 +3555,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1a">C.7.4 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.4.#q393"> + <tbody id="sC.7.4.#q21.393"> <!-- 0 tests --> </tbody> <tbody id="sC.7.5"> @@ -3616,7 +3564,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1b">C.7.5 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.5.#q394"> + <tbody id="sC.7.5.#q21.394"> <!-- 0 tests --> </tbody> <tbody id="sC.7.6"> @@ -3625,7 +3573,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.1c">C.7.6 Section 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.6.#q395"> + <tbody id="sC.7.6.#q21.395"> <!-- 0 tests --> </tbody> <tbody id="sC.7.7"> @@ -3634,7 +3582,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.2.2">C.7.7 Section 4.1.2.2 Informative Historical Notes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.7.#q396"> + <tbody id="sC.7.7.#q21.396"> <!-- 0 tests --> </tbody> <tbody id="sC.7.8"> @@ -3643,7 +3591,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.3">C.7.8 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.8.#q397"> + <tbody id="sC.7.8.#q21.397"> <!-- 0 tests --> </tbody> <tbody id="sC.7.9"> @@ -3652,7 +3600,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.3a">C.7.9 Section 4.1.3 Characters and case</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.9.#q398"> + <tbody id="sC.7.9.#q21.398"> <!-- 0 tests --> </tbody> <tbody id="sC.7.10"> @@ -3661,7 +3609,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.1.8">C.7.10 Section 4.1.8 Declarations and properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.10.#q399"> + <tbody id="sC.7.10.#q21.399"> <!-- 0 tests --> </tbody> <tbody id="sC.7.11"> @@ -3670,7 +3618,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.2">C.7.11 Section 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.11.#q400"> + <tbody id="sC.7.11.#q21.400"> <!-- 0 tests --> </tbody> <tbody id="sC.7.12"> @@ -3679,7 +3627,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.2">C.7.12 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.12.#q401"> + <tbody id="sC.7.12.#q21.401"> <!-- 0 tests --> </tbody> <tbody id="sC.7.13"> @@ -3688,7 +3636,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.2a">C.7.13 Section 4.3.2 Lengths</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.13.#q402"> + <tbody id="sC.7.13.#q21.402"> <!-- 0 tests --> </tbody> <tbody id="sC.7.14"> @@ -3697,7 +3645,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.4a">C.7.14 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.14.#q403"> + <tbody id="sC.7.14.#q21.403"> <!-- 0 tests --> </tbody> <tbody id="sC.7.15"> @@ -3706,7 +3654,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.4.3.4">C.7.15 Section 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.15.#q404"> + <tbody id="sC.7.15.#q21.404"> <!-- 0 tests --> </tbody> <tbody id="sC.7.16"> @@ -3715,7 +3663,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.8.2">C.7.16 Section 5.8.2 Default attribute values in DTDs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.16.#q405"> + <tbody id="sC.7.16.#q21.405"> <!-- 0 tests --> </tbody> <tbody id="sC.7.17"> @@ -3724,7 +3672,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.11.4">C.7.17 Section 5.11.4 The language pseudo-class: :lang</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.17.#q406"> + <tbody id="sC.7.17.#q21.406"> <!-- 0 tests --> </tbody> <tbody id="sC.7.18"> @@ -3733,7 +3681,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.12">C.7.18 Section 5.12 Pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.18.#q407"> + <tbody id="sC.7.18.#q21.407"> <!-- 0 tests --> </tbody> <tbody id="sC.7.19"> @@ -3742,7 +3690,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.12.1">C.7.19 Section 5.12.1 The :first-line pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.19.#q408"> + <tbody id="sC.7.19.#q21.408"> <!-- 0 tests --> </tbody> <tbody id="sC.7.20"> @@ -3751,7 +3699,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.5.12.2">C.7.20 Section 5.12.2 The :first-letter pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.20.#q409"> + <tbody id="sC.7.20.#q21.409"> <!-- 0 tests --> </tbody> <tbody id="sC.7.21"> @@ -3760,7 +3708,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.6.2">C.7.21 Section 6.2 Inheritance</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.21.#q410"> + <tbody id="sC.7.21.#q21.410"> <!-- 0 tests --> </tbody> <tbody id="sC.7.22"> @@ -3769,7 +3717,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.6.4.4">C.7.22 Section 6.4.4 Precedence of non-CSS presentational hints</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.22.#q411"> + <tbody id="sC.7.22.#q21.411"> <!-- 0 tests --> </tbody> <tbody id="sC.7.23"> @@ -3778,7 +3726,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.7.3">C.7.23 Section 7.3 Recognized media types</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.23.#q412"> + <tbody id="sC.7.23.#q21.412"> <!-- 0 tests --> </tbody> <tbody id="sC.7.24"> @@ -3787,7 +3735,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.8.3.1">C.7.24 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.24.#q413"> + <tbody id="sC.7.24.#q21.413"> <!-- 0 tests --> </tbody> <tbody id="sC.7.25"> @@ -3796,7 +3744,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.8.3.1a">C.7.25 Section 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.25.#q414"> + <tbody id="sC.7.25.#q21.414"> <!-- 0 tests --> </tbody> <tbody id="sC.7.26"> @@ -3805,7 +3753,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1">C.7.26 Section 9.2.1 Block-level elements and block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.26.#q415"> + <tbody id="sC.7.26.#q21.415"> <!-- 0 tests --> </tbody> <tbody id="sC.7.27"> @@ -3814,7 +3762,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1">C.7.27 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.27.#q416"> + <tbody id="sC.7.27.#q21.416"> <!-- 0 tests --> </tbody> <tbody id="sC.7.28"> @@ -3823,7 +3771,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1a">C.7.28 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.28.#q417"> + <tbody id="sC.7.28.#q21.417"> <!-- 0 tests --> </tbody> <tbody id="sC.7.29"> @@ -3832,7 +3780,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1b">C.7.29 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.29.#q418"> + <tbody id="sC.7.29.#q21.418"> <!-- 0 tests --> </tbody> <tbody id="sC.7.30"> @@ -3841,7 +3789,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.1.1c">C.7.30 Section 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.30.#q419"> + <tbody id="sC.7.30.#q21.419"> <!-- 0 tests --> </tbody> <tbody id="sC.7.31"> @@ -3850,7 +3798,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.2">C.7.31 Section 9.2.2 Inline-level elements and inline boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.31.#q420"> + <tbody id="sC.7.31.#q21.420"> <!-- 0 tests --> </tbody> <tbody id="sC.7.32"> @@ -3859,7 +3807,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.3a">C.7.32 Section 9.2.3 Run-in boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.32.#q421"> + <tbody id="sC.7.32.#q21.421"> <!-- 0 tests --> </tbody> <tbody id="sC.7.33"> @@ -3868,7 +3816,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.4">C.7.33 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.33.#q422"> + <tbody id="sC.7.33.#q21.422"> <!-- 0 tests --> </tbody> <tbody id="sC.7.34"> @@ -3877,7 +3825,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.2.4a">C.7.34 Section 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.34.#q423"> + <tbody id="sC.7.34.#q21.423"> <!-- 0 tests --> </tbody> <tbody id="sC.7.35"> @@ -3886,7 +3834,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.3">C.7.35 Section 9.3 Positioning schemes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.35.#q424"> + <tbody id="sC.7.35.#q21.424"> <!-- 0 tests --> </tbody> <tbody id="sC.7.36"> @@ -3895,7 +3843,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.4">C.7.36 Section 9.4 Normal flow</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.36.#q425"> + <tbody id="sC.7.36.#q21.425"> <!-- 0 tests --> </tbody> <tbody id="sC.7.37"> @@ -3904,7 +3852,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.3.2">C.7.37 Section 9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.37.#q426"> + <tbody id="sC.7.37.#q21.426"> <!-- 0 tests --> </tbody> <tbody id="sC.7.38"> @@ -3913,7 +3861,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5">C.7.38 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.38.#q427"> + <tbody id="sC.7.38.#q21.427"> <!-- 0 tests --> </tbody> <tbody id="sC.7.39"> @@ -3922,7 +3870,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5a">C.7.39 Section 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.39.#q428"> + <tbody id="sC.7.39.#q21.428"> <!-- 0 tests --> </tbody> <tbody id="sC.7.40"> @@ -3931,7 +3879,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2">C.7.40 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.40.#q429"> + <tbody id="sC.7.40.#q21.429"> <!-- 0 tests --> </tbody> <tbody id="sC.7.41"> @@ -3940,7 +3888,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2a">C.7.41 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.41.#q430"> + <tbody id="sC.7.41.#q21.430"> <!-- 0 tests --> </tbody> <tbody id="sC.7.42"> @@ -3949,7 +3897,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2b">C.7.42 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.42.#q431"> + <tbody id="sC.7.42.#q21.431"> <!-- 0 tests --> </tbody> <tbody id="sC.7.43"> @@ -3958,7 +3906,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2c">C.7.43 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.43.#q432"> + <tbody id="sC.7.43.#q21.432"> <!-- 0 tests --> </tbody> <tbody id="sC.7.44"> @@ -3967,7 +3915,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.14.2.1">C.7.44 Section 14.2.1 Background properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.44.#q433"> + <tbody id="sC.7.44.#q21.433"> <!-- 0 tests --> </tbody> <tbody id="sC.7.45"> @@ -3976,7 +3924,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.9.1">C.7.45 Section 9.9.1 Specifying the stack level: the 'z-index' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.45.#q434"> + <tbody id="sC.7.45.#q21.434"> <!-- 0 tests --> </tbody> <tbody id="sC.7.46"> @@ -3985,7 +3933,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.10">C.7.46 Section 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.46.#q435"> + <tbody id="sC.7.46.#q21.435"> <!-- 0 tests --> </tbody> <tbody id="sC.7.47"> @@ -3994,7 +3942,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.10a">C.7.47 Section 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.47.#q436"> + <tbody id="sC.7.47.#q21.436"> <!-- 0 tests --> </tbody> <tbody id="sC.7.48"> @@ -4003,7 +3951,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.10b">C.7.48 Section 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.48.#q437"> + <tbody id="sC.7.48.#q21.437"> <!-- 0 tests --> </tbody> <tbody id="sC.7.49"> @@ -4012,7 +3960,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.1">C.7.49 Section 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.49.#q438"> + <tbody id="sC.7.49.#q21.438"> <!-- 0 tests --> </tbody> <tbody id="sC.7.50"> @@ -4021,7 +3969,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.2">C.7.50 Section 10.2 Content width: the 'width' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.50.#q439"> + <tbody id="sC.7.50.#q21.439"> <!-- 0 tests --> </tbody> <tbody id="sC.7.51"> @@ -4030,7 +3978,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.2a">C.7.51 Section 10.2 Content width: the 'width' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.51.#q440"> + <tbody id="sC.7.51.#q21.440"> <!-- 0 tests --> </tbody> <tbody id="sC.7.52"> @@ -4039,7 +3987,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.2b">C.7.52 Section 10.2 Content width: the 'width' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.52.#q441"> + <tbody id="sC.7.52.#q21.441"> <!-- 0 tests --> </tbody> <tbody id="sC.7.53"> @@ -4048,7 +3996,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.5">C.7.53 Section 10.5 Content height: the 'height' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.53.#q442"> + <tbody id="sC.7.53.#q21.442"> <!-- 0 tests --> </tbody> <tbody id="sC.7.54"> @@ -4057,7 +4005,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.5a">C.7.54 Section 10.5 Content height: the 'height' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.54.#q443"> + <tbody id="sC.7.54.#q21.443"> <!-- 0 tests --> </tbody> <tbody id="sC.7.55"> @@ -4066,7 +4014,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.6.7">C.7.55 Section 10.6.7 'Auto' heights for block formatting context roots</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.55.#q444"> + <tbody id="sC.7.55.#q21.444"> <!-- 0 tests --> </tbody> <tbody id="sC.7.56"> @@ -4075,7 +4023,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.7">C.7.56 Section 10.7 Minimum and maximum heights: 'min-height' and 'max-height'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.56.#q445"> + <tbody id="sC.7.56.#q21.445"> <!-- 0 tests --> </tbody> <tbody id="sC.7.57"> @@ -4084,7 +4032,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8">C.7.57 Section 10.8 Line height calculations: the 'line-height' and 'vertical-align' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.57.#q446"> + <tbody id="sC.7.57.#q21.446"> <!-- 0 tests --> </tbody> <tbody id="sC.7.58"> @@ -4093,7 +4041,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8a">C.7.58 Section 10.8 Line height calculations: the 'line-height' and 'vertical-align' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.58.#q447"> + <tbody id="sC.7.58.#q21.447"> <!-- 0 tests --> </tbody> <tbody id="sC.7.59"> @@ -4102,7 +4050,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8.1">C.7.59 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.59.#q448"> + <tbody id="sC.7.59.#q21.448"> <!-- 0 tests --> </tbody> <tbody id="sC.7.60"> @@ -4111,7 +4059,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8.1a">C.7.60 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.60.#q449"> + <tbody id="sC.7.60.#q21.449"> <!-- 0 tests --> </tbody> <tbody id="sC.7.61"> @@ -4120,7 +4068,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.8.1b">C.7.61 Section 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.61.#q450"> + <tbody id="sC.7.61.#q21.450"> <!-- 0 tests --> </tbody> <tbody id="sC.7.62"> @@ -4129,7 +4077,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1">C.7.62 Section 11.1 Overflow and clipping</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.62.#q451"> + <tbody id="sC.7.62.#q21.451"> <!-- 0 tests --> </tbody> <tbody id="sC.7.63"> @@ -4138,7 +4086,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.1">C.7.63 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.63.#q452"> + <tbody id="sC.7.63.#q21.452"> <!-- 0 tests --> </tbody> <tbody id="sC.7.64"> @@ -4147,7 +4095,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.1a">C.7.64 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.64.#q453"> + <tbody id="sC.7.64.#q21.453"> <!-- 0 tests --> </tbody> <tbody id="sC.7.65"> @@ -4156,7 +4104,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.1b">C.7.65 Section 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.65.#q454"> + <tbody id="sC.7.65.#q21.454"> <!-- 0 tests --> </tbody> <tbody id="sC.7.66"> @@ -4165,7 +4113,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.11.1.2">C.7.66 Section 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.66.#q455"> + <tbody id="sC.7.66.#q21.455"> <!-- 0 tests --> </tbody> <tbody id="sC.7.67"> @@ -4174,7 +4122,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5">C.7.67 Section 12.5 Lists</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.67.#q456"> + <tbody id="sC.7.67.#q21.456"> <!-- 0 tests --> </tbody> <tbody id="sC.7.68"> @@ -4183,7 +4131,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1">C.7.68 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.68.#q457"> + <tbody id="sC.7.68.#q21.457"> <!-- 0 tests --> </tbody> <tbody id="sC.7.69"> @@ -4192,7 +4140,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1a">C.7.69 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.69.#q458"> + <tbody id="sC.7.69.#q21.458"> <!-- 0 tests --> </tbody> <tbody id="sC.7.70"> @@ -4201,7 +4149,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1b">C.7.70 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.70.#q459"> + <tbody id="sC.7.70.#q21.459"> <!-- 0 tests --> </tbody> <tbody id="sC.7.71"> @@ -4210,7 +4158,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1c">C.7.71 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.71.#q460"> + <tbody id="sC.7.71.#q21.460"> <!-- 0 tests --> </tbody> <tbody id="sC.7.72"> @@ -4219,7 +4167,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.12.5.1d">C.7.72 Section 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.72.#q461"> + <tbody id="sC.7.72.#q21.461"> <!-- 0 tests --> </tbody> <tbody id="sC.7.73"> @@ -4228,7 +4176,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.2">C.7.73 Section 13.2 Page boxes: the @page rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.73.#q462"> + <tbody id="sC.7.73.#q21.462"> <!-- 0 tests --> </tbody> <tbody id="sC.7.74"> @@ -4237,7 +4185,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.2.2">C.7.74 Section 13.2.2 Page selectors: selecting left, right, and first pages</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.74.#q463"> + <tbody id="sC.7.74.#q21.463"> <!-- 0 tests --> </tbody> <tbody id="sC.7.75"> @@ -4246,7 +4194,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.3.2">C.7.75 Section 13.3.2 Breaks inside elements: 'orphans', 'widows'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.75.#q464"> + <tbody id="sC.7.75.#q21.464"> <!-- 0 tests --> </tbody> <tbody id="sC.7.76"> @@ -4255,7 +4203,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.13.3.3">C.7.76 Section 13.3.3 Allowed page breaks</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.76.#q465"> + <tbody id="sC.7.76.#q21.465"> <!-- 0 tests --> </tbody> <tbody id="sC.7.77"> @@ -4264,7 +4212,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.3">C.7.77 Section 15.3 Font family: the 'font-family' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.77.#q466"> + <tbody id="sC.7.77.#q21.466"> <!-- 0 tests --> </tbody> <tbody id="sC.7.78"> @@ -4273,7 +4221,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.3.1">C.7.78 Section 15.3.1 Generic font families</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.78.#q467"> + <tbody id="sC.7.78.#q21.467"> <!-- 0 tests --> </tbody> <tbody id="sC.7.79"> @@ -4282,7 +4230,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.6">C.7.79 Section 15.6 Font boldness: the 'font-weight' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.79.#q468"> + <tbody id="sC.7.79.#q21.468"> <!-- 0 tests --> </tbody> <tbody id="sC.7.80"> @@ -4291,7 +4239,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.6q">C.7.80 Section 15.6 Font boldness: the 'font-weight' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.80.#q469"> + <tbody id="sC.7.80.#q21.469"> <!-- 0 tests --> </tbody> <tbody id="sC.7.81"> @@ -4300,7 +4248,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.15.7">C.7.81 Section 15.7 Font size: the 'font-size' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.81.#q470"> + <tbody id="sC.7.81.#q21.470"> <!-- 0 tests --> </tbody> <tbody id="sC.7.82"> @@ -4309,7 +4257,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.1">C.7.82 Section 16.1 Indentation: the 'text-indent' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.82.#q471"> + <tbody id="sC.7.82.#q21.471"> <!-- 0 tests --> </tbody> <tbody id="sC.7.83"> @@ -4318,7 +4266,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.1a">C.7.83 Section 16.1 Indentation: the 'text-indent' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.83.#q472"> + <tbody id="sC.7.83.#q21.472"> <!-- 0 tests --> </tbody> <tbody id="sC.7.84"> @@ -4327,7 +4275,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.2">C.7.84 Section 16.2 Alignment: the 'text-align' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.84.#q473"> + <tbody id="sC.7.84.#q21.473"> <!-- 0 tests --> </tbody> <tbody id="sC.7.85"> @@ -4336,7 +4284,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.2a">C.7.85 Section 16.2 Alignment: the 'text-align' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.85.#q474"> + <tbody id="sC.7.85.#q21.474"> <!-- 0 tests --> </tbody> <tbody id="sC.7.86"> @@ -4345,7 +4293,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.3.1">C.7.86 Section 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.86.#q475"> + <tbody id="sC.7.86.#q21.475"> <!-- 0 tests --> </tbody> <tbody id="sC.7.87"> @@ -4354,7 +4302,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.3.1a">C.7.87 Section 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.87.#q476"> + <tbody id="sC.7.87.#q21.476"> <!-- 0 tests --> </tbody> <tbody id="sC.7.88"> @@ -4363,7 +4311,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.4">C.7.88 Section 16.4 Letter and word spacing: the 'letter-spacing' and 'word-spacing' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.88.#q477"> + <tbody id="sC.7.88.#q21.477"> <!-- 0 tests --> </tbody> <tbody id="sC.7.89"> @@ -4372,7 +4320,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6">C.7.89 Section 16.6 White space: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.89.#q478"> + <tbody id="sC.7.89.#q21.478"> <!-- 0 tests --> </tbody> <tbody id="sC.7.90"> @@ -4381,7 +4329,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6.1">C.7.90 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.90.#q479"> + <tbody id="sC.7.90.#q21.479"> <!-- 0 tests --> </tbody> <tbody id="sC.7.91"> @@ -4390,7 +4338,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6.1a">C.7.91 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.91.#q480"> + <tbody id="sC.7.91.#q21.480"> <!-- 0 tests --> </tbody> <tbody id="sC.7.92"> @@ -4399,7 +4347,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.16.6.1b">C.7.92 Section 16.6.1 The 'white-space' processing model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.92.#q481"> + <tbody id="sC.7.92.#q21.481"> <!-- 0 tests --> </tbody> <tbody id="sC.7.93"> @@ -4408,7 +4356,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.2">C.7.93 Section 17.2 The CSS table model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.93.#q482"> + <tbody id="sC.7.93.#q21.482"> <!-- 0 tests --> </tbody> <tbody id="sC.7.94"> @@ -4417,7 +4365,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.2.1">C.7.94 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.94.#q483"> + <tbody id="sC.7.94.#q21.483"> <!-- 0 tests --> </tbody> <tbody id="sC.7.95"> @@ -4426,7 +4374,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.2.1a">C.7.95 Section 17.2.1 Anonymous table objects</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.95.#q484"> + <tbody id="sC.7.95.#q21.484"> <!-- 0 tests --> </tbody> <tbody id="sC.7.96"> @@ -4435,7 +4383,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.4">C.7.96 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.96.#q485"> + <tbody id="sC.7.96.#q21.485"> <!-- 0 tests --> </tbody> <tbody id="sC.7.97"> @@ -4444,7 +4392,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.4a">C.7.97 Section 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.97.#q486"> + <tbody id="sC.7.97.#q21.486"> <!-- 0 tests --> </tbody> <tbody id="sC.7.98"> @@ -4453,7 +4401,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.5.2.2">C.7.98 Section 17.5.2.2 Automatic table layout</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.98.#q487"> + <tbody id="sC.7.98.#q21.487"> <!-- 0 tests --> </tbody> <tbody id="sC.7.99"> @@ -4462,7 +4410,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.5.3">C.7.99 Section 17.5.3 Table height algorithms</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.99.#q488"> + <tbody id="sC.7.99.#q21.488"> <!-- 0 tests --> </tbody> <tbody id="sC.7.100"> @@ -4471,7 +4419,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.17.5.4">C.7.100 Section 17.5.4 Horizontal alignment in a column</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.100.#q489"> + <tbody id="sC.7.100.#q21.489"> <!-- 0 tests --> </tbody> <tbody id="sC.7.101"> @@ -4480,7 +4428,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.B.2">C.7.101 Section B.2 Informative references</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.101.#q490"> + <tbody id="sC.7.101.#q21.490"> <!-- 0 tests --> </tbody> <tbody id="sC.7.102"> @@ -4489,7 +4437,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.D">C.7.102 Section D. Default style sheet for HTML 4</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.102.#q491"> + <tbody id="sC.7.102.#q21.491"> <!-- 0 tests --> </tbody> <tbody id="sC.7.103"> @@ -4498,7 +4446,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.E.2">C.7.103 Section E.2 Painting order</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.103.#q492"> + <tbody id="sC.7.103.#q21.492"> <!-- 0 tests --> </tbody> <tbody id="sC.7.104"> @@ -4507,7 +4455,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.G">C.7.104 Appendix G Grammar of CSS 2.1</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.7.104.#q493"> + <tbody id="sC.7.104.#q21.493"> <!-- 0 tests --> </tbody> <tbody id="sC.8"> @@ -4516,7 +4464,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#errata4">C.8 Changes since the working draft of 7 December 2010</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.#q494"> + <tbody id="sC.8.#q21.494"> <!-- 0 tests --> </tbody> <tbody id="sC.8.1"> @@ -4525,7 +4473,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.8.3.1">C.8.1 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.1.#q495"> + <tbody id="sC.8.1.#q21.495"> <!-- 0 tests --> </tbody> <tbody id="sC.8.2"> @@ -4534,7 +4482,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.8.1">C.8.2 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.2.#q496"> + <tbody id="sC.8.2.#q21.496"> <!-- 0 tests --> </tbody> <tbody id="sC.8.3"> @@ -4543,7 +4491,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.3">C.8.3 10.3 Calculating widths and margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.3.#q497"> + <tbody id="sC.8.3.#q21.497"> <!-- 0 tests --> </tbody> <tbody id="sC.8.4"> @@ -4552,7 +4500,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.14.3">C.8.4 14.3 Gamma correction</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.4.#q498"> + <tbody id="sC.8.4.#q21.498"> <!-- 0 tests --> </tbody> <tbody id="sC.8.5"> @@ -4561,7 +4509,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.11.1.2">C.8.5 11.1.2 Clipping: the 'clip' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.5.#q499"> + <tbody id="sC.8.5.#q21.499"> <!-- 0 tests --> </tbody> <tbody id="sC.8.6"> @@ -4570,7 +4518,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.4.2">C.8.6 9.4.2 Inline formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.6.#q500"> + <tbody id="sC.8.6.#q21.500"> <!-- 0 tests --> </tbody> <tbody id="sC.8.7"> @@ -4579,7 +4527,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.3.2">C.8.7 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.7.#q501"> + <tbody id="sC.8.7.#q21.501"> <!-- 0 tests --> </tbody> <tbody id="sC.8.8"> @@ -4588,7 +4536,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.1">C.8.8 10.1 Definition of "containing block"</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.8.#q502"> + <tbody id="sC.8.8.#q21.502"> <!-- 0 tests --> </tbody> <tbody id="sC.8.9"> @@ -4597,7 +4545,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.13.2.2">C.8.9 13.2.2 Page selectors: selecting left, right, and first pages</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.9.#q503"> + <tbody id="sC.8.9.#q21.503"> <!-- 0 tests --> </tbody> <tbody id="sC.8.10"> @@ -4606,7 +4554,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.8.3.1a">C.8.10 8.3.1 Collapsing margins</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.10.#q504"> + <tbody id="sC.8.10.#q21.504"> <!-- 0 tests --> </tbody> <tbody id="sC.8.11"> @@ -4615,7 +4563,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.8">C.8.11 10.8 Line height calculations: the 'line-height' and 'vertical-align' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.11.#q505"> + <tbody id="sC.8.11.#q21.505"> <!-- 0 tests --> </tbody> <tbody id="sC.8.12"> @@ -4624,7 +4572,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.8.1a">C.8.12 10.8.1 Leading and half-leading</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.12.#q506"> + <tbody id="sC.8.12.#q21.506"> <!-- 0 tests --> </tbody> <tbody id="sC.8.13"> @@ -4633,7 +4581,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.6.1a">C.8.13 10.6.1 Inline, non-replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.13.#q507"> + <tbody id="sC.8.13.#q21.507"> <!-- 0 tests --> </tbody> <tbody id="sC.8.14"> @@ -4642,7 +4590,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5.1">C.8.14 9.5.1 Positioning the float: the 'float' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.14.#q508"> + <tbody id="sC.8.14.#q21.508"> <!-- 0 tests --> </tbody> <tbody id="sC.8.15"> @@ -4651,7 +4599,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1">C.8.15 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.15.#q509"> + <tbody id="sC.8.15.#q21.509"> <!-- 0 tests --> </tbody> <tbody id="sC.8.16"> @@ -4660,7 +4608,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.5.12.1">C.8.16 5.12.1 The :first-line pseudo-element</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.16.#q510"> + <tbody id="sC.8.16.#q21.510"> <!-- 0 tests --> </tbody> <tbody id="sC.8.17"> @@ -4669,7 +4617,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.6">C.8.17 16.6 White space: the 'white-space' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.17.#q511"> + <tbody id="sC.8.17.#q21.511"> <!-- 0 tests --> </tbody> <tbody id="sC.8.18"> @@ -4678,7 +4626,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.12.5.1">C.8.18 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.18.#q512"> + <tbody id="sC.8.18.#q21.512"> <!-- 0 tests --> </tbody> <tbody id="sC.8.19"> @@ -4687,7 +4635,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.7">C.8.19 9.7 Relationships between 'display', 'position', and 'float'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.19.#q513"> + <tbody id="sC.8.19.#q21.513"> <!-- 0 tests --> </tbody> <tbody id="sC.8.20"> @@ -4696,7 +4644,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.4.2a">C.8.20 9.4.2 Inline formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.20.#q514"> + <tbody id="sC.8.20.#q21.514"> <!-- 0 tests --> </tbody> <tbody id="sC.8.21"> @@ -4705,7 +4653,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.1.9">C.8.21 4.1.9 Comments</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.21.#q515"> + <tbody id="sC.8.21.#q21.515"> <!-- 0 tests --> </tbody> <tbody id="sC.8.22"> @@ -4714,7 +4662,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.12.5.1a">C.8.22 12.5.1 Lists: the 'list-style-type', 'list-style-image', 'list-style-position', and 'list-style' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.22.#q516"> + <tbody id="sC.8.22.#q21.516"> <!-- 0 tests --> </tbody> <tbody id="sC.8.23"> @@ -4723,7 +4671,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5.1a">C.8.23 9.5.1 Positioning the float: the 'float' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.23.#q517"> + <tbody id="sC.8.23.#q21.517"> <!-- 0 tests --> </tbody> <tbody id="sC.8.24"> @@ -4732,7 +4680,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.3">C.8.24 9.3 Positioning schemes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.24.#q518"> + <tbody id="sC.8.24.#q21.518"> <!-- 0 tests --> </tbody> <tbody id="sC.8.25"> @@ -4741,7 +4689,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.10">C.8.25 9.10 Text direction: the 'direction' and 'unicode-bidi' properties</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.25.#q519"> + <tbody id="sC.8.25.#q21.519"> <!-- 0 tests --> </tbody> <tbody id="sC.8.26"> @@ -4750,7 +4698,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.3.1">C.8.26 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.26.#q520"> + <tbody id="sC.8.26.#q21.520"> <!-- 0 tests --> </tbody> <tbody id="sC.8.27"> @@ -4759,7 +4707,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.3.1a">C.8.27 16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.27.#q521"> + <tbody id="sC.8.27.#q21.521"> <!-- 0 tests --> </tbody> <tbody id="sC.8.28"> @@ -4768,7 +4716,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.4">C.8.28 10.4 Minimum and maximum widths: 'min-width' and 'max-width'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.28.#q522"> + <tbody id="sC.8.28.#q21.522"> <!-- 0 tests --> </tbody> <tbody id="sC.8.29"> @@ -4777,7 +4725,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.3.2">C.8.29 9.3.2 Box offsets: 'top', 'right', 'bottom', 'left'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.29.#q523"> + <tbody id="sC.8.29.#q21.523"> <!-- 0 tests --> </tbody> <tbody id="sC.8.30"> @@ -4786,7 +4734,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1a">C.8.30 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.30.#q524"> + <tbody id="sC.8.30.#q21.524"> <!-- 0 tests --> </tbody> <tbody id="sC.8.31"> @@ -4795,7 +4743,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1b">C.8.31 17.4 Tables in the visual formatting model</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.31.#q525"> + <tbody id="sC.8.31.#q21.525"> <!-- 0 tests --> </tbody> <tbody id="sC.8.32"> @@ -4807,7 +4755,7 @@ <tbody id="sC.8.32.#img-clip"> <!-- 0 tests --> </tbody> - <tbody id="sC.8.32.#q526"> + <tbody id="sC.8.32.#q21.526"> <!-- 0 tests --> </tbody> <tbody id="sC.8.33"> @@ -4816,7 +4764,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.13.2">C.8.33 13.2 Page boxes: the @page rule</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.33.#q527"> + <tbody id="sC.8.33.#q21.527"> <!-- 0 tests --> </tbody> <tbody id="sC.8.34"> @@ -4825,7 +4773,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.1.1">C.8.34 4.1.1 Tokenization</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.34.#q528"> + <tbody id="sC.8.34.#q21.528"> <!-- 0 tests --> </tbody> <tbody id="sC.8.35"> @@ -4834,7 +4782,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.2">C.8.35 4.2 Rules for handling parsing errors</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.35.#q529"> + <tbody id="sC.8.35.#q21.529"> <!-- 0 tests --> </tbody> <tbody id="sC.8.36"> @@ -4843,7 +4791,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.3.1">C.8.36 3.1 Definitions</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.36.#q530"> + <tbody id="sC.8.36.#q21.530"> <!-- 0 tests --> </tbody> <tbody id="sC.8.37"> @@ -4852,7 +4800,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.4.3.4">C.8.37 4.3.4 URLs and URIs</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.37.#q531"> + <tbody id="sC.8.37.#q21.531"> <!-- 0 tests --> </tbody> <tbody id="sC.8.38"> @@ -4861,7 +4809,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5">C.8.38 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.38.#q532"> + <tbody id="sC.8.38.#q21.532"> <!-- 0 tests --> </tbody> <tbody id="sC.8.39"> @@ -4870,7 +4818,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.11.1.1">C.8.39 11.1.1 Overflow: the 'overflow' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.39.#q533"> + <tbody id="sC.8.39.#q21.533"> <!-- 0 tests --> </tbody> <tbody id="sC.8.40"> @@ -4879,7 +4827,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.1.1c">C.8.40 9.2.1.1 Anonymous block boxes</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.40.#q534"> + <tbody id="sC.8.40.#q21.534"> <!-- 0 tests --> </tbody> <tbody id="sC.8.41"> @@ -4888,7 +4836,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.16.2">C.8.41 16.2 Alignment: the 'text-align' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.41.#q535"> + <tbody id="sC.8.41.#q21.535"> <!-- 0 tests --> </tbody> <tbody id="sC.8.42"> @@ -4897,7 +4845,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5a">C.8.42 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.42.#q536"> + <tbody id="sC.8.42.#q21.536"> <!-- 0 tests --> </tbody> <tbody id="sC.8.43"> @@ -4906,7 +4854,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.4.2b">C.8.43 9.4.2 Inline formatting contexts</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.43.#q537"> + <tbody id="sC.8.43.#q21.537"> <!-- 0 tests --> </tbody> <tbody id="sC.8.44"> @@ -4915,7 +4863,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.5.12">C.8.44 5.12 Pseudo-elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.44.#q538"> + <tbody id="sC.8.44.#q21.538"> <!-- 0 tests --> </tbody> <tbody id="sC.8.45"> @@ -4924,7 +4872,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5b">C.8.45 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.45.#q539"> + <tbody id="sC.8.45.#q21.539"> <!-- 0 tests --> </tbody> <tbody id="sC.8.46"> @@ -4933,7 +4881,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.5c">C.8.46 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.46.#q540"> + <tbody id="sC.8.46.#q21.540"> <!-- 0 tests --> </tbody> <tbody id="sC.8.47"> @@ -4942,7 +4890,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.14.2.1">C.8.47 14.2.1 Background properties: 'background-color', 'background-image', 'background-repeat', 'background-attachment', 'background-position', and 'background'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.47.#q541"> + <tbody id="sC.8.47.#q21.541"> <!-- 0 tests --> </tbody> <tbody id="sC.8.48"> @@ -4951,7 +4899,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.9.2.4">C.8.48 9.2.4 The 'display' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.48.#q542"> + <tbody id="sC.8.48.#q21.542"> <!-- 0 tests --> </tbody> <tbody id="sC.8.49"> @@ -4960,7 +4908,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.6.1.2">C.8.49 6.1.2 Computed values</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.49.#q543"> + <tbody id="sC.8.49.#q21.543"> <!-- 0 tests --> </tbody> <tbody id="sC.8.50"> @@ -4969,7 +4917,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#u.10.3.2a">C.8.50 10.3.2 Inline, replaced elements</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.50.#q544"> + <tbody id="sC.8.50.#q21.544"> <!-- 0 tests --> </tbody> <tbody id="sC.8.51"> @@ -4978,7 +4926,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2d">C.8.51 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.51.#q545"> + <tbody id="sC.8.51.#q21.545"> <!-- 0 tests --> </tbody> <tbody id="sC.8.52"> @@ -4987,7 +4935,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.G.2">C.8.52 G.2 Lexical scanner</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.52.#q546"> + <tbody id="sC.8.52.#q21.546"> <!-- 0 tests --> </tbody> <tbody id="sC.8.53"> @@ -4996,7 +4944,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5.2e">C.8.53 Section 9.5.2 Controlling flow next to floats: the 'clear' property</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.53.#q547"> + <tbody id="sC.8.53.#q21.547"> <!-- 0 tests --> </tbody> <tbody id="sC.8.54"> @@ -5005,7 +4953,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.9.5b">C.8.54 9.5 Floats</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.54.#q548"> + <tbody id="sC.8.54.#q21.548"> <!-- 0 tests --> </tbody> <tbody id="sC.8.55"> @@ -5014,7 +4962,7 @@ <a href="https://www.w3.org/TR/CSS21/changes.html#t.10.6.3">C.8.55 10.6.3 Block-level non-replaced elements in normal flow when 'overflow' computes to 'visible'</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="sC.8.55.#q549"> + <tbody id="sC.8.55.#q21.549"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-D.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-D.xht index e545bb18322..25686c7f8f7 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-D.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-D.xht @@ -30,7 +30,10 @@ <tbody id="sD"> <tr><th colspan="4" scope="rowgroup"> <a href="#sD">+</a> - <a href="https://www.w3.org/TR/CSS21/sample.html">D Default style sheet for HTML 4</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/sample.html#q22.0">D Default style sheet for HTML 4</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sD.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sD.#bidi"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-E.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-E.xht index db091b778bc..da61f955249 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-E.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-E.xht @@ -30,7 +30,10 @@ <tbody id="sE"> <tr><th colspan="4" scope="rowgroup"> <a href="#sE">+</a> - <a href="https://www.w3.org/TR/CSS21/zindex.html">E Elaborate description of Stacking Contexts</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/zindex.html#q23.0">E Elaborate description of Stacking Contexts</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sE.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sE.1"> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-F.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-F.xht index e21dce70fa5..e3076552071 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-F.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-F.xht @@ -30,7 +30,10 @@ <tbody id="sF"> <tr><th colspan="4" scope="rowgroup"> <a href="#sF">+</a> - <a href="https://www.w3.org/TR/CSS21/propidx.html">F Full property table</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/propidx.html#q24.0">F Full property table</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sF.#annoying-warning"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-G.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-G.xht index aabf7a4165f..887475ba8de 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-G.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-G.xht @@ -30,7 +30,10 @@ <tbody id="sG"> <tr><th colspan="4" scope="rowgroup"> <a href="#sG">+</a> - <a href="https://www.w3.org/TR/CSS21/grammar.html">G Grammar of CSS 2.1</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/grammar.html#q25.0">G Grammar of CSS 2.1</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sG.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sG.1"> @@ -94,7 +97,7 @@ <tbody id="sG.4"> <tr><th colspan="4" scope="rowgroup"> <a href="#sG.4">+</a> - <a href="https://www.w3.org/TR/CSS21/grammar.html#q4">G.4 Implementation note</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/grammar.html#q25.4">G.4 Implementation note</a></th></tr> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-H.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-H.xht index 3eb7ca5905a..39bcb5d13a7 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-H.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-H.xht @@ -30,7 +30,7 @@ <tbody id="sH"> <tr><th colspan="4" scope="rowgroup"> <a href="#sH">+</a> - <a href="https://www.w3.org/TR/CSS21/leftblank.html">H Has been intentionally left blank</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/leftblank.html#q26.0">H Has been intentionally left blank</a></th></tr> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-I.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-I.xht index 1ef7f7f13ac..12f7fc762b4 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-I.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/chapter-I.xht @@ -30,7 +30,10 @@ <tbody id="sI"> <tr><th colspan="4" scope="rowgroup"> <a href="#sI">+</a> - <a href="https://www.w3.org/TR/CSS21/indexlist.html">I Index</a></th></tr> + <a href="https://www.w3.org/TR/CSS21/indexlist.html#q27.0">I Index</a></th></tr> + <!-- 0 tests --> + </tbody> + <tbody id="sI.#annoying-warning"> <!-- 0 tests --> </tbody> <tbody id="sI.#index-;"> @@ -147,6 +150,9 @@ <tbody id="sI.#index-z"> <!-- 0 tests --> </tbody> + <tbody id="sstatus.#annoying-warning"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/overflow-html-body-001.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/overflow-html-body-001.xht new file mode 100644 index 00000000000..8bef967a080 --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/overflow-html-body-001.xht @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: Overflow on body propagates to viewport</title> + <style type="text/css"> + @page { font: italic 8pt sans-serif; color: gray; + margin: 7%; + counter-increment: page; + @top-left { content: "CSS 2.1 Conformance Test Suite"; } + @top-right { content: "Test overflow-html-body-001"; } + @bottom-right { content: counter(page); } + } +</style> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/visufx.html#overflow" /> + <meta name="assert" content="An HTML user agent propagates the 'overflow' property from the 'body' to the viewport." /> + <style type="text/css"> + body + { + overflow: hidden; + } + div + { + height: 110%; + width: 110%; + } + </style> + </head> + <body> + <p>Test passes if the horizontal and vertical scrolling mechanism is not available on the page.</p> + <div></div> + </body> +</html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/reftest-toc.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/reftest-toc.xht index e434af6c622..b2681a3481e 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/reftest-toc.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/reftest-toc.xht @@ -250,7 +250,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vlr-059" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vlr-059.xht">abs-pos-non-replaced-vlr-059</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> @@ -1146,7 +1146,7 @@ </tbody> <tbody id="abs-pos-non-replaced-vrl-058" class="ahem image"> <tr> - <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'"> + <td rowspan="1" title="absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'"> <a href="abs-pos-non-replaced-vrl-058.xht">abs-pos-non-replaced-vrl-058</a></td> <td><a href="reference/abs-pos-non-replaced-vrl-004-ref.xht">=</a> </td> <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="image" title="Requires bitmap graphic support">Bitmaps</abbr></td> diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-001.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-001.xht new file mode 100644 index 00000000000..6b480b0bc10 --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-001.xht @@ -0,0 +1,59 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: Introduction to Tables (text-align, font-weight)</title> + <style type="text/css"> + @page { font: italic 8pt sans-serif; color: gray; + margin: 7%; + counter-increment: page; + @top-left { content: "CSS 2.1 Conformance Test Suite"; } + @top-right { content: "Test table-intro-example-001"; } + @bottom-right { content: counter(page); } + } +</style> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro" /> + <meta name="assert" content="'text-align' and 'font-weight' can be applied to table cells (example from spec section 17.1)." /> + <style type="text/css"> + caption + { + color: blue; + } + td + { + border: 1px solid blue; + height: 5em; + width: 10em; + } + th + { + border: 1px solid blue; + font-weight: bold; + height: 5em; + text-align: center; + width: 10em; + } + </style> + </head> + <body> + <p>Test passes if the text in the left-most box column is centered in its column and darker than the text in the other columns.</p> + <table> + <caption>This is a simple 3x3 table</caption> + <tr id="row1"> + <th>Header 1</th> + <td>Cell 1</td> + <td>Cell 2</td> + </tr> + <tr id="row2"> + <th>Header 2</th> + <td>Cell 3</td> + <td>Cell 4</td> + </tr> + <tr id="row3"> + <th>Header 3</th> + <td>Cell 5</td> + <td>Cell 6</td> + </tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-002.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-002.xht new file mode 100644 index 00000000000..fe1afd4fdd3 --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-002.xht @@ -0,0 +1,59 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: Introduction to Tables (vertical-align)</title> + <style type="text/css"> + @page { font: italic 8pt sans-serif; color: gray; + margin: 7%; + counter-increment: page; + @top-left { content: "CSS 2.1 Conformance Test Suite"; } + @top-right { content: "Test table-intro-example-002"; } + @bottom-right { content: counter(page); } + } +</style> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro" /> + <meta name="assert" content="'vertical-align' can be set on table cells (example from section 17.1)." /> + <style type="text/css"> + caption + { + color: blue; + } + td + { + border: 1px solid blue; + height: 5em; + vertical-align: middle; + width: 10em; + } + th + { + border: 1px solid blue; + height: 5em; + vertical-align: baseline; + width: 10em; + } + </style> + </head> + <body> + <p>Test passes if the text in the left-most box column is at the very top of the column and text in the other two columns is vertically centered.</p> + <table> + <caption>This is a simple 3x3 table</caption> + <tr id="row1"> + <th>Header 1</th> + <td>Cell 1</td> + <td>Cell 2</td> + </tr> + <tr id="row2"> + <th>Header 2</th> + <td>Cell 3</td> + <td>Cell 4</td> + </tr> + <tr id="row3"> + <th>Header 3</th> + <td>Cell 5</td> + <td>Cell 6</td> + </tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-003.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-003.xht new file mode 100644 index 00000000000..9221fab932c --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-003.xht @@ -0,0 +1,57 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: Introduction to Tables (border-collapse, border)</title> + <style type="text/css"> + @page { font: italic 8pt sans-serif; color: gray; + margin: 7%; + counter-increment: page; + @top-left { content: "CSS 2.1 Conformance Test Suite"; } + @top-right { content: "Test table-intro-example-003"; } + @bottom-right { content: counter(page); } + } +</style> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro" /> + <meta name="assert" content="'border-collapse' and 'border' can be set on table elements (example from section 17.1)." /> + <style type="text/css"> + table + { + border-collapse: collapse; + } + tr#row1 + { + border: 3px solid blue; + } + tr#row2 + { + border: 1px solid black; + } + tr#row3 + { + border: 1px solid black; + } + </style> + </head> + <body> + <p>Test passes if the box below is separated into three horizontal rows, and the top one has a blue border that is thicker than the borders of the other rows.</p> + <table> + <caption>This is a simple 3x3 table</caption> + <tr id="row1"> + <th>Header 1</th> + <td>Cell 1</td> + <td>Cell 2</td> + </tr> + <tr id="row2"> + <th>Header 2</th> + <td>Cell 3</td> + <td>Cell 4</td> + </tr> + <tr id="row3"> + <th>Header 3</th> + <td>Cell 5</td> + <td>Cell 6</td> + </tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-004.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-004.xht new file mode 100644 index 00000000000..bcd2834ac1b --- /dev/null +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/table-intro-example-004.xht @@ -0,0 +1,54 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>CSS Test: Introduction to Tables (caption-side)</title> + <style type="text/css"> + @page { font: italic 8pt sans-serif; color: gray; + margin: 7%; + counter-increment: page; + @top-left { content: "CSS 2.1 Conformance Test Suite"; } + @top-right { content: "Test table-intro-example-004"; } + @bottom-right { content: counter(page); } + } +</style> + <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> + <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#tables-intro" /> + <meta name="assert" content="'caption-side' can be set on a table caption (example from section 17.1)." /> + <style type="text/css"> + caption + { + color: blue; + caption-side: top; + } + td + { + border: solid black; + } + th + { + border: solid black; + } + </style> + </head> + <body> + <p>Test passes if blue text (with the words 'This is a simple 3x3 table') appears above the three-by-three grid below.</p> + <table> + <caption>This is a simple 3x3 table</caption> + <tr id="row1"> + <th>Header 1</th> + <td>Cell 1</td> + <td>Cell 2</td> + </tr> + <tr id="row2"> + <th>Header 2</th> + <td>Cell 3</td> + <td>Cell 4</td> + </tr> + <tr id="row3"> + <th>Header 3</th> + <td>Cell 5</td> + <td>Cell 6</td> + </tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/css21_dev/xhtml1print/toc.xht b/tests/wpt/css-tests/css21_dev/xhtml1print/toc.xht index 3d44f5c1398..f960046517a 100644 --- a/tests/wpt/css-tests/css21_dev/xhtml1print/toc.xht +++ b/tests/wpt/css-tests/css21_dev/xhtml1print/toc.xht @@ -37,22 +37,22 @@ <tbody id="s4"> <tr><th><a href="chapter-4.xht">Chapter 4 - Syntax and basic data types</a></th> - <td>(439 Tests)</td></tr> + <td>(431 Tests)</td></tr> </tbody> <tbody id="s5"> <tr><th><a href="chapter-5.xht">Chapter 5 - Selectors</a></th> - <td>(677 Tests)</td></tr> + <td>(668 Tests)</td></tr> </tbody> <tbody id="s6"> <tr><th><a href="chapter-6.xht">Chapter 6 - Assigning property values, Cascading, and Inheritance</a></th> - <td>(145 Tests)</td></tr> + <td>(117 Tests)</td></tr> </tbody> <tbody id="s7"> <tr><th><a href="chapter-7.xht">Chapter 7 - Media types</a></th> - <td>(22 Tests)</td></tr> + <td>(5 Tests)</td></tr> </tbody> <tbody id="s8"> <tr><th><a href="chapter-8.xht">Chapter 8 - @@ -62,7 +62,7 @@ <tbody id="s9"> <tr><th><a href="chapter-9.xht">Chapter 9 - Visual formatting model</a></th> - <td>(1247 Tests)</td></tr> + <td>(1246 Tests)</td></tr> </tbody> <tbody id="s10"> <tr><th><a href="chapter-10.xht">Chapter 10 - @@ -122,7 +122,7 @@ <tbody id="sC"> <tr><th><a href="chapter-C.xht">Appendix C - Changes</a></th> - <td>(5 Tests)</td></tr> + <td>(0 Tests)</td></tr> </tbody> <tbody id="sD"> <tr><th><a href="chapter-D.xht">Appendix D - diff --git a/tests/wpt/css-tests/cssom-view-1_dev/html/chapter-13.htm b/tests/wpt/css-tests/cssom-view-1_dev/html/chapter-13.htm index 55876ea792d..9d4bb44bce0 100644 --- a/tests/wpt/css-tests/cssom-view-1_dev/html/chapter-13.htm +++ b/tests/wpt/css-tests/cssom-view-1_dev/html/chapter-13.htm @@ -81,259 +81,259 @@ <tbody id="s.#acks"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> + <tbody id="s.#change-history"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-break-3"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-device-adapt"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-display-3"> + <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-overflow-4"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-position-3"> + <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-pseudo-4"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-transforms-1"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-values"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-box"> + <tbody id="schange-history.#changes-from-2011-08-04"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom"> + <tbody id="schange-history.#changes-from-2013-12-17"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-geometry-1"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-document-elementsfrompoint-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-html"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-screen-colordepth-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-screen-pixeldepth-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-svg"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-devicepixelratio-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-svg2"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-innerwidth-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-webidl"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-moveby-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-whatwg-dom"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-moveto-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#change-history"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-resizeby-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes-from-2011-08-04"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-resizeto-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes-from-2013-12-17"> + <tbody id="schanges-from-2011-08-04.#ref-for-page-zoom-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-classes"> + <tbody id="schanges-from-2011-08-04.#ref-for-pinch-zoom-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-future-proofing"> + <tbody id="schanges-from-2011-08-04.#ref-for-propdef-scroll-behavior-7"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-partial"> + <tbody id="schanges-from-2011-08-04.#ref-for-screen-5"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-responsible"> + <tbody id="schanges-from-2011-08-04.#ref-for-transforms-24"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-testing"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-document-scrollingelement-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-clientheight-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-clientleft-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#document-conventions"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-clienttop-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-52448c84"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-clientwidth-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#idl-index"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scroll-5"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollby-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollheight-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollintoview-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollintoview-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#issues-index"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollleft-6"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollleft-7"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollto-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-document-elementsfrompoint-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrolltop-6"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-document-scrollingelement-3"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollwidth-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-clientheight-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-mediaquerylist-addlistener-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-clientleft-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-window-scroll-11"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-clienttop-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-window-scrollby-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-clientwidth-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-window-scrollto-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scroll-5"> + <tbody id="schanges-from-2013-12-17.#ref-for-eventdef-document-scroll-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollby-3"> + <tbody id="schanges-from-2013-12-17.#ref-for-eventdef-window-resize-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollheight-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-mediaquerylist-13"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollintoview-3"> + <tbody id="schanges-from-2013-12-17.#ref-for-mediaquerylist-14"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollintoview-4"> + <tbody id="schanges-from-2013-12-17.#ref-for-propdef-scroll-behavior-6"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollleft-6"> + <tbody id="schanges-from-2013-12-17.#ref-for-valdef-scroll-behavior-auto-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollleft-7"> + <tbody id="sconform-responsible.#conform-future-proofing"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollto-3"> + <tbody id="sconform-responsible.#conform-partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrolltop-6"> + <tbody id="sconform-responsible.#conform-testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollwidth-2"> + <tbody id="sconformance.#conform-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-mediaquerylist-addlistener-4"> + <tbody id="sconformance.#conform-responsible"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-screen-colordepth-3"> + <tbody id="sconformance.#document-conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-screen-pixeldepth-3"> + <tbody id="sdocument-conventions.#example-52448c84"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-devicepixelratio-2"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-innerwidth-2"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-moveby-2"> + <tbody id="sinformative.#biblio-svg2"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-moveto-2"> + <tbody id="snormative.#biblio-css-backgrounds-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-resizeby-2"> + <tbody id="snormative.#biblio-css-break-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-resizeto-2"> + <tbody id="snormative.#biblio-css-device-adapt"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-scroll-11"> + <tbody id="snormative.#biblio-css-display-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-scrollby-3"> + <tbody id="snormative.#biblio-css-overflow-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-scrollto-3"> + <tbody id="snormative.#biblio-css-position-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-eventdef-document-scroll-3"> + <tbody id="snormative.#biblio-css-pseudo-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-eventdef-window-resize-2"> + <tbody id="snormative.#biblio-css-transforms-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-mediaquerylist-13"> + <tbody id="snormative.#biblio-css-values"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-mediaquerylist-14"> + <tbody id="snormative.#biblio-css-writing-modes-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-page-zoom-2"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-pinch-zoom-2"> + <tbody id="snormative.#biblio-css3-box"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-propdef-scroll-behavior-6"> + <tbody id="snormative.#biblio-cssom"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-propdef-scroll-behavior-7"> + <tbody id="snormative.#biblio-geometry-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-screen-5"> + <tbody id="snormative.#biblio-html"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-transforms-24"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-valdef-scroll-behavior-auto-1"> + <tbody id="snormative.#biblio-svg"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-webidl"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-whatwg-dom"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#toc"> + <tbody id="sstatus.#toc"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/cssom-view-1_dev/html/matchMediaAddListener.htm b/tests/wpt/css-tests/cssom-view-1_dev/html/matchMediaAddListener.htm index e9f59fdc781..8e188e37b15 100644 --- a/tests/wpt/css-tests/cssom-view-1_dev/html/matchMediaAddListener.htm +++ b/tests/wpt/css-tests/cssom-view-1_dev/html/matchMediaAddListener.htm @@ -4,15 +4,15 @@ <link href="mailto:pwx.frontend@gmail.com" rel="author" title="Chris Wu"> <link href="http://www.w3.org/TR/cssom-view/#the-mediaquerylist-interface" rel="help"> <meta content="dom" name="flags"> - <script src="/resources/testharness.js" type="text/javascript"> - <script src="/resources/testharnessreport.js" type="text/javascript" /> + <script src="/resources/testharness.js" type="text/javascript"></script> + <script src="/resources/testharnessreport.js" type="text/javascript"></script> <style type="text/css"> iframe { border: none; } </style> </head> <body> <div id="log"></div> - <iframe width="200" height="100" id="iframe1" ></iframe> + <iframe width="200" id="iframe1" height="100"></iframe> <script> function reflow(doc) { doc.body.offsetWidth; @@ -59,9 +59,7 @@ }; changeFrameWidth(width_list[0]); - - </script> - </head><body> + </body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/cssom-view-1_dev/implementation-report-TEMPLATE.data b/tests/wpt/css-tests/cssom-view-1_dev/implementation-report-TEMPLATE.data index cf6890fe654..cbee9f30c19 100644 --- a/tests/wpt/css-tests/cssom-view-1_dev/implementation-report-TEMPLATE.data +++ b/tests/wpt/css-tests/cssom-view-1_dev/implementation-report-TEMPLATE.data @@ -21,8 +21,8 @@ html/htmlelement-offset-width-001.htm 2aa3ebf3ff6268a05bc53f09d8f54c32b9f3dac8 ? xhtml1/htmlelement-offset-width-001.xht 2aa3ebf3ff6268a05bc53f09d8f54c32b9f3dac8 ? html/matchmedia.htm 4204705443e44fca78d664f38a2ec9d4308d03f2 ? xhtml1/matchmedia.xht 4204705443e44fca78d664f38a2ec9d4308d03f2 ? -html/matchmediaaddlistener.htm 60aa2e2b20aaa1c20dbece338b8d5583a4456436 ? -xhtml1/matchmediaaddlistener.xht 60aa2e2b20aaa1c20dbece338b8d5583a4456436 ? +html/matchmediaaddlistener.htm 49f502ff600517eab6dfe90e0a21562715b3d6fa ? +xhtml1/matchmediaaddlistener.xht 49f502ff600517eab6dfe90e0a21562715b3d6fa ? html/media-query-list-interface.htm bf107020b2904718b522b5b57fad03c51c059a1e ? xhtml1/media-query-list-interface.xht bf107020b2904718b522b5b57fad03c51c059a1e ? html/mediaquerylist-001.htm 76154c3e1d04e0f61bcabbd17587e4b35f926a36 ? diff --git a/tests/wpt/css-tests/cssom-view-1_dev/testinfo.data b/tests/wpt/css-tests/cssom-view-1_dev/testinfo.data index fe274f5dc84..712f3e1ed23 100644 --- a/tests/wpt/css-tests/cssom-view-1_dev/testinfo.data +++ b/tests/wpt/css-tests/cssom-view-1_dev/testinfo.data @@ -8,7 +8,7 @@ elementFromPoint-001 CSSOM View - 5 - extensions to the Document interface dom, elementFromPosition CSSOM View elementFromPoint dom,script https://www.w3.org/TR/cssom-view/#dom-document-elementfrompoint 8267d99d7721978fab7c386c463d1407df1d1234 `Chris`<mailto:pwx.frontend@gmail.com> htmlelement-offset-width-001 CSSOM View - 7 - element.offsetWidth detatches correctly dom,script https://drafts.csswg.org/cssom-view-1/#dom-htmlelement-offsetwidth 2aa3ebf3ff6268a05bc53f09d8f54c32b9f3dac8 `Michael Howell`<mailto:michael@notriddle.com> element.offsetWidth returns 0 when there is no documentElement. matchMedia CSSOM View matchMedia and MediaQueryList dom,script http://www.w3.org/TR/cssom-view/#dom-window-matchmedia,http://www.w3.org/TR/cssom-view/#the-mediaquerylist-interface,http://www.w3.org/TR/cssom-1/#serializing-media-queries 4204705443e44fca78d664f38a2ec9d4308d03f2 `Rune Lillesveen`<mailto:rune@opera.com> -matchMediaAddListener CSSOM View matchMedia addListener dom,script http://www.w3.org/TR/cssom-view/#the-mediaquerylist-interface 60aa2e2b20aaa1c20dbece338b8d5583a4456436 `Chris Wu`<mailto:pwx.frontend@gmail.com> +matchMediaAddListener CSSOM View matchMedia addListener dom,script http://www.w3.org/TR/cssom-view/#the-mediaquerylist-interface 49f502ff600517eab6dfe90e0a21562715b3d6fa `Chris Wu`<mailto:pwx.frontend@gmail.com> media-query-list-interface Properties and Functions dom,script http://www.w3.org/TR/cssom-view/#extensions-to-the-window-interface,http://www.w3.org/TR/cssom-view/#the-mediaquerylist-interface bf107020b2904718b522b5b57fad03c51c059a1e `Joe Balancio`<mailto:jlbalancio@gmail.com> All properties exist and are readonly. All functions exist and are instances of Function MediaQueryList-001 MediaQueryList script http://www.w3.org/TR/cssom-view/#the-mediaquerylist-interface 76154c3e1d04e0f61bcabbd17587e4b35f926a36 `unbug`<mailto:tidelgl@gmail.com> offsetParent_element_test CSSOM View —— offsetParent element test script http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface,http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetparent 7942a400b775948ca727fc389f224e11721bef2e `neo_and_rayi`<mailto:1988wangxiao@gmail.com> diff --git a/tests/wpt/css-tests/cssom-view-1_dev/xhtml1/chapter-13.xht b/tests/wpt/css-tests/cssom-view-1_dev/xhtml1/chapter-13.xht index eb4f5ae6935..2167e60cedd 100644 --- a/tests/wpt/css-tests/cssom-view-1_dev/xhtml1/chapter-13.xht +++ b/tests/wpt/css-tests/cssom-view-1_dev/xhtml1/chapter-13.xht @@ -81,259 +81,259 @@ <tbody id="s.#acks"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-backgrounds-3"> + <tbody id="s.#change-history"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-break-3"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-device-adapt"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-display-3"> + <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-overflow-4"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-position-3"> + <tbody id="s.#issues-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-pseudo-4"> + <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-transforms-1"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-values"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css-writing-modes-3"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css21"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-box"> + <tbody id="schange-history.#changes-from-2011-08-04"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-cssom"> + <tbody id="schange-history.#changes-from-2013-12-17"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-geometry-1"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-document-elementsfrompoint-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-html"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-screen-colordepth-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-screen-pixeldepth-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-svg"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-devicepixelratio-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-svg2"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-innerwidth-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-webidl"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-moveby-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-whatwg-dom"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-moveto-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#change-history"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-resizeby-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes-from-2011-08-04"> + <tbody id="schanges-from-2011-08-04.#ref-for-dom-window-resizeto-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes-from-2013-12-17"> + <tbody id="schanges-from-2011-08-04.#ref-for-page-zoom-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-classes"> + <tbody id="schanges-from-2011-08-04.#ref-for-pinch-zoom-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-future-proofing"> + <tbody id="schanges-from-2011-08-04.#ref-for-propdef-scroll-behavior-7"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-partial"> + <tbody id="schanges-from-2011-08-04.#ref-for-screen-5"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-responsible"> + <tbody id="schanges-from-2011-08-04.#ref-for-transforms-24"> <!-- 0 tests --> </tbody> - <tbody id="s.#conform-testing"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-document-scrollingelement-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-clientheight-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-clientleft-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#document-conventions"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-clienttop-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#example-52448c84"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-clientwidth-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#idl-index"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scroll-5"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollby-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-elsewhere"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollheight-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#index-defined-here"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollintoview-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollintoview-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#issues-index"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollleft-6"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollleft-7"> <!-- 0 tests --> </tbody> - <tbody id="s.#property-index"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollto-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-document-elementsfrompoint-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrolltop-6"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-document-scrollingelement-3"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-element-scrollwidth-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-clientheight-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-mediaquerylist-addlistener-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-clientleft-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-window-scroll-11"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-clienttop-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-window-scrollby-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-clientwidth-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-dom-window-scrollto-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scroll-5"> + <tbody id="schanges-from-2013-12-17.#ref-for-eventdef-document-scroll-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollby-3"> + <tbody id="schanges-from-2013-12-17.#ref-for-eventdef-window-resize-2"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollheight-2"> + <tbody id="schanges-from-2013-12-17.#ref-for-mediaquerylist-13"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollintoview-3"> + <tbody id="schanges-from-2013-12-17.#ref-for-mediaquerylist-14"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollintoview-4"> + <tbody id="schanges-from-2013-12-17.#ref-for-propdef-scroll-behavior-6"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollleft-6"> + <tbody id="schanges-from-2013-12-17.#ref-for-valdef-scroll-behavior-auto-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollleft-7"> + <tbody id="sconform-responsible.#conform-future-proofing"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollto-3"> + <tbody id="sconform-responsible.#conform-partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrolltop-6"> + <tbody id="sconform-responsible.#conform-testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-element-scrollwidth-2"> + <tbody id="sconformance.#conform-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-mediaquerylist-addlistener-4"> + <tbody id="sconformance.#conform-responsible"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-screen-colordepth-3"> + <tbody id="sconformance.#document-conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-screen-pixeldepth-3"> + <tbody id="sdocument-conventions.#example-52448c84"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-devicepixelratio-2"> + <tbody id="sindex.#index-defined-elsewhere"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-innerwidth-2"> + <tbody id="sindex.#index-defined-here"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-moveby-2"> + <tbody id="sinformative.#biblio-svg2"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-moveto-2"> + <tbody id="snormative.#biblio-css-backgrounds-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-resizeby-2"> + <tbody id="snormative.#biblio-css-break-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-resizeto-2"> + <tbody id="snormative.#biblio-css-device-adapt"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-scroll-11"> + <tbody id="snormative.#biblio-css-display-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-scrollby-3"> + <tbody id="snormative.#biblio-css-overflow-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-dom-window-scrollto-3"> + <tbody id="snormative.#biblio-css-position-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-eventdef-document-scroll-3"> + <tbody id="snormative.#biblio-css-pseudo-4"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-eventdef-window-resize-2"> + <tbody id="snormative.#biblio-css-transforms-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-mediaquerylist-13"> + <tbody id="snormative.#biblio-css-values"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-mediaquerylist-14"> + <tbody id="snormative.#biblio-css-writing-modes-3"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-page-zoom-2"> + <tbody id="snormative.#biblio-css21"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-pinch-zoom-2"> + <tbody id="snormative.#biblio-css3-box"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-propdef-scroll-behavior-6"> + <tbody id="snormative.#biblio-cssom"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-propdef-scroll-behavior-7"> + <tbody id="snormative.#biblio-geometry-1"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-screen-5"> + <tbody id="snormative.#biblio-html"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-transforms-24"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#ref-for-valdef-scroll-behavior-auto-1"> + <tbody id="snormative.#biblio-svg"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-webidl"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-whatwg-dom"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#toc"> + <tbody id="sstatus.#toc"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/cssom-view-1_dev/xhtml1/matchMediaAddListener.xht b/tests/wpt/css-tests/cssom-view-1_dev/xhtml1/matchMediaAddListener.xht index e5419d6ddef..a157053817d 100644 --- a/tests/wpt/css-tests/cssom-view-1_dev/xhtml1/matchMediaAddListener.xht +++ b/tests/wpt/css-tests/cssom-view-1_dev/xhtml1/matchMediaAddListener.xht @@ -4,16 +4,16 @@ <link href="mailto:pwx.frontend@gmail.com" rel="author" title="Chris Wu" /> <link href="http://www.w3.org/TR/cssom-view/#the-mediaquerylist-interface" rel="help" /> <meta content="dom" name="flags" /> - <script src="/resources/testharness.js" type="text/javascript"> - <script src="/resources/testharnessreport.js" type="text/javascript" /> - <style type="text/css"> + <script src="/resources/testharness.js" type="text/javascript"></script> + <script src="/resources/testharnessreport.js" type="text/javascript"></script> + <style type="text/css"> iframe { border: none; } - </style> - </head> - <body> - <div id="log"></div> - <iframe width="200" height="100" id="iframe1" ></iframe> - <script> + </style> + </head> + <body> + <div id="log"></div> + <iframe width="200" id="iframe1" height="100"></iframe> + <script> function reflow(doc) { doc.body.offsetWidth; } @@ -59,9 +59,7 @@ }; changeFrameWidth(width_list[0]); - - </script> - </head><body> + </body></html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/filters-1_dev/html/chapter-14.htm b/tests/wpt/css-tests/filters-1_dev/html/chapter-14.htm index 1cfaab090d0..e25f52217a0 100644 --- a/tests/wpt/css-tests/filters-1_dev/html/chapter-14.htm +++ b/tests/wpt/css-tests/filters-1_dev/html/chapter-14.htm @@ -63,75 +63,21 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-artd"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-compositing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-compositing-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-animations"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3bg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3color"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3val"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-porterduff"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg11"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> @@ -144,15 +90,9 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/filters-1_dev/html/chapter-B.htm b/tests/wpt/css-tests/filters-1_dev/html/chapter-B.htm index 5653552d9b3..b0d7e2192bc 100644 --- a/tests/wpt/css-tests/filters-1_dev/html/chapter-B.htm +++ b/tests/wpt/css-tests/filters-1_dev/html/chapter-B.htm @@ -117,442 +117,502 @@ <tbody id="sB.#InterfaceSVGFilterPrimitiveStandardAttributes"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_GAMMA"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_GAMMA"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_LINEAR"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_LINEAR"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_TABLE"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_TABLE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__amplitude"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__amplitude"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__exponent"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__exponent"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__intercept"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__intercept"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__offset"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__offset"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__slope"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__slope"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__tableValues"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__tableValues"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__type"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__type"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_DARKEN"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_DARKEN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_LIGHTEN"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_LIGHTEN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_MULTIPLY"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_MULTIPLY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_NORMAL"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_NORMAL"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_SCREEN"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_SCREEN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_UNKNOWN"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__in1"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__in2"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__in2"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__mode"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__mode"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_HUEROTATE"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_HUEROTATE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_MATRIX"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_MATRIX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_SATURATE"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_SATURATE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_UNKNOWN"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__in1"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__type"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__type"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__values"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__values"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEComponentTransferElement__in1"> + <tbody id="sInterfaceSVGFEComponentTransferElement.#SVGFEComponentTransferElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_ARITHMETIC"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_ARITHMETIC"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_ATOP"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_ATOP"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_IN"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_IN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_OUT"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_OUT"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_OVER"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_OVER"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_UNKNOWN"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_XOR"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_XOR"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__in1"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__in2"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__in2"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__k1"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__k1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__k2"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__k2"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__k3"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__k3"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__k4"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__k4"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__operator"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__operator"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_DUPLICATE"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_DUPLICATE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_NONE"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_NONE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_UNKNOWN"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_WRAP"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_WRAP"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__bias"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__bias"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__divisor"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__divisor"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__edgeMode"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__edgeMode"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__in1"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__kernelMatrix"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__kernelMatrix"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__kernelUnitLengthX"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__kernelUnitLengthX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__kernelUnitLengthY"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__kernelUnitLengthY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__orderX"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__orderX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__orderY"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__orderY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__targetX"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__targetX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__targetY"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__targetY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDiffuseLightingElement__diffuseConstant"> + <tbody id="sInterfaceSVGFEDiffuseLightingElement.#SVGFEDiffuseLightingElement__diffuseConstant"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDiffuseLightingElement__in1"> + <tbody id="sInterfaceSVGFEDiffuseLightingElement.#SVGFEDiffuseLightingElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDiffuseLightingElement__kernelUnitLengthX"> + <tbody id="sInterfaceSVGFEDiffuseLightingElement.#SVGFEDiffuseLightingElement__kernelUnitLengthX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDiffuseLightingElement__kernelUnitLengthY"> + <tbody id="sInterfaceSVGFEDiffuseLightingElement.#SVGFEDiffuseLightingElement__kernelUnitLengthY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDiffuseLightingElement__surfaceScale"> + <tbody id="sInterfaceSVGFEDiffuseLightingElement.#SVGFEDiffuseLightingElement__surfaceScale"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__SVG_CHANNEL_A"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__SVG_CHANNEL_A"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__SVG_CHANNEL_B"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__SVG_CHANNEL_B"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__SVG_CHANNEL_G"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__SVG_CHANNEL_G"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__SVG_CHANNEL_R"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__SVG_CHANNEL_R"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__SVG_CHANNEL_UNKNOWN"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__SVG_CHANNEL_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__in1"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__in2"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__in2"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__scale"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__scale"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__xChannelSelector"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__xChannelSelector"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__yChannelSelector"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__yChannelSelector"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDistantLightElement__azimuth"> + <tbody id="sInterfaceSVGFEDistantLightElement.#SVGFEDistantLightElement__azimuth"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDistantLightElement__elevation"> + <tbody id="sInterfaceSVGFEDistantLightElement.#SVGFEDistantLightElement__elevation"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__dx"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__dx"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__dy"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__dy"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__in1"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__setStdDeviation"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__setStdDeviation"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__stdDeviationX"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__stdDeviationX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__stdDeviationY"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__stdDeviationY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__SVG_EDGEMODE_DUPLICATE"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__SVG_EDGEMODE_DUPLICATE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__SVG_EDGEMODE_NONE"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__SVG_EDGEMODE_NONE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__SVG_EDGEMODE_UNKNOWN"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__SVG_EDGEMODE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__SVG_EDGEMODE_WRAP"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__SVG_EDGEMODE_WRAP"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__edgeMode"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__edgeMode"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__in1"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__setStdDeviation"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__setStdDeviation"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__stdDeviationX"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__stdDeviationX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__stdDeviationY"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__stdDeviationY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEImageElement__crossOrigin"> + <tbody id="sInterfaceSVGFEImageElement.#SVGFEImageElement__crossOrigin"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEImageElement__preserveAspectRatio"> + <tbody id="sInterfaceSVGFEImageElement.#SVGFEImageElement__preserveAspectRatio"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMergeNodeElement__in1"> + <tbody id="sInterfaceSVGFEMergeNodeElement.#SVGFEMergeNodeElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_DILATE"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_DILATE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_ERODE"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_ERODE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_UNKNOWN"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__in1"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__operator"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__operator"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__radiusX"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__radiusX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__radiusY"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__radiusY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEOffsetElement__dx"> + <tbody id="sInterfaceSVGFEOffsetElement.#SVGFEOffsetElement__dx"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEOffsetElement__dy"> + <tbody id="sInterfaceSVGFEOffsetElement.#SVGFEOffsetElement__dy"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEOffsetElement__in1"> + <tbody id="sInterfaceSVGFEOffsetElement.#SVGFEOffsetElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEPointLightElement__x"> + <tbody id="sInterfaceSVGFEPointLightElement.#SVGFEPointLightElement__x"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEPointLightElement__y"> + <tbody id="sInterfaceSVGFEPointLightElement.#SVGFEPointLightElement__y"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEPointLightElement__z"> + <tbody id="sInterfaceSVGFEPointLightElement.#SVGFEPointLightElement__z"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__in1"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__kernelUnitLengthX"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__kernelUnitLengthX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__kernelUnitLengthY"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__kernelUnitLengthY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__specularConstant"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__specularConstant"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__specularExponent"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__specularExponent"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__surfaceScale"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__surfaceScale"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__limitingConeAngle"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__limitingConeAngle"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__pointsAtX"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__pointsAtX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__pointsAtY"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__pointsAtY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__pointsAtZ"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__pointsAtZ"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__specularExponent"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__specularExponent"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__x"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__x"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__y"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__y"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__z"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__z"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETileElement__in1"> + <tbody id="sInterfaceSVGFETileElement.#SVGFETileElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_STITCHTYPE_NOSTITCH"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_STITCHTYPE_NOSTITCH"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_STITCHTYPE_STITCH"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_STITCHTYPE_STITCH"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_STITCHTYPE_UNKNOWN"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_STITCHTYPE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_FRACTALNOISE"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_FRACTALNOISE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_TURBULENCE"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_TURBULENCE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_UNKNOWN"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__baseFrequencyX"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__baseFrequencyX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__baseFrequencyY"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__baseFrequencyY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__numOctaves"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__numOctaves"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__seed"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__seed"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__stitchTiles"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__stitchTiles"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__type"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__type"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__filterUnits"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__filterUnits"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__height"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__height"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__primitiveUnits"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__primitiveUnits"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__width"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__width"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__x"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__x"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__y"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__y"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterPrimitiveStandardAttributes__height"> + <tbody id="sInterfaceSVGFilterPrimitiveStandardAttributes.#SVGFilterPrimitiveStandardAttributes__height"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterPrimitiveStandardAttributes__result"> + <tbody id="sInterfaceSVGFilterPrimitiveStandardAttributes.#SVGFilterPrimitiveStandardAttributes__result"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterPrimitiveStandardAttributes__width"> + <tbody id="sInterfaceSVGFilterPrimitiveStandardAttributes.#SVGFilterPrimitiveStandardAttributes__width"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterPrimitiveStandardAttributes__x"> + <tbody id="sInterfaceSVGFilterPrimitiveStandardAttributes.#SVGFilterPrimitiveStandardAttributes__x"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterPrimitiveStandardAttributes__y"> + <tbody id="sInterfaceSVGFilterPrimitiveStandardAttributes.#SVGFilterPrimitiveStandardAttributes__y"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-artd"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-animations"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3color"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-porterduff"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-compositing"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-compositing-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3bg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3val"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg11"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/filters-1_dev/xhtml1/chapter-14.xht b/tests/wpt/css-tests/filters-1_dev/xhtml1/chapter-14.xht index fc1feb13549..10a585b2781 100644 --- a/tests/wpt/css-tests/filters-1_dev/xhtml1/chapter-14.xht +++ b/tests/wpt/css-tests/filters-1_dev/xhtml1/chapter-14.xht @@ -63,75 +63,21 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-artd"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-compositing"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-compositing-1"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css21"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3-animations"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3bg"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3color"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-css3val"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-html5"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-porterduff"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-rfc2119"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#biblio-svg11"> - <!-- 0 tests --> - </tbody> <tbody id="s.#changes"> <!-- 0 tests --> </tbody> <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#experimental"> - <!-- 0 tests --> - </tbody> <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#normative"> - <!-- 0 tests --> - </tbody> - <tbody id="s.#partial"> - <!-- 0 tests --> - </tbody> <tbody id="s.#property-index"> <!-- 0 tests --> </tbody> @@ -144,15 +90,9 @@ <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> - <!-- 0 tests --> - </tbody> <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> - <!-- 0 tests --> - </tbody> </table> </body> diff --git a/tests/wpt/css-tests/filters-1_dev/xhtml1/chapter-B.xht b/tests/wpt/css-tests/filters-1_dev/xhtml1/chapter-B.xht index 4e6fc83d21c..bee5c6d746d 100644 --- a/tests/wpt/css-tests/filters-1_dev/xhtml1/chapter-B.xht +++ b/tests/wpt/css-tests/filters-1_dev/xhtml1/chapter-B.xht @@ -117,442 +117,502 @@ <tbody id="sB.#InterfaceSVGFilterPrimitiveStandardAttributes"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_GAMMA"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_GAMMA"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_LINEAR"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_LINEAR"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_TABLE"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_TABLE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__amplitude"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__amplitude"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__exponent"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__exponent"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__intercept"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__intercept"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__offset"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__offset"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__slope"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__slope"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__tableValues"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__tableValues"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGComponentTransferFunctionElement__type"> + <tbody id="sInterfaceSVGComponentTransferFunctionElement.#SVGComponentTransferFunctionElement__type"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_DARKEN"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_DARKEN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_LIGHTEN"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_LIGHTEN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_MULTIPLY"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_MULTIPLY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_NORMAL"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_NORMAL"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_SCREEN"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_SCREEN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__SVG_FEBLEND_MODE_UNKNOWN"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__SVG_FEBLEND_MODE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__in1"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__in2"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__in2"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEBlendElement__mode"> + <tbody id="sInterfaceSVGFEBlendElement.#SVGFEBlendElement__mode"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_HUEROTATE"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_HUEROTATE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_MATRIX"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_MATRIX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_SATURATE"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_SATURATE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_UNKNOWN"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__SVG_FECOLORMATRIX_TYPE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__in1"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__type"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__type"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEColorMatrixElement__values"> + <tbody id="sInterfaceSVGFEColorMatrixElement.#SVGFEColorMatrixElement__values"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEComponentTransferElement__in1"> + <tbody id="sInterfaceSVGFEComponentTransferElement.#SVGFEComponentTransferElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_ARITHMETIC"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_ARITHMETIC"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_ATOP"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_ATOP"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_IN"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_IN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_OUT"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_OUT"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_OVER"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_OVER"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_UNKNOWN"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_XOR"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__SVG_FECOMPOSITE_OPERATOR_XOR"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__in1"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__in2"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__in2"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__k1"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__k1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__k2"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__k2"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__k3"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__k3"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__k4"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__k4"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFECompositeElement__operator"> + <tbody id="sInterfaceSVGFECompositeElement.#SVGFECompositeElement__operator"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_DUPLICATE"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_DUPLICATE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_NONE"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_NONE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_UNKNOWN"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_WRAP"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__SVG_EDGEMODE_WRAP"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__bias"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__bias"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__divisor"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__divisor"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__edgeMode"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__edgeMode"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__in1"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__kernelMatrix"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__kernelMatrix"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__kernelUnitLengthX"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__kernelUnitLengthX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__kernelUnitLengthY"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__kernelUnitLengthY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__orderX"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__orderX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__orderY"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__orderY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__targetX"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__targetX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEConvolveMatrixElement__targetY"> + <tbody id="sInterfaceSVGFEConvolveMatrixElement.#SVGFEConvolveMatrixElement__targetY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDiffuseLightingElement__diffuseConstant"> + <tbody id="sInterfaceSVGFEDiffuseLightingElement.#SVGFEDiffuseLightingElement__diffuseConstant"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDiffuseLightingElement__in1"> + <tbody id="sInterfaceSVGFEDiffuseLightingElement.#SVGFEDiffuseLightingElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDiffuseLightingElement__kernelUnitLengthX"> + <tbody id="sInterfaceSVGFEDiffuseLightingElement.#SVGFEDiffuseLightingElement__kernelUnitLengthX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDiffuseLightingElement__kernelUnitLengthY"> + <tbody id="sInterfaceSVGFEDiffuseLightingElement.#SVGFEDiffuseLightingElement__kernelUnitLengthY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDiffuseLightingElement__surfaceScale"> + <tbody id="sInterfaceSVGFEDiffuseLightingElement.#SVGFEDiffuseLightingElement__surfaceScale"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__SVG_CHANNEL_A"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__SVG_CHANNEL_A"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__SVG_CHANNEL_B"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__SVG_CHANNEL_B"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__SVG_CHANNEL_G"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__SVG_CHANNEL_G"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__SVG_CHANNEL_R"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__SVG_CHANNEL_R"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__SVG_CHANNEL_UNKNOWN"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__SVG_CHANNEL_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__in1"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__in2"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__in2"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__scale"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__scale"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__xChannelSelector"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__xChannelSelector"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDisplacementMapElement__yChannelSelector"> + <tbody id="sInterfaceSVGFEDisplacementMapElement.#SVGFEDisplacementMapElement__yChannelSelector"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDistantLightElement__azimuth"> + <tbody id="sInterfaceSVGFEDistantLightElement.#SVGFEDistantLightElement__azimuth"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDistantLightElement__elevation"> + <tbody id="sInterfaceSVGFEDistantLightElement.#SVGFEDistantLightElement__elevation"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__dx"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__dx"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__dy"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__dy"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__in1"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__setStdDeviation"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__setStdDeviation"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__stdDeviationX"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__stdDeviationX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEDropShadowElement__stdDeviationY"> + <tbody id="sInterfaceSVGFEDropShadowElement.#SVGFEDropShadowElement__stdDeviationY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__SVG_EDGEMODE_DUPLICATE"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__SVG_EDGEMODE_DUPLICATE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__SVG_EDGEMODE_NONE"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__SVG_EDGEMODE_NONE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__SVG_EDGEMODE_UNKNOWN"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__SVG_EDGEMODE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__SVG_EDGEMODE_WRAP"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__SVG_EDGEMODE_WRAP"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__edgeMode"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__edgeMode"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__in1"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__setStdDeviation"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__setStdDeviation"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__stdDeviationX"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__stdDeviationX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEGaussianBlurElement__stdDeviationY"> + <tbody id="sInterfaceSVGFEGaussianBlurElement.#SVGFEGaussianBlurElement__stdDeviationY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEImageElement__crossOrigin"> + <tbody id="sInterfaceSVGFEImageElement.#SVGFEImageElement__crossOrigin"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEImageElement__preserveAspectRatio"> + <tbody id="sInterfaceSVGFEImageElement.#SVGFEImageElement__preserveAspectRatio"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMergeNodeElement__in1"> + <tbody id="sInterfaceSVGFEMergeNodeElement.#SVGFEMergeNodeElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_DILATE"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_DILATE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_ERODE"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_ERODE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_UNKNOWN"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__SVG_MORPHOLOGY_OPERATOR_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__in1"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__operator"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__operator"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__radiusX"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__radiusX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEMorphologyElement__radiusY"> + <tbody id="sInterfaceSVGFEMorphologyElement.#SVGFEMorphologyElement__radiusY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEOffsetElement__dx"> + <tbody id="sInterfaceSVGFEOffsetElement.#SVGFEOffsetElement__dx"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEOffsetElement__dy"> + <tbody id="sInterfaceSVGFEOffsetElement.#SVGFEOffsetElement__dy"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEOffsetElement__in1"> + <tbody id="sInterfaceSVGFEOffsetElement.#SVGFEOffsetElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEPointLightElement__x"> + <tbody id="sInterfaceSVGFEPointLightElement.#SVGFEPointLightElement__x"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEPointLightElement__y"> + <tbody id="sInterfaceSVGFEPointLightElement.#SVGFEPointLightElement__y"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFEPointLightElement__z"> + <tbody id="sInterfaceSVGFEPointLightElement.#SVGFEPointLightElement__z"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__in1"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__kernelUnitLengthX"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__kernelUnitLengthX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__kernelUnitLengthY"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__kernelUnitLengthY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__specularConstant"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__specularConstant"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__specularExponent"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__specularExponent"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpecularLightingElement__surfaceScale"> + <tbody id="sInterfaceSVGFESpecularLightingElement.#SVGFESpecularLightingElement__surfaceScale"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__limitingConeAngle"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__limitingConeAngle"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__pointsAtX"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__pointsAtX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__pointsAtY"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__pointsAtY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__pointsAtZ"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__pointsAtZ"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__specularExponent"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__specularExponent"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__x"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__x"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__y"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__y"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFESpotLightElement__z"> + <tbody id="sInterfaceSVGFESpotLightElement.#SVGFESpotLightElement__z"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETileElement__in1"> + <tbody id="sInterfaceSVGFETileElement.#SVGFETileElement__in1"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_STITCHTYPE_NOSTITCH"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_STITCHTYPE_NOSTITCH"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_STITCHTYPE_STITCH"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_STITCHTYPE_STITCH"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_STITCHTYPE_UNKNOWN"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_STITCHTYPE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_FRACTALNOISE"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_FRACTALNOISE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_TURBULENCE"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_TURBULENCE"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_UNKNOWN"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__SVG_TURBULENCE_TYPE_UNKNOWN"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__baseFrequencyX"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__baseFrequencyX"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__baseFrequencyY"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__baseFrequencyY"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__numOctaves"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__numOctaves"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__seed"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__seed"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__stitchTiles"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__stitchTiles"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFETurbulenceElement__type"> + <tbody id="sInterfaceSVGFETurbulenceElement.#SVGFETurbulenceElement__type"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__filterUnits"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__filterUnits"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__height"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__height"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__primitiveUnits"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__primitiveUnits"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__width"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__width"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__x"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__x"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterElement__y"> + <tbody id="sInterfaceSVGFilterElement.#SVGFilterElement__y"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterPrimitiveStandardAttributes__height"> + <tbody id="sInterfaceSVGFilterPrimitiveStandardAttributes.#SVGFilterPrimitiveStandardAttributes__height"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterPrimitiveStandardAttributes__result"> + <tbody id="sInterfaceSVGFilterPrimitiveStandardAttributes.#SVGFilterPrimitiveStandardAttributes__result"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterPrimitiveStandardAttributes__width"> + <tbody id="sInterfaceSVGFilterPrimitiveStandardAttributes.#SVGFilterPrimitiveStandardAttributes__width"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterPrimitiveStandardAttributes__x"> + <tbody id="sInterfaceSVGFilterPrimitiveStandardAttributes.#SVGFilterPrimitiveStandardAttributes__x"> <!-- 0 tests --> </tbody> - <tbody id="sB.#SVGFilterPrimitiveStandardAttributes__y"> + <tbody id="sInterfaceSVGFilterPrimitiveStandardAttributes.#SVGFilterPrimitiveStandardAttributes__y"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conformance-classes"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#conventions"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#experimental"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#partial"> + <!-- 0 tests --> + </tbody> + <tbody id="sconformance.#testing"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-artd"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3-animations"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-css3color"> + <!-- 0 tests --> + </tbody> + <tbody id="sinformative.#biblio-porterduff"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-compositing"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-compositing-1"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css21"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3bg"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-css3val"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-html5"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-rfc2119"> + <!-- 0 tests --> + </tbody> + <tbody id="snormative.#biblio-svg11"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#informative"> + <!-- 0 tests --> + </tbody> + <tbody id="sreferences.#normative"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/geometry-1_dev/html/chapter-7.htm b/tests/wpt/css-tests/geometry-1_dev/html/chapter-7.htm index 9793130012e..5606de65b61 100644 --- a/tests/wpt/css-tests/geometry-1_dev/html/chapter-7.htm +++ b/tests/wpt/css-tests/geometry-1_dev/html/chapter-7.htm @@ -39,82 +39,82 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-2dcontext"> + <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-transforms"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-html5"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-svg11"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-typedarray"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-webidl"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#idl-index"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sinformative.#biblio-2dcontext"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#biblio-svg11"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sinformative.#biblio-typedarray"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-css3-transforms"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-html5"> <!-- 0 tests --> </tbody> - <tbody id="s.#risk"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-webidl"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sstatus.#risk"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/geometry-1_dev/xhtml1/chapter-7.xht b/tests/wpt/css-tests/geometry-1_dev/xhtml1/chapter-7.xht index 8f698beda3f..65d3843ec10 100644 --- a/tests/wpt/css-tests/geometry-1_dev/xhtml1/chapter-7.xht +++ b/tests/wpt/css-tests/geometry-1_dev/xhtml1/chapter-7.xht @@ -39,82 +39,82 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-2dcontext"> + <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-transforms"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-html5"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-svg11"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-typedarray"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-webidl"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#idl-index"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sinformative.#biblio-2dcontext"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#biblio-svg11"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sinformative.#biblio-typedarray"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-css3-transforms"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-html5"> <!-- 0 tests --> </tbody> - <tbody id="s.#risk"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-webidl"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sstatus.#risk"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/geometry-1_dev/xhtml1print/chapter-7.xht b/tests/wpt/css-tests/geometry-1_dev/xhtml1print/chapter-7.xht index 8f698beda3f..65d3843ec10 100644 --- a/tests/wpt/css-tests/geometry-1_dev/xhtml1print/chapter-7.xht +++ b/tests/wpt/css-tests/geometry-1_dev/xhtml1print/chapter-7.xht @@ -39,82 +39,82 @@ <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-2dcontext"> + <tbody id="s.#changes"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-css3-transforms"> + <tbody id="s.#conformance"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-html5"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-rfc2119"> + <tbody id="s.#idl-index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-svg11"> + <tbody id="s.#index"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-typedarray"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#biblio-webidl"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="s.#subtitle"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance"> + <tbody id="s.#title"> <!-- 0 tests --> </tbody> - <tbody id="s.#conformance-classes"> + <tbody id="sconformance.#conformance-classes"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sconformance.#conventions"> <!-- 0 tests --> </tbody> - <tbody id="s.#conventions"> + <tbody id="sconformance.#cr-exit-criteria"> <!-- 0 tests --> </tbody> - <tbody id="s.#cr-exit-criteria"> + <tbody id="sconformance.#experimental"> <!-- 0 tests --> </tbody> - <tbody id="s.#experimental"> + <tbody id="sconformance.#partial"> <!-- 0 tests --> </tbody> - <tbody id="s.#idl-index"> + <tbody id="sconformance.#testing"> <!-- 0 tests --> </tbody> - <tbody id="s.#index"> + <tbody id="sinformative.#biblio-2dcontext"> <!-- 0 tests --> </tbody> - <tbody id="s.#informative"> + <tbody id="sinformative.#biblio-svg11"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative"> + <tbody id="sinformative.#biblio-typedarray"> <!-- 0 tests --> </tbody> - <tbody id="s.#partial"> + <tbody id="snormative.#biblio-css3-transforms"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="snormative.#biblio-html5"> <!-- 0 tests --> </tbody> - <tbody id="s.#risk"> + <tbody id="snormative.#biblio-rfc2119"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="snormative.#biblio-webidl"> <!-- 0 tests --> </tbody> - <tbody id="s.#subtitle"> + <tbody id="sreferences.#informative"> <!-- 0 tests --> </tbody> - <tbody id="s.#testing"> + <tbody id="sreferences.#normative"> <!-- 0 tests --> </tbody> - <tbody id="s.#title"> + <tbody id="sstatus.#risk"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c_process_revision"> + <tbody id="sstatus.#w3c_process_revision"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/mediaqueries-3_dev/html/chapter-6.htm b/tests/wpt/css-tests/mediaqueries-3_dev/html/chapter-6.htm index 5197a8b41a6..20c0d6807f9 100644 --- a/tests/wpt/css-tests/mediaqueries-3_dev/html/chapter-6.htm +++ b/tests/wpt/css-tests/mediaqueries-3_dev/html/chapter-6.htm @@ -83,49 +83,49 @@ <a href="https://www.w3.org/TR/css3-mediaqueries/#resolution0">6.1 Resolution</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#HTML401"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#HTML5"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2531"> + <tbody id="s.#media-queries"> <!-- 0 tests --> </tbody> - <tbody id="s.#XMLSTYLE"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="s.#w3c-working"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sother-references.#HTML401"> <!-- 0 tests --> </tbody> - <tbody id="s.#media-queries"> + <tbody id="sother-references.#HTML5"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="sother-references.#RFC2531"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="sother-references.#XMLSTYLE"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c-working"> + <tbody id="sstatus.#changes"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/mediaqueries-3_dev/xhtml1/chapter-6.xht b/tests/wpt/css-tests/mediaqueries-3_dev/xhtml1/chapter-6.xht index 8a1fc0301da..92d309fe343 100644 --- a/tests/wpt/css-tests/mediaqueries-3_dev/xhtml1/chapter-6.xht +++ b/tests/wpt/css-tests/mediaqueries-3_dev/xhtml1/chapter-6.xht @@ -83,49 +83,49 @@ <a href="https://www.w3.org/TR/css3-mediaqueries/#resolution0">6.1 Resolution</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#HTML401"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#HTML5"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2531"> + <tbody id="s.#media-queries"> <!-- 0 tests --> </tbody> - <tbody id="s.#XMLSTYLE"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="s.#w3c-working"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sother-references.#HTML401"> <!-- 0 tests --> </tbody> - <tbody id="s.#media-queries"> + <tbody id="sother-references.#HTML5"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="sother-references.#RFC2531"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="sother-references.#XMLSTYLE"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c-working"> + <tbody id="sstatus.#changes"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/mediaqueries-3_dev/xhtml1print/chapter-6.xht b/tests/wpt/css-tests/mediaqueries-3_dev/xhtml1print/chapter-6.xht index 8a1fc0301da..92d309fe343 100644 --- a/tests/wpt/css-tests/mediaqueries-3_dev/xhtml1print/chapter-6.xht +++ b/tests/wpt/css-tests/mediaqueries-3_dev/xhtml1print/chapter-6.xht @@ -83,49 +83,49 @@ <a href="https://www.w3.org/TR/css3-mediaqueries/#resolution0">6.1 Resolution</a></th></tr> <!-- 0 tests --> </tbody> - <tbody id="s.#CSS21"> + <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#HTML401"> + <tbody id="s.#acknowledgments"> <!-- 0 tests --> </tbody> - <tbody id="s.#HTML5"> + <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#RFC2531"> + <tbody id="s.#media-queries"> <!-- 0 tests --> </tbody> - <tbody id="s.#XMLSTYLE"> + <tbody id="s.#references"> <!-- 0 tests --> </tbody> - <tbody id="s.#abstract"> + <tbody id="s.#status"> <!-- 0 tests --> </tbody> - <tbody id="s.#acknowledgments"> + <tbody id="s.#w3c-working"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> + <tbody id="snormative-references.#CSS21"> <!-- 0 tests --> </tbody> - <tbody id="s.#contents"> + <tbody id="sother-references.#HTML401"> <!-- 0 tests --> </tbody> - <tbody id="s.#media-queries"> + <tbody id="sother-references.#HTML5"> <!-- 0 tests --> </tbody> - <tbody id="s.#normative-references"> + <tbody id="sother-references.#RFC2531"> <!-- 0 tests --> </tbody> - <tbody id="s.#other-references"> + <tbody id="sother-references.#XMLSTYLE"> <!-- 0 tests --> </tbody> - <tbody id="s.#references"> + <tbody id="sreferences.#normative-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#status"> + <tbody id="sreferences.#other-references"> <!-- 0 tests --> </tbody> - <tbody id="s.#w3c-working"> + <tbody id="sstatus.#changes"> <!-- 0 tests --> </tbody> </table> diff --git a/tests/wpt/css-tests/selectors-3_dev/html/chapter-15.htm b/tests/wpt/css-tests/selectors-3_dev/html/chapter-15.htm index a020c6c1564..d6fd1f5ac05 100644 --- a/tests/wpt/css-tests/selectors-3_dev/html/chapter-15.htm +++ b/tests/wpt/css-tests/selectors-3_dev/html/chapter-15.htm @@ -93,15 +93,9 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#editors-list"> - <!-- 0 tests --> - </tbody> <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> @@ -111,6 +105,12 @@ <tbody id="s.#title"> <!-- 0 tests --> </tbody> + <tbody id="slongstatus-date.#editors-list"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#changes"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/selectors-3_dev/xhtml1/chapter-15.xht b/tests/wpt/css-tests/selectors-3_dev/xhtml1/chapter-15.xht index 19ba430efc9..5aec2ebc6af 100644 --- a/tests/wpt/css-tests/selectors-3_dev/xhtml1/chapter-15.xht +++ b/tests/wpt/css-tests/selectors-3_dev/xhtml1/chapter-15.xht @@ -93,15 +93,9 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#editors-list"> - <!-- 0 tests --> - </tbody> <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> @@ -111,6 +105,12 @@ <tbody id="s.#title"> <!-- 0 tests --> </tbody> + <tbody id="slongstatus-date.#editors-list"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#changes"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/selectors-3_dev/xhtml1print/chapter-15.xht b/tests/wpt/css-tests/selectors-3_dev/xhtml1print/chapter-15.xht index 19ba430efc9..5aec2ebc6af 100644 --- a/tests/wpt/css-tests/selectors-3_dev/xhtml1print/chapter-15.xht +++ b/tests/wpt/css-tests/selectors-3_dev/xhtml1print/chapter-15.xht @@ -93,15 +93,9 @@ <tbody id="s.#abstract"> <!-- 0 tests --> </tbody> - <tbody id="s.#changes"> - <!-- 0 tests --> - </tbody> <tbody id="s.#contents"> <!-- 0 tests --> </tbody> - <tbody id="s.#editors-list"> - <!-- 0 tests --> - </tbody> <tbody id="s.#longstatus-date"> <!-- 0 tests --> </tbody> @@ -111,6 +105,12 @@ <tbody id="s.#title"> <!-- 0 tests --> </tbody> + <tbody id="slongstatus-date.#editors-list"> + <!-- 0 tests --> + </tbody> + <tbody id="sstatus.#changes"> + <!-- 0 tests --> + </tbody> </table> </body> diff --git a/tests/wpt/css-tests/selectors-4_dev/html/chapter-12.htm b/tests/wpt/css-tests/selectors-4_dev/html/chapter-12.htm index 5d03b23fbb5..287b8e030ab 100644 --- a/tests/wpt/css-tests/selectors-4_dev/html/chapter-12.htm +++ b/tests/wpt/css-tests/selectors-4_dev/html/chapter-12.htm @@ -13,7 +13,7 @@ <body> <h1>Selectors Level 4 CR Test Suite</h1> - <h2>Tree-Structural pseudo-classes (0 tests)</h2> + <h2>Tree-Structural pseudo-classes (1 tests)</h2> <table width="100%"> <col id="test-column"> <col id="refs-column"> @@ -175,7 +175,7 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s12.6.3">+</a> <a href="https://www.w3.org/TR/selectors4/#the-first-of-type-pseudo">12.6.3 :first-of-type pseudo-class</a></th></tr> - <!-- 0 tests --> + <!-- 1 tests --> </tbody> <tbody id="s12.6.3.#first-of-type-pseudo"> <!-- 0 tests --> diff --git a/tests/wpt/css-tests/selectors-4_dev/html/reference/of-type-selectors-ref.htm b/tests/wpt/css-tests/selectors-4_dev/html/reference/of-type-selectors-ref.htm new file mode 100644 index 00000000000..d813f339a95 --- /dev/null +++ b/tests/wpt/css-tests/selectors-4_dev/html/reference/of-type-selectors-ref.htm @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html lang="en" lang="en"> +<head> +<title>Selectors Level 4: :first-of-type</title> +<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"> +<style type="text/css"> +div > *|* { + display: block; + color: black; + border: thin solid; + margin: 1em; +} +.yellow { + background: yellow; +} +.green { + background: lime; +} +</style> +</head> +<body> +<div> +<p class="green">This line should have a green background.</p> +<p class="yellow">This line should have a yellow background.</p> +<p class="yellow">This line should have a yellow background.</p> +<p class="green">This line should have a green background.</p> +<p class="green">This line should have a green background.</p> +</div> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/selectors-4_dev/html/reftest.list b/tests/wpt/css-tests/selectors-4_dev/html/reftest.list index 5d4092a9308..e3694cae921 100644 --- a/tests/wpt/css-tests/selectors-4_dev/html/reftest.list +++ b/tests/wpt/css-tests/selectors-4_dev/html/reftest.list @@ -10,6 +10,7 @@ focus-within-shadow-002.htm == reference/focus-within-shadow-001-ref.htm focus-within-shadow-003.htm == reference/focus-within-shadow-001-ref.htm focus-within-shadow-004.htm == reference/focus-within-shadow-001-ref.htm focus-within-shadow-005.htm == reference/focus-within-shadow-001-ref.htm +of-type-selectors.htm == reference/of-type-selectors-ref.htm selector-required.htm == reference/selector-required-ref.htm selectors-dir-selector-ltr-001.htm == reference/selectors-dir-selector-ref.htm selectors-dir-selector-rtl-001.htm == reference/selectors-dir-selector-ref.htm diff --git a/tests/wpt/css-tests/selectors-4_dev/html/selector-required.htm b/tests/wpt/css-tests/selectors-4_dev/html/selector-required.htm index bd208dfdd5d..d1de638ceaf 100644 --- a/tests/wpt/css-tests/selectors-4_dev/html/selector-required.htm +++ b/tests/wpt/css-tests/selectors-4_dev/html/selector-required.htm @@ -19,7 +19,7 @@ <input required=""> </p> <p> - <input optinal=""> + <input optional=""> </p> diff --git a/tests/wpt/css-tests/selectors-4_dev/html/toc.htm b/tests/wpt/css-tests/selectors-4_dev/html/toc.htm index 5d293d60a3b..32260f1f4d0 100644 --- a/tests/wpt/css-tests/selectors-4_dev/html/toc.htm +++ b/tests/wpt/css-tests/selectors-4_dev/html/toc.htm @@ -77,7 +77,7 @@ <tbody id="s12"> <tr><th><a href="chapter-12.htm">Chapter 12 - Tree-Structural pseudo-classes</a></th> - <td>(0 Tests)</td></tr> + <td>(1 Tests)</td></tr> </tbody> <tbody id="s13"> <tr><th><a href="chapter-13.htm">Chapter 13 - diff --git a/tests/wpt/css-tests/selectors-4_dev/implementation-report-TEMPLATE.data b/tests/wpt/css-tests/selectors-4_dev/implementation-report-TEMPLATE.data index 20d8c201004..c081f5f3f1e 100644 --- a/tests/wpt/css-tests/selectors-4_dev/implementation-report-TEMPLATE.data +++ b/tests/wpt/css-tests/selectors-4_dev/implementation-report-TEMPLATE.data @@ -27,8 +27,9 @@ html/focus-within-shadow-005.htm c0c29807bd784660af015799ccdebc636f7b89cb ? xhtml1/focus-within-shadow-005.xht c0c29807bd784660af015799ccdebc636f7b89cb ? html/hover-001-manual.htm d73c0f7a47e543b8bf3511a219bf1527269aecbd ? xhtml1/hover-001-manual.xht d73c0f7a47e543b8bf3511a219bf1527269aecbd ? -html/selector-required.htm 135d36f01146ee9052d8fcf5df452469c2b79188 ? -xhtml1/selector-required.xht 135d36f01146ee9052d8fcf5df452469c2b79188 ? +xhtml1/of-type-selectors.xht 770860f67b199221ed9b56b28a27b76df12c5c6b ? +html/selector-required.htm f1f48bea692b0fde0151317283ad843511e7cadb ? +xhtml1/selector-required.xht f1f48bea692b0fde0151317283ad843511e7cadb ? html/selectors-dir-selector-ltr-001.htm f5433783e1fb48d683f4b248c235e9d86ae3394e ? xhtml1/selectors-dir-selector-ltr-001.xht f5433783e1fb48d683f4b248c235e9d86ae3394e ? html/selectors-dir-selector-rtl-001.htm 513d1a59ceb7f22b96ac3f6dbee55234610211eb ? diff --git a/tests/wpt/css-tests/selectors-4_dev/index.htm b/tests/wpt/css-tests/selectors-4_dev/index.htm index 4e0bf3c087a..6edff670043 100644 --- a/tests/wpt/css-tests/selectors-4_dev/index.htm +++ b/tests/wpt/css-tests/selectors-4_dev/index.htm @@ -132,9 +132,11 @@ <p>Many thanks to the following for their contributions:</p> <ul> <li>Chris Rebert</li> + <li>Elika J. Etemad</li> <li>Florian Rivoal</li> <li>Keyong Li</li> <li>LEE YUN HEE</li> + <li>Ms2ger</li> <li>Takeshi Kurosawa</li> </ul> diff --git a/tests/wpt/css-tests/selectors-4_dev/index.xht b/tests/wpt/css-tests/selectors-4_dev/index.xht index 30dac3afd6f..37a9b258d52 100644 --- a/tests/wpt/css-tests/selectors-4_dev/index.xht +++ b/tests/wpt/css-tests/selectors-4_dev/index.xht @@ -132,9 +132,11 @@ <p>Many thanks to the following for their contributions:</p> <ul> <li>Chris Rebert</li> + <li>Elika J. Etemad</li> <li>Florian Rivoal</li> <li>Keyong Li</li> <li>LEE YUN HEE</li> + <li>Ms2ger</li> <li>Takeshi Kurosawa</li> </ul> diff --git a/tests/wpt/css-tests/selectors-4_dev/testinfo.data b/tests/wpt/css-tests/selectors-4_dev/testinfo.data index 44d28791d0a..5d9700fec40 100644 --- a/tests/wpt/css-tests/selectors-4_dev/testinfo.data +++ b/tests/wpt/css-tests/selectors-4_dev/testinfo.data @@ -11,6 +11,7 @@ focus-within-shadow-003 reference/focus-within-shadow-001-ref Selectors Level 4: focus-within-shadow-004 reference/focus-within-shadow-001-ref Selectors Level 4: focus-within with shadow DOM dom,interact https://drafts.csswg.org/selectors-4/#focus-within-pseudo fca125db2ba27f73d1a94b246a8cbeceebaac768 `Keyong Li`<mailto:kli79@bloomberg.net>,`Florian Rivoal`<mailto:florian@rivoal.net> Test that :focus-within applies to an ancestor of a shadow host containing a focused element. focus-within-shadow-005 reference/focus-within-shadow-001-ref Selectors Level 4: focus-within with shadow DOM dom,interact https://drafts.csswg.org/selectors-4/#focus-within-pseudo c0c29807bd784660af015799ccdebc636f7b89cb `Keyong Li`<mailto:kli79@bloomberg.net> Test that :focus-within propagates through nested shadow DOMs containing a focused element. hover-001-manual hover pseudo-class when scrolling interact,scroll https://drafts.csswg.org/selectors-4/#the-hover-pseudo,http://www.w3.org/TR/selectors/#the-user-action-pseudo-classes-hover-act d73c0f7a47e543b8bf3511a219bf1527269aecbd `Chris Rebert`<http://chrisrebert.com> Scrolling away from an element that was hovered over should cause the :hover pseudo-class to no longer match said element. -selector-required reference/selector-required-ref CSS level4 Selector :required and :optional http://www.w3.org/TR/selectors4/#opt-pseudos 135d36f01146ee9052d8fcf5df452469c2b79188 `LEE YUN HEE`<mailto:zzirasi@gmail.com> You should see a green input box. +of-type-selectors reference/of-type-selectors-ref Selectors Level 4: :first-of-type namespace,nonHTML https://drafts.csswg.org/selectors-4/#the-first-of-type-pseudo 770860f67b199221ed9b56b28a27b76df12c5c6b `Elika J. Etemad`<http://fantasai.inkedblade.net/contact>,`Ms2ger`<mailto:Ms2ger@gmail.com> +selector-required reference/selector-required-ref CSS level4 Selector :required and :optional http://www.w3.org/TR/selectors4/#opt-pseudos f1f48bea692b0fde0151317283ad843511e7cadb `LEE YUN HEE`<mailto:zzirasi@gmail.com> You should see a green input box. selectors-dir-selector-ltr-001 reference/selectors-dir-selector-ref basic support for dir(ltr) http://www.w3.org/TR/selectors4/#dir-pseudo f5433783e1fb48d683f4b248c235e9d86ae3394e `Takeshi Kurosawa`<mailto:taken.spc@gmail.com> The :dir(ltr) pseudo-class matches an element that has a directionality of (ltr). Since the div element has dir=ltr, the selector matches. selectors-dir-selector-rtl-001 reference/selectors-dir-selector-ref basic support for dir(rtl) http://www.w3.org/TR/selectors4/#dir-pseudo 513d1a59ceb7f22b96ac3f6dbee55234610211eb `Takeshi Kurosawa`<mailto:taken.spc@gmail.com> The :dir(rtl) pseudo-class matches an elment that has a directionality of right-to-left (rtl). Since the div element has dir=rtl, the selector matches. diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1/chapter-12.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1/chapter-12.xht index 9ff7efeadfb..505177e87b9 100644 --- a/tests/wpt/css-tests/selectors-4_dev/xhtml1/chapter-12.xht +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1/chapter-12.xht @@ -13,7 +13,7 @@ <body> <h1>Selectors Level 4 CR Test Suite</h1> - <h2>Tree-Structural pseudo-classes (0 tests)</h2> + <h2>Tree-Structural pseudo-classes (1 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -175,7 +175,15 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s12.6.3">+</a> <a href="https://www.w3.org/TR/selectors4/#the-first-of-type-pseudo">12.6.3 :first-of-type pseudo-class</a></th></tr> - <!-- 0 tests --> + <!-- 1 tests --> + <tr id="of-type-selectors-12.6.3" class="primary namespace nonHTML"> + <td><strong> + <a href="of-type-selectors.xht">of-type-selectors</a></strong></td> + <td><a href="reference/of-type-selectors-ref.xht">=</a> </td> + <td><abbr class="namespace" title="Requires XML Namespaces support">Namespaces</abbr></td> + <td>Selectors Level 4: :first-of-type + </td> + </tr> </tbody> <tbody id="s12.6.3.#first-of-type-pseudo"> <!-- 0 tests --> diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1/of-type-selectors.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1/of-type-selectors.xht new file mode 100644 index 00000000000..d783eca1325 --- /dev/null +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1/of-type-selectors.xht @@ -0,0 +1,31 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> +<title>Selectors Level 4: :first-of-type</title> +<meta name="flags" content="namespace nonHTML"/> +<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"/> +<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#the-first-of-type-pseudo"/> +<link rel="match" href="reference/of-type-selectors-ref.xht"/> +<style type="text/css"> +div > *|* { + display: block; + color: black; + background: yellow; + border: thin solid; + margin: 1em; +} +div > *|*:first-of-type { + background: lime; +} +</style> +</head> +<body> +<div> +<p>This line should have a green background.</p> +<p>This line should have a yellow background.</p> +<html:p>This line should have a yellow background.</html:p> +<p xmlns="http://www.example.com/ns">This line should have a green background.</p> +<p xmlns="">This line should have a green background.</p> +</div> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1/reference/of-type-selectors-ref.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1/reference/of-type-selectors-ref.xht new file mode 100644 index 00000000000..8d56b03be7c --- /dev/null +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1/reference/of-type-selectors-ref.xht @@ -0,0 +1,29 @@ +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> +<title>Selectors Level 4: :first-of-type</title> +<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/> +<style type="text/css"> +div > *|* { + display: block; + color: black; + border: thin solid; + margin: 1em; +} +.yellow { + background: yellow; +} +.green { + background: lime; +} +</style> +</head> +<body> +<div> +<p class="green">This line should have a green background.</p> +<p class="yellow">This line should have a yellow background.</p> +<p class="yellow">This line should have a yellow background.</p> +<p class="green">This line should have a green background.</p> +<p class="green">This line should have a green background.</p> +</div> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1/reftest-toc.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1/reftest-toc.xht index 1b1721a40ff..cc69ccc31cc 100644 --- a/tests/wpt/css-tests/selectors-4_dev/xhtml1/reftest-toc.xht +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1/reftest-toc.xht @@ -112,6 +112,14 @@ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="interact" title="Requires user interaction">Interact</abbr></td> </tr> </tbody> + <tbody id="of-type-selectors" class="namespace nonHTML"> + <tr> + <td rowspan="1" title="Selectors Level 4: :first-of-type"> + <a href="of-type-selectors.xht">of-type-selectors</a></td> + <td><a href="reference/of-type-selectors-ref.xht">=</a> </td> + <td rowspan="1"><abbr class="namespace" title="Requires XML Namespaces support">Namespaces</abbr></td> + </tr> + </tbody> <tbody id="selector-required" class=""> <tr> <td rowspan="1" title="CSS level4 Selector :required and :optional"> diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1/reftest.list b/tests/wpt/css-tests/selectors-4_dev/xhtml1/reftest.list index 827b25c66ed..c3c83b7f9e7 100644 --- a/tests/wpt/css-tests/selectors-4_dev/xhtml1/reftest.list +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1/reftest.list @@ -10,6 +10,7 @@ focus-within-shadow-002.xht == reference/focus-within-shadow-001-ref.xht focus-within-shadow-003.xht == reference/focus-within-shadow-001-ref.xht focus-within-shadow-004.xht == reference/focus-within-shadow-001-ref.xht focus-within-shadow-005.xht == reference/focus-within-shadow-001-ref.xht +of-type-selectors.xht == reference/of-type-selectors-ref.xht selector-required.xht == reference/selector-required-ref.xht selectors-dir-selector-ltr-001.xht == reference/selectors-dir-selector-ref.xht selectors-dir-selector-rtl-001.xht == reference/selectors-dir-selector-ref.xht diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1/selector-required.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1/selector-required.xht index bfe528d5351..bad02dba82e 100644 --- a/tests/wpt/css-tests/selectors-4_dev/xhtml1/selector-required.xht +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1/selector-required.xht @@ -19,7 +19,7 @@ <input required="" /> </p> <p> - <input optinal="" /> + <input optional="" /> </p> diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1/toc.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1/toc.xht index b2c7ea6788e..94f15960eea 100644 --- a/tests/wpt/css-tests/selectors-4_dev/xhtml1/toc.xht +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1/toc.xht @@ -77,7 +77,7 @@ <tbody id="s12"> <tr><th><a href="chapter-12.xht">Chapter 12 - Tree-Structural pseudo-classes</a></th> - <td>(0 Tests)</td></tr> + <td>(1 Tests)</td></tr> </tbody> <tbody id="s13"> <tr><th><a href="chapter-13.xht">Chapter 13 - diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/chapter-12.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/chapter-12.xht index 9ff7efeadfb..505177e87b9 100644 --- a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/chapter-12.xht +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/chapter-12.xht @@ -13,7 +13,7 @@ <body> <h1>Selectors Level 4 CR Test Suite</h1> - <h2>Tree-Structural pseudo-classes (0 tests)</h2> + <h2>Tree-Structural pseudo-classes (1 tests)</h2> <table width="100%"> <col id="test-column"></col> <col id="refs-column"></col> @@ -175,7 +175,15 @@ <tr><th colspan="4" scope="rowgroup"> <a href="#s12.6.3">+</a> <a href="https://www.w3.org/TR/selectors4/#the-first-of-type-pseudo">12.6.3 :first-of-type pseudo-class</a></th></tr> - <!-- 0 tests --> + <!-- 1 tests --> + <tr id="of-type-selectors-12.6.3" class="primary namespace nonHTML"> + <td><strong> + <a href="of-type-selectors.xht">of-type-selectors</a></strong></td> + <td><a href="reference/of-type-selectors-ref.xht">=</a> </td> + <td><abbr class="namespace" title="Requires XML Namespaces support">Namespaces</abbr></td> + <td>Selectors Level 4: :first-of-type + </td> + </tr> </tbody> <tbody id="s12.6.3.#first-of-type-pseudo"> <!-- 0 tests --> diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/of-type-selectors.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/of-type-selectors.xht new file mode 100644 index 00000000000..903844dea1e --- /dev/null +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/of-type-selectors.xht @@ -0,0 +1,40 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> +<title>Selectors Level 4: :first-of-type</title> + <style type="text/css"> + @page { font: italic 8pt sans-serif; color: gray; + margin: 7%; + counter-increment: page; + @top-left { content: "Selectors Level 4 CR Test Suite"; } + @top-right { content: "Test of-type-selectors"; } + @bottom-right { content: counter(page); } + } +</style> +<meta name="flags" content="namespace nonHTML"/> +<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"/> +<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#the-first-of-type-pseudo"/> +<link rel="match" href="reference/of-type-selectors-ref.xht"/> +<style type="text/css"> +div > *|* { + display: block; + color: black; + background: yellow; + border: thin solid; + margin: 1em; +} +div > *|*:first-of-type { + background: lime; +} +</style> +</head> +<body> +<div> +<p>This line should have a green background.</p> +<p>This line should have a yellow background.</p> +<html:p>This line should have a yellow background.</html:p> +<p xmlns="http://www.example.com/ns">This line should have a green background.</p> +<p xmlns="">This line should have a green background.</p> +</div> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/reference/of-type-selectors-ref.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/reference/of-type-selectors-ref.xht new file mode 100644 index 00000000000..9958dc5942f --- /dev/null +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/reference/of-type-selectors-ref.xht @@ -0,0 +1,38 @@ +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> +<title>Selectors Level 4: :first-of-type</title> + <style type="text/css"> + @page { font: italic 8pt sans-serif; color: gray; + margin: 7%; + counter-increment: page; + @top-left { content: "Selectors Level 4 CR Test Suite"; } + @top-right { content: "Test of-type-selectors-ref"; } + @bottom-right { content: counter(page); } + } +</style> +<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/> +<style type="text/css"> +div > *|* { + display: block; + color: black; + border: thin solid; + margin: 1em; +} +.yellow { + background: yellow; +} +.green { + background: lime; +} +</style> +</head> +<body> +<div> +<p class="green">This line should have a green background.</p> +<p class="yellow">This line should have a yellow background.</p> +<p class="yellow">This line should have a yellow background.</p> +<p class="green">This line should have a green background.</p> +<p class="green">This line should have a green background.</p> +</div> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/reftest-toc.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/reftest-toc.xht index 1b1721a40ff..cc69ccc31cc 100644 --- a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/reftest-toc.xht +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/reftest-toc.xht @@ -112,6 +112,14 @@ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="interact" title="Requires user interaction">Interact</abbr></td> </tr> </tbody> + <tbody id="of-type-selectors" class="namespace nonHTML"> + <tr> + <td rowspan="1" title="Selectors Level 4: :first-of-type"> + <a href="of-type-selectors.xht">of-type-selectors</a></td> + <td><a href="reference/of-type-selectors-ref.xht">=</a> </td> + <td rowspan="1"><abbr class="namespace" title="Requires XML Namespaces support">Namespaces</abbr></td> + </tr> + </tbody> <tbody id="selector-required" class=""> <tr> <td rowspan="1" title="CSS level4 Selector :required and :optional"> diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/reftest.list b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/reftest.list index 827b25c66ed..c3c83b7f9e7 100644 --- a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/reftest.list +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/reftest.list @@ -10,6 +10,7 @@ focus-within-shadow-002.xht == reference/focus-within-shadow-001-ref.xht focus-within-shadow-003.xht == reference/focus-within-shadow-001-ref.xht focus-within-shadow-004.xht == reference/focus-within-shadow-001-ref.xht focus-within-shadow-005.xht == reference/focus-within-shadow-001-ref.xht +of-type-selectors.xht == reference/of-type-selectors-ref.xht selector-required.xht == reference/selector-required-ref.xht selectors-dir-selector-ltr-001.xht == reference/selectors-dir-selector-ref.xht selectors-dir-selector-rtl-001.xht == reference/selectors-dir-selector-ref.xht diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/selector-required.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/selector-required.xht index bfe528d5351..bad02dba82e 100644 --- a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/selector-required.xht +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/selector-required.xht @@ -19,7 +19,7 @@ <input required="" /> </p> <p> - <input optinal="" /> + <input optional="" /> </p> diff --git a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/toc.xht b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/toc.xht index b2c7ea6788e..94f15960eea 100644 --- a/tests/wpt/css-tests/selectors-4_dev/xhtml1print/toc.xht +++ b/tests/wpt/css-tests/selectors-4_dev/xhtml1print/toc.xht @@ -77,7 +77,7 @@ <tbody id="s12"> <tr><th><a href="chapter-12.xht">Chapter 12 - Tree-Structural pseudo-classes</a></th> - <td>(0 Tests)</td></tr> + <td>(1 Tests)</td></tr> </tbody> <tbody id="s13"> <tr><th><a href="chapter-13.xht">Chapter 13 - diff --git a/tests/wpt/css-tests/source_rev b/tests/wpt/css-tests/source_rev index 3c0689de7ee..77e2f837740 100644 --- a/tests/wpt/css-tests/source_rev +++ b/tests/wpt/css-tests/source_rev @@ -1 +1 @@ -e37d37aae207869203a486476c63e9823a45ff4a
\ No newline at end of file +7ba683c30e965752bd8044803f6dd3969c2c8daa
\ No newline at end of file diff --git a/tests/wpt/harness/README.rst b/tests/wpt/harness/README.rst index 63f18aca613..fc650eec45a 100644 --- a/tests/wpt/harness/README.rst +++ b/tests/wpt/harness/README.rst @@ -231,7 +231,7 @@ The web-platform-test harness knows about several keys: Any value indicates that the test is disabled. `type` - The test type e.g. `testharness` or `reftest`. + The test type e.g. `testharness`, `reftest`, or `wdspec`. `reftype` The type of comparison for reftests; either `==` or `!=`. diff --git a/tests/wpt/harness/docs/expectation.rst b/tests/wpt/harness/docs/expectation.rst index 76aeb49c0dc..6a0c77684a3 100644 --- a/tests/wpt/harness/docs/expectation.rst +++ b/tests/wpt/harness/docs/expectation.rst @@ -203,6 +203,10 @@ When used for expectation data, manifests have the following format: the (sub)test is disabled and should either not be run (for tests) or that its results should be ignored (subtests). + * A key ``restart-after`` which can be set to any value to indicate that + the runner should restart the browser after running this test (e.g. to + clear out unwanted state). + * Variables ``debug``, ``os``, ``version``, ``processor`` and ``bits`` that describe the configuration of the browser under test. ``debug`` is a boolean indicating whether a build is a debug diff --git a/tests/wpt/harness/wptrunner/browsers/chrome.py b/tests/wpt/harness/wptrunner/browsers/chrome.py index a711fddd0b4..18491359456 100644 --- a/tests/wpt/harness/wptrunner/browsers/chrome.py +++ b/tests/wpt/harness/wptrunner/browsers/chrome.py @@ -3,7 +3,7 @@ # You can obtain one at http://mozilla.org/MPL/2.0/. from .base import Browser, ExecutorBrowser, require_arg -from .webdriver import ChromedriverLocalServer +from ..webdriver_server import ChromeDriverServer from ..executors import executor_kwargs as base_executor_kwargs from ..executors.executorselenium import (SeleniumTestharnessExecutor, SeleniumRefTestExecutor) @@ -49,32 +49,33 @@ def env_options(): class ChromeBrowser(Browser): """Chrome is backed by chromedriver, which is supplied through - ``browsers.webdriver.ChromedriverLocalServer``.""" + ``wptrunner.webdriver.ChromeDriverServer``. + """ def __init__(self, logger, binary, webdriver_binary="chromedriver"): """Creates a new representation of Chrome. The `binary` argument gives the browser binary to use for testing.""" Browser.__init__(self, logger) self.binary = binary - self.driver = ChromedriverLocalServer(self.logger, binary=webdriver_binary) + self.server = ChromeDriverServer(self.logger, binary=webdriver_binary) def start(self): - self.driver.start() + self.server.start(block=False) def stop(self): - self.driver.stop() + self.server.stop() def pid(self): - return self.driver.pid + return self.server.pid def is_alive(self): # TODO(ato): This only indicates the driver is alive, # and doesn't say anything about whether a browser session # is active. - return self.driver.is_alive() + return self.server.is_alive() def cleanup(self): self.stop() def executor_browser(self): - return ExecutorBrowser, {"webdriver_url": self.driver.url} + return ExecutorBrowser, {"webdriver_url": self.server.url} diff --git a/tests/wpt/harness/wptrunner/browsers/firefox.py b/tests/wpt/harness/wptrunner/browsers/firefox.py index 92d70764903..dcd7a4f1d17 100644 --- a/tests/wpt/harness/wptrunner/browsers/firefox.py +++ b/tests/wpt/harness/wptrunner/browsers/firefox.py @@ -13,18 +13,27 @@ from mozprofile.permissions import ServerLocations from mozrunner import FirefoxRunner from mozcrash import mozcrash -from .base import get_free_port, Browser, ExecutorBrowser, require_arg, cmd_arg, browser_command +from .base import (get_free_port, + Browser, + ExecutorBrowser, + require_arg, + cmd_arg, + browser_command) from ..executors import executor_kwargs as base_executor_kwargs -from ..executors.executormarionette import MarionetteTestharnessExecutor, MarionetteRefTestExecutor +from ..executors.executormarionette import (MarionetteTestharnessExecutor, + MarionetteRefTestExecutor, + MarionetteWdspecExecutor) from ..environment import hostnames + here = os.path.join(os.path.split(__file__)[0]) __wptrunner__ = {"product": "firefox", "check_args": "check_args", "browser": "FirefoxBrowser", "executor": {"testharness": "MarionetteTestharnessExecutor", - "reftest": "MarionetteRefTestExecutor"}, + "reftest": "MarionetteRefTestExecutor", + "wdspec": "MarionetteWdspecExecutor"}, "browser_kwargs": "browser_kwargs", "executor_kwargs": "executor_kwargs", "env_options": "env_options", @@ -62,6 +71,8 @@ def executor_kwargs(test_type, server_config, cache_manager, run_info_data, executor_kwargs["timeout_multiplier"] = 2 elif run_info_data["debug"] or run_info_data.get("asan"): executor_kwargs["timeout_multiplier"] = 3 + if test_type == "wdspec": + executor_kwargs["webdriver_binary"] = kwargs.get("webdriver_binary") return executor_kwargs @@ -80,6 +91,7 @@ def run_info_extras(**kwargs): def update_properties(): return ["debug", "e10s", "os", "version", "processor", "bits"], {"debug", "e10s"} + class FirefoxBrowser(Browser): used_ports = set() init_timeout = 60 diff --git a/tests/wpt/harness/wptrunner/environment.py b/tests/wpt/harness/wptrunner/environment.py index b3d0e301fd3..732b785589b 100644 --- a/tests/wpt/harness/wptrunner/environment.py +++ b/tests/wpt/harness/wptrunner/environment.py @@ -32,7 +32,6 @@ def do_delayed_imports(logger, test_paths): global serve, sslutils serve_root = serve_path(test_paths) - sys.path.insert(0, serve_root) failed = [] @@ -45,7 +44,6 @@ def do_delayed_imports(logger, test_paths): try: import sslutils except ImportError: - raise failed.append("sslutils") if failed: diff --git a/tests/wpt/harness/wptrunner/executors/base.py b/tests/wpt/harness/wptrunner/executors/base.py index 0c8c2a1bc50..f0ce1665888 100644 --- a/tests/wpt/harness/wptrunner/executors/base.py +++ b/tests/wpt/harness/wptrunner/executors/base.py @@ -63,6 +63,7 @@ class TestharnessResultConverter(object): [test.subtest_result_cls(name, self.test_codes[status], message, stack) for name, status, message, stack in subtest_results]) + testharness_result_converter = TestharnessResultConverter() @@ -71,11 +72,24 @@ def reftest_result_converter(self, test, result): extra=result.get("extra")), []) +def pytest_result_converter(self, test, data): + harness_data, subtest_data = data + + if subtest_data is None: + subtest_data = [] + + harness_result = test.result_cls(*harness_data) + subtest_results = [test.subtest_result_cls(*item) for item in subtest_data] + + return (harness_result, subtest_results) + + class ExecutorException(Exception): def __init__(self, status, message): self.status = status self.message = message + class TestExecutor(object): __metaclass__ = ABCMeta @@ -116,11 +130,13 @@ class TestExecutor(object): :param runner: TestRunner instance that is going to run the tests""" self.runner = runner - self.protocol.setup(runner) + if self.protocol is not None: + self.protocol.setup(runner) def teardown(self): """Run cleanup steps after tests have finished""" - self.protocol.teardown() + if self.protocol is not None: + self.protocol.teardown() def run_test(self, test): """Run a particular test. @@ -137,6 +153,7 @@ class TestExecutor(object): if result is Stop: return result + # log result of parent test if result[0].status == "ERROR": self.logger.debug(result[0].message) @@ -144,7 +161,6 @@ class TestExecutor(object): self.runner.send_message("test_ended", test, result) - def server_url(self, protocol): return "%s://%s:%s" % (protocol, self.server_config["host"], @@ -191,6 +207,7 @@ class RefTestExecutor(TestExecutor): self.screenshot_cache = screenshot_cache + class RefTestImplementation(object): def __init__(self, executor): self.timeout_multiplier = executor.timeout_multiplier @@ -288,6 +305,11 @@ class RefTestImplementation(object): self.screenshot_cache[key] = hash_val, data return True, data + +class WdspecExecutor(TestExecutor): + convert_result = pytest_result_converter + + class Protocol(object): def __init__(self, executor, browser): self.executor = executor diff --git a/tests/wpt/harness/wptrunner/executors/executormarionette.py b/tests/wpt/harness/wptrunner/executors/executormarionette.py index c50bcf87f87..c4b1cba689a 100644 --- a/tests/wpt/harness/wptrunner/executors/executormarionette.py +++ b/tests/wpt/harness/wptrunner/executors/executormarionette.py @@ -3,9 +3,9 @@ # You can obtain one at http://mozilla.org/MPL/2.0/. import hashlib +import httplib import os import socket -import sys import threading import time import traceback @@ -13,10 +13,15 @@ import urlparse import uuid from collections import defaultdict +from ..wpttest import WdspecResult, WdspecSubtestResult + +errors = None marionette = None +webdriver = None here = os.path.join(os.path.split(__file__)[0]) +from . import pytestrunner from .base import (ExecutorException, Protocol, RefTestExecutor, @@ -25,22 +30,29 @@ from .base import (ExecutorException, TestharnessExecutor, testharness_result_converter, reftest_result_converter, - strip_server) + strip_server, + WdspecExecutor) from ..testrunner import Stop +from ..webdriver_server import GeckoDriverServer # Extra timeout to use after internal test timeout at which the harness # should force a timeout extra_timeout = 5 # seconds + def do_delayed_imports(): - global marionette - global errors + global errors, marionette, webdriver + + # Marionette client used to be called marionette, recently it changed + # to marionette_driver for unfathomable reasons try: import marionette from marionette import errors except ImportError: from marionette_driver import marionette, errors + import webdriver + class MarionetteProtocol(Protocol): def __init__(self, executor, browser): @@ -54,8 +66,10 @@ class MarionetteProtocol(Protocol): """Connect to browser via Marionette.""" Protocol.setup(self, runner) - self.logger.debug("Connecting to marionette on port %i" % self.marionette_port) - self.marionette = marionette.Marionette(host='localhost', port=self.marionette_port) + self.logger.debug("Connecting to Marionette on port %i" % self.marionette_port) + self.marionette = marionette.Marionette(host='localhost', + port=self.marionette_port, + socket_timeout=None) # XXX Move this timeout somewhere self.logger.debug("Waiting for Marionette connection") @@ -97,10 +111,10 @@ class MarionetteProtocol(Protocol): pass del self.marionette + @property def is_alive(self): - """Check if the marionette connection is still active""" + """Check if the Marionette connection is still active.""" try: - # Get a simple property over the connection self.marionette.current_window_handle except Exception: return False @@ -126,12 +140,18 @@ class MarionetteProtocol(Protocol): "document.title = '%s'" % threading.current_thread().name.replace("'", '"')) def wait(self): + socket_timeout = self.marionette.client.sock.gettimeout() + if socket_timeout: + self.marionette.set_script_timeout((socket_timeout / 2) * 1000) + while True: try: - self.marionette.execute_async_script(""); + self.marionette.execute_async_script("") except errors.ScriptTimeoutException: + self.logger.debug("Script timed out") pass except (socket.timeout, IOError): + self.logger.debug("Socket closed") break except Exception as e: self.logger.error(traceback.format_exc(e)) @@ -213,7 +233,63 @@ class MarionetteProtocol(Protocol): with self.marionette.using_context(self.marionette.CONTEXT_CHROME): self.marionette.execute_script(script) -class MarionetteRun(object): + +class RemoteMarionetteProtocol(Protocol): + def __init__(self, executor, browser): + do_delayed_imports() + Protocol.__init__(self, executor, browser) + self.session = None + self.webdriver_binary = executor.webdriver_binary + self.marionette_port = browser.marionette_port + self.server = None + + def setup(self, runner): + """Connect to browser via the Marionette HTTP server.""" + try: + self.server = GeckoDriverServer( + self.logger, self.marionette_port, binary=self.webdriver_binary) + self.server.start(block=False) + self.logger.info( + "WebDriver HTTP server listening at %s" % self.server.url) + + self.logger.info( + "Establishing new WebDriver session with %s" % self.server.url) + self.session = webdriver.Session( + self.server.host, self.server.port, self.server.base_path) + except Exception: + self.logger.error(traceback.format_exc()) + self.executor.runner.send_message("init_failed") + else: + self.executor.runner.send_message("init_succeeded") + + def teardown(self): + try: + if self.session.session_id is not None: + self.session.end() + except Exception: + pass + if self.server is not None and self.server.is_alive: + self.server.stop() + + @property + def is_alive(self): + """Test that the Marionette connection is still alive. + + Because the remote communication happens over HTTP we need to + make an explicit request to the remote. It is allowed for + WebDriver spec tests to not have a WebDriver session, since this + may be what is tested. + + An HTTP request to an invalid path that results in a 404 is + proof enough to us that the server is alive and kicking. + """ + conn = httplib.HTTPConnection(self.server.host, self.server.port) + conn.request("HEAD", self.server.base_path + "invalid") + res = conn.getresponse() + return res.status == 404 + + +class ExecuteAsyncScriptRun(object): def __init__(self, logger, func, marionette, url, timeout): self.logger = logger self.result = None @@ -277,8 +353,8 @@ class MarionetteRun(object): class MarionetteTestharnessExecutor(TestharnessExecutor): - def __init__(self, browser, server_config, timeout_multiplier=1, close_after_done=True, - debug_info=None): + def __init__(self, browser, server_config, timeout_multiplier=1, + close_after_done=True, debug_info=None, **kwargs): """Marionette-based executor for testharness.js tests""" TestharnessExecutor.__init__(self, browser, server_config, timeout_multiplier=timeout_multiplier, @@ -295,7 +371,7 @@ class MarionetteTestharnessExecutor(TestharnessExecutor): do_delayed_imports() def is_alive(self): - return self.protocol.is_alive() + return self.protocol.is_alive def on_environment_change(self, new_environment): self.protocol.on_environment_change(self.last_environment, new_environment) @@ -307,11 +383,11 @@ class MarionetteTestharnessExecutor(TestharnessExecutor): timeout = (test.timeout * self.timeout_multiplier if self.debug_info is None else None) - success, data = MarionetteRun(self.logger, - self.do_testharness, - self.protocol.marionette, - self.test_url(test), - timeout).run() + success, data = ExecuteAsyncScriptRun(self.logger, + self.do_testharness, + self.protocol.marionette, + self.test_url(test), + timeout).run() if success: return self.convert_result(test, data) @@ -338,7 +414,9 @@ class MarionetteTestharnessExecutor(TestharnessExecutor): class MarionetteRefTestExecutor(RefTestExecutor): def __init__(self, browser, server_config, timeout_multiplier=1, - screenshot_cache=None, close_after_done=True, debug_info=None): + screenshot_cache=None, close_after_done=True, + debug_info=None, **kwargs): + """Marionette-based executor for reftests""" RefTestExecutor.__init__(self, browser, @@ -358,7 +436,7 @@ class MarionetteRefTestExecutor(RefTestExecutor): self.wait_script = f.read() def is_alive(self): - return self.protocol.is_alive() + return self.protocol.is_alive def on_environment_change(self, new_environment): self.protocol.on_environment_change(self.last_environment, new_environment) @@ -376,7 +454,6 @@ class MarionetteRefTestExecutor(RefTestExecutor): self.has_window = True result = self.implementation.run_test(test) - return self.convert_result(test, result) def screenshot(self, test, viewport_size, dpi): @@ -388,7 +465,7 @@ class MarionetteRefTestExecutor(RefTestExecutor): test_url = self.test_url(test) - return MarionetteRun(self.logger, + return ExecuteAsyncScriptRun(self.logger, self._screenshot, self.protocol.marionette, test_url, @@ -405,3 +482,78 @@ class MarionetteRefTestExecutor(RefTestExecutor): screenshot = screenshot.split(",", 1)[1] return screenshot + + +class WdspecRun(object): + def __init__(self, func, session, path, timeout): + self.func = func + self.result = None + self.session = session + self.path = path + self.timeout = timeout + self.result_flag = threading.Event() + + def run(self): + """Runs function in a thread and interrupts it if it exceeds the + given timeout. Returns (True, (Result, [SubtestResult ...])) in + case of success, or (False, (status, extra information)) in the + event of failure. + """ + + executor = threading.Thread(target=self._run) + executor.start() + + flag = self.result_flag.wait(self.timeout) + if self.result is None: + assert not flag + self.result = False, ("EXTERNAL-TIMEOUT", None) + + return self.result + + def _run(self): + try: + self.result = True, self.func(self.session, self.path, self.timeout) + except (socket.timeout, IOError): + self.result = False, ("CRASH", None) + except Exception as e: + message = getattr(e, "message") + if message: + message += "\n" + message += traceback.format_exc(e) + self.result = False, ("ERROR", message) + finally: + self.result_flag.set() + + +class MarionetteWdspecExecutor(WdspecExecutor): + def __init__(self, browser, server_config, webdriver_binary, + timeout_multiplier=1, close_after_done=True, debug_info=None): + WdspecExecutor.__init__(self, browser, server_config, + timeout_multiplier=timeout_multiplier, + debug_info=debug_info) + self.webdriver_binary = webdriver_binary + self.protocol = RemoteMarionetteProtocol(self, browser) + + def is_alive(self): + return self.protocol.is_alive + + def on_environment_change(self, new_environment): + pass + + def do_test(self, test): + timeout = test.timeout * self.timeout_multiplier + extra_timeout + + success, data = WdspecRun(self.do_wdspec, + self.protocol.session, + test.path, + timeout).run() + + if success: + return self.convert_result(test, data) + + return (test.result_cls(*data), []) + + def do_wdspec(self, session, path, timeout): + harness_result = ("OK", None) + subtest_results = pytestrunner.run(path, session, timeout=timeout) + return (harness_result, subtest_results) diff --git a/tests/wpt/harness/wptrunner/executors/executorservo.py b/tests/wpt/harness/wptrunner/executors/executorservo.py index b3421ffe625..068061b958d 100644 --- a/tests/wpt/harness/wptrunner/executors/executorservo.py +++ b/tests/wpt/harness/wptrunner/executors/executorservo.py @@ -71,7 +71,7 @@ class ServoTestharnessExecutor(ProcessTestExecutor): self.result_flag = threading.Event() args = [render_arg(self.browser.render_backend), "--hard-fail", "-u", "Servo/wptrunner", - "-z", self.test_url(test)] + "-Z", "replace-surrogates", "-z", self.test_url(test)] for stylesheet in self.browser.user_stylesheets: args += ["--user-stylesheet", stylesheet] for pref, value in test.environment.get('prefs', {}).iteritems(): @@ -204,7 +204,7 @@ class ServoRefTestExecutor(ProcessTestExecutor): debug_args, command = browser_command( self.binary, [render_arg(self.browser.render_backend), "--hard-fail", "--exit", - "-u", "Servo/wptrunner", "-Z", "disable-text-aa,load-webfonts-synchronously", + "-u", "Servo/wptrunner", "-Z", "disable-text-aa,load-webfonts-synchronously,replace-surrogates", "--output=%s" % output_path, full_url], self.debug_info) diff --git a/tests/wpt/harness/wptrunner/executors/executorservodriver.py b/tests/wpt/harness/wptrunner/executors/executorservodriver.py index 52154d09ba0..fceeb58fad2 100644 --- a/tests/wpt/harness/wptrunner/executors/executorservodriver.py +++ b/tests/wpt/harness/wptrunner/executors/executorservodriver.py @@ -14,16 +14,24 @@ from .base import (Protocol, RefTestImplementation, TestharnessExecutor, strip_server) -import webdriver +from .. import webdriver from ..testrunner import Stop +webdriver = None + here = os.path.join(os.path.split(__file__)[0]) extra_timeout = 5 +def do_delayed_imports(): + global webdriver + import webdriver + + class ServoWebDriverProtocol(Protocol): def __init__(self, executor, browser, capabilities, **kwargs): + do_delayed_imports() Protocol.__init__(self, executor, browser) self.capabilities = capabilities self.host = browser.webdriver_host @@ -34,10 +42,11 @@ class ServoWebDriverProtocol(Protocol): """Connect to browser via WebDriver.""" self.runner = runner + url = "http://%s:%d" % (self.host, self.port) session_started = False try: self.session = webdriver.Session(self.host, self.port, - extension=webdriver.ServoExtensions) + extension=webdriver.servo.ServoCommandExtensions) self.session.start() except: self.logger.warning( @@ -62,7 +71,7 @@ class ServoWebDriverProtocol(Protocol): def is_alive(self): try: # Get a simple property over the connection - self.session.handle + self.session.window_handle # TODO what exception? except Exception: return False diff --git a/tests/wpt/harness/wptrunner/executors/pytestrunner/__init__.py b/tests/wpt/harness/wptrunner/executors/pytestrunner/__init__.py new file mode 100644 index 00000000000..de3a34a794b --- /dev/null +++ b/tests/wpt/harness/wptrunner/executors/pytestrunner/__init__.py @@ -0,0 +1,6 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. + +from . import fixtures +from .runner import run diff --git a/tests/wpt/harness/wptrunner/executors/pytestrunner/fixtures.py b/tests/wpt/harness/wptrunner/executors/pytestrunner/fixtures.py new file mode 100644 index 00000000000..77afb4a3684 --- /dev/null +++ b/tests/wpt/harness/wptrunner/executors/pytestrunner/fixtures.py @@ -0,0 +1,58 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. + +import pytest + + +"""pytest fixtures for use in Python-based WPT tests. + +The purpose of test fixtures is to provide a fixed baseline upon which +tests can reliably and repeatedly execute. +""" + + +class Session(object): + """Fixture to allow access to wptrunner's existing WebDriver session + in tests. + + The session is not created by default to enable testing of session + creation. However, a module-scoped session will be implicitly created + at the first call to a WebDriver command. This means methods such as + `session.send_command` and `session.session_id` are possible to use + without having a session. + + To illustrate implicit session creation:: + + def test_session_scope(session): + # at this point there is no session + assert session.session_id is None + + # window_id is a WebDriver command, + # and implicitly creates the session for us + assert session.window_id is not None + + # we now have a session + assert session.session_id is not None + + You can also access the session in custom fixtures defined in the + tests, such as a setup function:: + + @pytest.fixture(scope="function") + def setup(request, session): + session.url = "https://example.org" + + def test_something(setup, session): + assert session.url == "https://example.org" + + The session is closed when the test module goes out of scope by an + implicit call to `session.end`. + """ + + def __init__(self, client): + self.client = client + + @pytest.fixture(scope="module") + def session(self, request): + request.addfinalizer(self.client.end) + return self.client diff --git a/tests/wpt/harness/wptrunner/executors/pytestrunner/runner.py b/tests/wpt/harness/wptrunner/executors/pytestrunner/runner.py new file mode 100644 index 00000000000..8aa575ff8b7 --- /dev/null +++ b/tests/wpt/harness/wptrunner/executors/pytestrunner/runner.py @@ -0,0 +1,113 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. + +"""Provides interface to deal with pytest. + +Usage:: + + session = webdriver.client.Session("127.0.0.1", "4444", "/") + harness_result = ("OK", None) + subtest_results = pytestrunner.run("/path/to/test", session.url) + return (harness_result, subtest_results) +""" + +import errno +import shutil +import tempfile + +from . import fixtures + + +pytest = None + + +def do_delayed_imports(): + global pytest + import pytest + + +def run(path, session, timeout=0): + """Run Python test at ``path`` in pytest. The provided ``session`` + is exposed as a fixture available in the scope of the test functions. + + :param path: Path to the test file. + :param session: WebDriver session to expose. + :param timeout: Duration before interrupting potentially hanging + tests. If 0, there is no timeout. + + :returns: List of subtest results, which are tuples of (test id, + status, message, stacktrace). + """ + + if pytest is None: + do_delayed_imports() + + recorder = SubtestResultRecorder() + plugins = [recorder, + fixtures.Session(session)] + + # TODO(ato): Deal with timeouts + + with TemporaryDirectory() as cache: + pytest.main(["--strict", # turn warnings into errors + "--verbose", # show each individual subtest + "--capture", "no", # enable stdout/stderr from tests + "--basetemp", cache, # temporary directory + path], + plugins=plugins) + + return recorder.results + + +class SubtestResultRecorder(object): + def __init__(self): + self.results = [] + + def pytest_runtest_logreport(self, report): + if report.passed and report.when == "call": + self.record_pass(report) + elif report.failed: + if report.when != "call": + self.record_error(report) + else: + self.record_fail(report) + elif report.skipped: + self.record_skip(report) + + def record_pass(self, report): + self.record(report.nodeid, "PASS") + + def record_fail(self, report): + self.record(report.nodeid, "FAIL", stack=report.longrepr) + + def record_error(self, report): + # error in setup/teardown + if report.when != "call": + message = "%s error" % report.when + self.record(report.nodeid, "ERROR", message, report.longrepr) + + def record_skip(self, report): + self.record(report.nodeid, "ERROR", + "In-test skip decorators are disallowed, " + "please use WPT metadata to ignore tests.") + + def record(self, test, status, message=None, stack=None): + if stack is not None: + stack = str(stack) + new_result = (test, status, message, stack) + self.results.append(new_result) + + +class TemporaryDirectory(object): + def __enter__(self): + self.path = tempfile.mkdtemp(prefix="pytest-") + return self.path + + def __exit__(self, *args): + try: + shutil.rmtree(self.path) + except OSError as e: + # no such file or directory + if e.errno != errno.ENOENT: + raise diff --git a/tests/wpt/harness/wptrunner/manifestexpected.py b/tests/wpt/harness/wptrunner/manifestexpected.py index b46a1ef9597..c0e22a843fd 100644 --- a/tests/wpt/harness/wptrunner/manifestexpected.py +++ b/tests/wpt/harness/wptrunner/manifestexpected.py @@ -29,10 +29,10 @@ def data_cls_getter(output_node, visited_node): raise ValueError -def disabled(node): - """Boolean indicating whether the test is disabled""" +def bool_prop(name, node): + """Boolean property""" try: - return node.get("disabled") + return node.get(name) except KeyError: return None @@ -109,7 +109,11 @@ class ExpectedManifest(ManifestItem): @property def disabled(self): - return disabled(self) + return bool_prop("disabled", self) + + @property + def restart_after(self): + return bool_prop("restart-after", self) @property def tags(self): @@ -123,7 +127,11 @@ class ExpectedManifest(ManifestItem): class DirectoryManifest(ManifestItem): @property def disabled(self): - return disabled(self) + return bool_prop("disabled", self) + + @property + def restart_after(self): + return bool_prop("restart-after", self) @property def tags(self): @@ -164,7 +172,11 @@ class TestNode(ManifestItem): @property def disabled(self): - return disabled(self) + return bool_prop("disabled", self) + + @property + def restart_after(self): + return bool_prop("restart-after", self) @property def tags(self): diff --git a/tests/wpt/harness/wptrunner/testrunner.py b/tests/wpt/harness/wptrunner/testrunner.py index b5617827a40..77d2a885083 100644 --- a/tests/wpt/harness/wptrunner/testrunner.py +++ b/tests/wpt/harness/wptrunner/testrunner.py @@ -524,7 +524,8 @@ class TestRunnerManager(threading.Thread): self.test = None - restart_before_next = (file_result.status in ("CRASH", "EXTERNAL-TIMEOUT") or + restart_before_next = (test.restart_after or + file_result.status in ("CRASH", "EXTERNAL-TIMEOUT") or subtest_unexpected or is_unexpected) if (self.pause_after_test or diff --git a/tests/wpt/harness/wptrunner/webdriver_server.py b/tests/wpt/harness/wptrunner/webdriver_server.py new file mode 100644 index 00000000000..68d3fb7a3bf --- /dev/null +++ b/tests/wpt/harness/wptrunner/webdriver_server.py @@ -0,0 +1,206 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. + +import abc +import errno +import os +import platform +import socket +import threading +import time +import traceback +import urlparse + +import mozprocess + + +__all__ = ["SeleniumServer", "ChromeDriverServer", + "GeckoDriverServer", "WebDriverServer"] + + +class WebDriverServer(object): + __metaclass__ = abc.ABCMeta + + default_base_path = "/" + _used_ports = set() + + def __init__(self, logger, binary, host="127.0.0.1", port=None, + base_path="", env=None): + self.logger = logger + self.binary = binary + self.host = host + if base_path == "": + self.base_path = self.default_base_path + else: + self.base_path = base_path + self.env = os.environ.copy() if env is None else env + + self._port = port + self._cmd = None + self._proc = None + + @abc.abstractmethod + def make_command(self): + """Returns the full command for starting the server process as a list.""" + + def start(self, block=True): + try: + self._run(block) + except KeyboardInterrupt: + self.stop() + + def _run(self, block): + self._cmd = self.make_command() + self._proc = mozprocess.ProcessHandler( + self._cmd, + processOutputLine=self.on_output, + env=self.env, + storeOutput=False) + + try: + self._proc.run() + except OSError as e: + if e.errno == errno.ENOENT: + raise IOError( + "WebDriver HTTP server executable not found: %s" % self.binary) + raise + + self.logger.debug( + "Waiting for server to become accessible: %s" % self.url) + try: + wait_for_service((self.host, self.port)) + except: + self.logger.error( + "WebDriver HTTP server was not accessible " + "within the timeout:\n%s" % traceback.format_exc()) + raise + + if block: + self._proc.wait() + + def stop(self): + if self.is_alive: + return self._proc.kill() + return not self.is_alive + + @property + def is_alive(self): + return (self._proc is not None and + self._proc.proc is not None and + self._proc.poll() is None) + + def on_output(self, line): + self.logger.process_output(self.pid, + line.decode("utf8", "replace"), + command=" ".join(self._cmd)) + + @property + def pid(self): + if self._proc is not None: + return self._proc.pid + + @property + def url(self): + return "http://%s:%i%s" % (self.host, self.port, self.base_path) + + @property + def port(self): + if self._port is None: + self._port = self._find_next_free_port() + return self._port + + @staticmethod + def _find_next_free_port(): + port = get_free_port(4444, exclude=WebDriverServer._used_ports) + WebDriverServer._used_ports.add(port) + return port + + +class SeleniumServer(WebDriverServer): + default_base_path = "/wd/hub" + + def make_command(self): + return ["java", "-jar", self.binary, "-port", str(self.port)] + + +class ChromeDriverServer(WebDriverServer): + default_base_path = "/wd/hub" + + def __init__(self, logger, binary="chromedriver", port=None, + base_path=""): + WebDriverServer.__init__( + self, logger, binary, port=port, base_path=base_path) + + def make_command(self): + return [self.binary, + cmd_arg("port", str(self.port)), + cmd_arg("url-base", self.base_path) if self.base_path else ""] + + +class GeckoDriverServer(WebDriverServer): + def __init__(self, logger, marionette_port=2828, binary="wires", + host="127.0.0.1", port=None): + env = os.environ.copy() + env["RUST_BACKTRACE"] = "1" + WebDriverServer.__init__(self, logger, binary, host=host, port=port, env=env) + self.marionette_port = marionette_port + + def make_command(self): + return [self.binary, + "--connect-existing", + "--marionette-port", str(self.marionette_port), + "--webdriver-host", self.host, + "--webdriver-port", str(self.port)] + + +def cmd_arg(name, value=None): + prefix = "-" if platform.system() == "Windows" else "--" + rv = prefix + name + if value is not None: + rv += "=" + value + return rv + + +def get_free_port(start_port, exclude=None): + """Get the first port number after start_port (inclusive) that is + not currently bound. + + :param start_port: Integer port number at which to start testing. + :param exclude: Set of port numbers to skip""" + port = start_port + while True: + if exclude and port in exclude: + port += 1 + continue + s = socket.socket() + try: + s.bind(("127.0.0.1", port)) + except socket.error: + port += 1 + else: + return port + finally: + s.close() + + +def wait_for_service(addr, timeout=15): + """Waits until network service given as a tuple of (host, port) becomes + available or the `timeout` duration is reached, at which point + ``socket.error`` is raised.""" + end = time.time() + timeout + while end > time.time(): + so = socket.socket() + try: + so.connect(addr) + except socket.timeout: + pass + except socket.error as e: + if e[0] != errno.ECONNREFUSED: + raise + else: + return True + finally: + so.close() + time.sleep(0.5) + raise socket.error("Service is unavailable: %s:%i" % addr) diff --git a/tests/wpt/harness/wptrunner/wptcommandline.py b/tests/wpt/harness/wptrunner/wptcommandline.py index 9979d69fd38..3b059378e09 100644 --- a/tests/wpt/harness/wptrunner/wptcommandline.py +++ b/tests/wpt/harness/wptrunner/wptcommandline.py @@ -10,6 +10,7 @@ from collections import OrderedDict from distutils.spawn import find_executable import config +import wpttest def abs_path(path): @@ -25,6 +26,7 @@ def url_or_path(path): else: return abs_path(path) + def require_arg(kwargs, name, value_func=None): if value_func is None: value_func = lambda x: x is not None @@ -101,8 +103,8 @@ def create_parser(product_choices=None): test_selection_group = parser.add_argument_group("Test Selection") test_selection_group.add_argument("--test-types", action="store", - nargs="*", default=["testharness", "reftest"], - choices=["testharness", "reftest"], + nargs="*", default=wpttest.enabled_tests, + choices=wpttest.enabled_tests, help="Test types to run") test_selection_group.add_argument("--include", action="append", help="URL prefix to include") @@ -159,8 +161,8 @@ def create_parser(product_choices=None): gecko_group = parser.add_argument_group("Gecko-specific") gecko_group.add_argument("--prefs-root", dest="prefs_root", action="store", type=abs_path, help="Path to the folder containing browser prefs") - gecko_group.add_argument("--e10s", dest="gecko_e10s", action="store_true", - help="Run tests with electrolysis preferences") + gecko_group.add_argument("--disable-e10s", dest="gecko_e10s", action="store_false", default=True, + help="Run tests without electrolysis preferences") b2g_group = parser.add_argument_group("B2G-specific") b2g_group.add_argument("--b2g-no-backup", action="store_true", default=False, @@ -343,12 +345,14 @@ def check_args(kwargs): return kwargs + def check_args_update(kwargs): set_from_config(kwargs) if kwargs["product"] is None: kwargs["product"] = "firefox" + def create_parser_update(product_choices=None): from mozlog.structured import commandline diff --git a/tests/wpt/harness/wptrunner/wptlogging.py b/tests/wpt/harness/wptrunner/wptlogging.py index 9e6e737d3e9..047e025fad1 100644 --- a/tests/wpt/harness/wptrunner/wptlogging.py +++ b/tests/wpt/harness/wptrunner/wptlogging.py @@ -74,6 +74,7 @@ class LoggingWrapper(StringIO): instead""" def __init__(self, queue, prefix=None): + StringIO.__init__(self) self.queue = queue self.prefix = prefix @@ -94,6 +95,7 @@ class LoggingWrapper(StringIO): def flush(self): pass + class CaptureIO(object): def __init__(self, logger, do_capture): self.logger = logger diff --git a/tests/wpt/harness/wptrunner/wpttest.py b/tests/wpt/harness/wptrunner/wpttest.py index 73a50bb129e..9832f72654e 100644 --- a/tests/wpt/harness/wptrunner/wpttest.py +++ b/tests/wpt/harness/wptrunner/wpttest.py @@ -12,6 +12,8 @@ import mozinfo from wptmanifest.parser import atoms atom_reset = atoms["Reset"] +enabled_tests = set(["testharness", "reftest", "wdspec"]) + class Result(object): def __init__(self, status, message, expected=None, extra=None): @@ -22,6 +24,9 @@ class Result(object): self.expected = expected self.extra = extra + def __repr__(self): + return "<%s.%s %s>" % (self.__module__, self.__class__.__name__, self.status) + class SubtestResult(object): def __init__(self, name, status, message, stack=None, expected=None): @@ -33,20 +38,33 @@ class SubtestResult(object): self.stack = stack self.expected = expected + def __repr__(self): + return "<%s.%s %s %s>" % (self.__module__, self.__class__.__name__, self.name, self.status) + class TestharnessResult(Result): default_expected = "OK" statuses = set(["OK", "ERROR", "TIMEOUT", "EXTERNAL-TIMEOUT", "CRASH"]) +class TestharnessSubtestResult(SubtestResult): + default_expected = "PASS" + statuses = set(["PASS", "FAIL", "TIMEOUT", "NOTRUN"]) + + class ReftestResult(Result): default_expected = "PASS" statuses = set(["PASS", "FAIL", "ERROR", "TIMEOUT", "EXTERNAL-TIMEOUT", "CRASH"]) -class TestharnessSubtestResult(SubtestResult): +class WdspecResult(Result): + default_expected = "OK" + statuses = set(["OK", "ERROR", "TIMEOUT", "EXTERNAL-TIMEOUT", "CRASH"]) + + +class WdspecSubtestResult(SubtestResult): default_expected = "PASS" - statuses = set(["PASS", "FAIL", "TIMEOUT", "NOTRUN"]) + statuses = set(["PASS", "FAIL", "ERROR"]) def get_run_info(metadata_root, product, **kwargs): @@ -82,6 +100,7 @@ class RunInfo(dict): mozinfo.find_and_update_from_json(*dirs) + class B2GRunInfo(RunInfo): def __init__(self, *args, **kwargs): RunInfo.__init__(self, *args, **kwargs) @@ -115,7 +134,6 @@ class Test(object): path=manifest_item.path, protocol="https" if hasattr(manifest_item, "https") and manifest_item.https else "http") - @property def id(self): return self.url @@ -141,7 +159,6 @@ class Test(object): if subtest_meta is not None: yield subtest_meta - def disabled(self, subtest=None): for meta in self.itermeta(subtest): disabled = meta.disabled @@ -150,6 +167,14 @@ class Test(object): return None @property + def restart_after(self): + for meta in self.itermeta(None): + restart_after = meta.restart_after + if restart_after is not None: + return True + return False + + @property def tags(self): tags = set() for meta in self.itermeta(): @@ -191,6 +216,9 @@ class Test(object): except KeyError: return default + def __repr__(self): + return "<%s.%s %s>" % (self.__module__, self.__class__.__name__, self.id) + class TestharnessTest(Test): result_cls = TestharnessResult @@ -293,12 +321,18 @@ class ReftestTest(Test): return ("reftype", "refurl") +class WdspecTest(Test): + result_cls = WdspecResult + subtest_result_cls = WdspecSubtestResult + test_type = "wdspec" + + manifest_test_cls = {"reftest": ReftestTest, "testharness": TestharnessTest, - "manual": ManualTest} + "manual": ManualTest, + "wdspec": WdspecTest} def from_manifest(manifest_test, inherit_metadata, test_metadata): test_cls = manifest_test_cls[manifest_test.item_type] - return test_cls.from_manifest(manifest_test, inherit_metadata, test_metadata) diff --git a/tests/wpt/include.ini b/tests/wpt/include.ini index 75243947ba9..ca72cc99700 100644 --- a/tests/wpt/include.ini +++ b/tests/wpt/include.ini @@ -39,8 +39,6 @@ skip: true skip: false [cors] skip: false -[webgl] - skip: false [webstorage] skip: false [encoding] diff --git a/tests/wpt/metadata-css/MANIFEST.json b/tests/wpt/metadata-css/MANIFEST.json index c875d9162f6..fe5feb0551e 100644 --- a/tests/wpt/metadata-css/MANIFEST.json +++ b/tests/wpt/metadata-css/MANIFEST.json @@ -46436,6 +46436,16 @@ "url": "/css-masking-1_dev/html/clip-rule-002.htm" }, { + "path": "css-masking-1_dev/html/mask-clip-1.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-clip-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-clip-1.htm" + }, + { "path": "css-masking-1_dev/html/mask-composite-1a.htm", "references": [ [ @@ -46476,6 +46486,436 @@ "url": "/css-masking-1_dev/html/mask-composite-2b.htm" }, { + "path": "css-masking-1_dev/html/mask-image-1a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-image-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-image-1a.htm" + }, + { + "path": "css-masking-1_dev/html/mask-image-1b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-image-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-image-1b.htm" + }, + { + "path": "css-masking-1_dev/html/mask-image-1c.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-image-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-image-1c.htm" + }, + { + "path": "css-masking-1_dev/html/mask-image-2.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-image-2-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-image-2.htm" + }, + { + "path": "css-masking-1_dev/html/mask-mode-a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-mode-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-mode-a.htm" + }, + { + "path": "css-masking-1_dev/html/mask-mode-b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-mode-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-mode-b.htm" + }, + { + "path": "css-masking-1_dev/html/mask-origin-1.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-origin-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-origin-1.htm" + }, + { + "path": "css-masking-1_dev/html/mask-origin-2.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-origin-2-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-origin-2.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-1a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-1a.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-1b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-1b.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-1c.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-1c.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-2a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-2-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-2a.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-2b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-2-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-2b.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-3a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-3-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-3a.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-3b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-3-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-3b.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-4a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-4-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-4a.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-4b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-4-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-4b.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-4c.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-4-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-4c.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-4d.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-4-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-4d.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-5.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-5-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-5.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-6.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-6-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-6.htm" + }, + { + "path": "css-masking-1_dev/html/mask-position-7.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-7-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-7.htm" + }, + { + "path": "css-masking-1_dev/html/mask-repeat-1.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-repeat-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-repeat-1.htm" + }, + { + "path": "css-masking-1_dev/html/mask-repeat-2.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-repeat-2-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-repeat-2.htm" + }, + { + "path": "css-masking-1_dev/html/mask-repeat-3.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-repeat-3-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-repeat-3.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-auto-auto.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-auto-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-auto-auto.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-auto-length.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-auto-length-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-auto-length.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-auto-percent.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-auto-length-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-auto-percent.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-auto.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-auto-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-auto.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-contain-clip-border.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-contain-clip-border-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-contain-clip-border.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-contain-clip-padding.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-contain-clip-padding-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-contain-clip-padding.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-contain-position-fifty-fifty.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-contain-position-fifty-fifty-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-contain-position-fifty-fifty.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-contain.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-contain-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-contain.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-cover.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-cover-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-cover.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-length-auto.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-length-length-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-length-auto.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-length-length.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-length-length-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-length-length.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-length-percent.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-length-percent-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-length-percent.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-length.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-length-length-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-length.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-percent-auto.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-percent-percent-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-percent-auto.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-percent-length.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-percent-percent-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-percent-length.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-percent-percent-stretch.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-percent-percent-stretch-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-percent-percent-stretch.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-percent-percent.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-percent-percent-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-percent-percent.htm" + }, + { + "path": "css-masking-1_dev/html/mask-size-percent.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-percent-percent-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-percent.htm" + }, + { "path": "css-masking-1_dev/html/test-mask.htm", "references": [ [ @@ -47056,6 +47496,16 @@ "url": "/css-masking-1_dev/xhtml1/clip-rule-002.xht" }, { + "path": "css-masking-1_dev/xhtml1/mask-clip-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-clip-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-clip-1.xht" + }, + { "path": "css-masking-1_dev/xhtml1/mask-composite-1a.xht", "references": [ [ @@ -47096,6 +47546,436 @@ "url": "/css-masking-1_dev/xhtml1/mask-composite-2b.xht" }, { + "path": "css-masking-1_dev/xhtml1/mask-image-1a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-image-1a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-image-1b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-image-1b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-image-1c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-image-1c.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-image-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-image-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-image-2.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-mode-a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-mode-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-mode-a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-mode-b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-mode-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-mode-b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-origin-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-origin-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-origin-1.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-origin-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-origin-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-origin-2.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-1a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-1a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-1b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-1b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-1c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-1c.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-2a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-2a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-2b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-2b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-3a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-3a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-3b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-3b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-4a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-4a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-4b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-4b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-4c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-4c.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-4d.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-4d.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-5.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-5-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-5.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-6.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-6-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-6.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-position-7.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-7-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-7.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-repeat-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-repeat-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-repeat-1.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-repeat-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-repeat-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-repeat-2.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-repeat-3.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-repeat-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-repeat-3.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-auto-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-auto-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-auto-auto.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-auto-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-auto-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-auto-length.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-auto-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-auto-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-auto-percent.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-auto-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-auto.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-contain-clip-border.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-contain-clip-border-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-contain-clip-border.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-contain-clip-padding.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-contain-clip-padding-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-contain-clip-padding.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-contain-position-fifty-fifty.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-contain-position-fifty-fifty-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-contain-position-fifty-fifty.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-contain.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-contain-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-contain.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-cover.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-cover-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-cover.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-length-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-length-auto.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-length-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-length-length.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-length-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-length-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-length-percent.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-length.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-percent-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-percent-auto.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-percent-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-percent-length.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-percent-percent-stretch.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-stretch-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-percent-percent-stretch.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-percent-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-percent-percent.xht" + }, + { + "path": "css-masking-1_dev/xhtml1/mask-size-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-percent.xht" + }, + { "path": "css-masking-1_dev/xhtml1/test-mask.xht", "references": [ [ @@ -47676,6 +48556,16 @@ "url": "/css-masking-1_dev/xhtml1print/clip-rule-002.xht" }, { + "path": "css-masking-1_dev/xhtml1print/mask-clip-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-clip-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-clip-1.xht" + }, + { "path": "css-masking-1_dev/xhtml1print/mask-composite-1a.xht", "references": [ [ @@ -47716,6 +48606,436 @@ "url": "/css-masking-1_dev/xhtml1print/mask-composite-2b.xht" }, { + "path": "css-masking-1_dev/xhtml1print/mask-image-1a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-image-1a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-image-1b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-image-1b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-image-1c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-image-1c.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-image-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-image-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-image-2.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-mode-a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-mode-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-mode-a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-mode-b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-mode-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-mode-b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-origin-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-origin-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-origin-1.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-origin-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-origin-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-origin-2.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-1a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-1a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-1b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-1b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-1c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-1c.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-2a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-2a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-2b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-2b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-3a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-3a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-3b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-3b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-4a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-4a.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-4b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-4b.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-4c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-4c.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-4d.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-4d.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-5.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-5-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-5.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-6.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-6-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-6.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-position-7.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-7-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-7.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-repeat-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-repeat-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-repeat-1.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-repeat-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-repeat-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-repeat-2.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-repeat-3.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-repeat-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-repeat-3.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-auto-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-auto-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-auto-auto.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-auto-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-auto-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-auto-length.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-auto-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-auto-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-auto-percent.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-auto-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-auto.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-contain-clip-border.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-contain-clip-border-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-contain-clip-border.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-contain-clip-padding.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-contain-clip-padding-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-contain-clip-padding.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-contain-position-fifty-fifty.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-contain-position-fifty-fifty-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-contain-position-fifty-fifty.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-contain.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-contain-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-contain.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-cover.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-cover-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-cover.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-length-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-length-auto.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-length-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-length-length.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-length-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-length-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-length-percent.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-length.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-percent-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-percent-auto.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-percent-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-percent-length.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-percent-percent-stretch.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-stretch-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-percent-percent-stretch.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-percent-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-percent-percent.xht" + }, + { + "path": "css-masking-1_dev/xhtml1print/mask-size-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-percent.xht" + }, + { "path": "css-masking-1_dev/xhtml1print/test-mask.xht", "references": [ [ @@ -352336,6 +353656,16 @@ "url": "/selectors-4_dev/xhtml1/focus-within-shadow-005.xht" }, { + "path": "selectors-4_dev/xhtml1/of-type-selectors.xht", + "references": [ + [ + "/selectors-4_dev/xhtml1/reference/of-type-selectors-ref.xht", + "==" + ] + ], + "url": "/selectors-4_dev/xhtml1/of-type-selectors.xht" + }, + { "path": "selectors-4_dev/xhtml1/selector-required.xht", "references": [ [ @@ -352476,6 +353806,16 @@ "url": "/selectors-4_dev/xhtml1print/focus-within-shadow-005.xht" }, { + "path": "selectors-4_dev/xhtml1print/of-type-selectors.xht", + "references": [ + [ + "/selectors-4_dev/xhtml1print/reference/of-type-selectors-ref.xht", + "==" + ] + ], + "url": "/selectors-4_dev/xhtml1print/of-type-selectors.xht" + }, + { "path": "selectors-4_dev/xhtml1print/selector-required.xht", "references": [ [ @@ -414275,6 +415615,18 @@ "url": "/css-masking-1_dev/html/clip-rule-002.htm" } ], + "css-masking-1_dev/html/mask-clip-1.htm": [ + { + "path": "css-masking-1_dev/html/mask-clip-1.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-clip-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-clip-1.htm" + } + ], "css-masking-1_dev/html/mask-composite-1a.htm": [ { "path": "css-masking-1_dev/html/mask-composite-1a.htm", @@ -414323,6 +415675,522 @@ "url": "/css-masking-1_dev/html/mask-composite-2b.htm" } ], + "css-masking-1_dev/html/mask-image-1a.htm": [ + { + "path": "css-masking-1_dev/html/mask-image-1a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-image-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-image-1a.htm" + } + ], + "css-masking-1_dev/html/mask-image-1b.htm": [ + { + "path": "css-masking-1_dev/html/mask-image-1b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-image-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-image-1b.htm" + } + ], + "css-masking-1_dev/html/mask-image-1c.htm": [ + { + "path": "css-masking-1_dev/html/mask-image-1c.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-image-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-image-1c.htm" + } + ], + "css-masking-1_dev/html/mask-image-2.htm": [ + { + "path": "css-masking-1_dev/html/mask-image-2.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-image-2-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-image-2.htm" + } + ], + "css-masking-1_dev/html/mask-mode-a.htm": [ + { + "path": "css-masking-1_dev/html/mask-mode-a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-mode-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-mode-a.htm" + } + ], + "css-masking-1_dev/html/mask-mode-b.htm": [ + { + "path": "css-masking-1_dev/html/mask-mode-b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-mode-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-mode-b.htm" + } + ], + "css-masking-1_dev/html/mask-origin-1.htm": [ + { + "path": "css-masking-1_dev/html/mask-origin-1.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-origin-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-origin-1.htm" + } + ], + "css-masking-1_dev/html/mask-origin-2.htm": [ + { + "path": "css-masking-1_dev/html/mask-origin-2.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-origin-2-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-origin-2.htm" + } + ], + "css-masking-1_dev/html/mask-position-1a.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-1a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-1a.htm" + } + ], + "css-masking-1_dev/html/mask-position-1b.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-1b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-1b.htm" + } + ], + "css-masking-1_dev/html/mask-position-1c.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-1c.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-1c.htm" + } + ], + "css-masking-1_dev/html/mask-position-2a.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-2a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-2-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-2a.htm" + } + ], + "css-masking-1_dev/html/mask-position-2b.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-2b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-2-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-2b.htm" + } + ], + "css-masking-1_dev/html/mask-position-3a.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-3a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-3-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-3a.htm" + } + ], + "css-masking-1_dev/html/mask-position-3b.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-3b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-3-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-3b.htm" + } + ], + "css-masking-1_dev/html/mask-position-4a.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-4a.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-4-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-4a.htm" + } + ], + "css-masking-1_dev/html/mask-position-4b.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-4b.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-4-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-4b.htm" + } + ], + "css-masking-1_dev/html/mask-position-4c.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-4c.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-4-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-4c.htm" + } + ], + "css-masking-1_dev/html/mask-position-4d.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-4d.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-4-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-4d.htm" + } + ], + "css-masking-1_dev/html/mask-position-5.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-5.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-5-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-5.htm" + } + ], + "css-masking-1_dev/html/mask-position-6.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-6.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-6-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-6.htm" + } + ], + "css-masking-1_dev/html/mask-position-7.htm": [ + { + "path": "css-masking-1_dev/html/mask-position-7.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-position-7-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-position-7.htm" + } + ], + "css-masking-1_dev/html/mask-repeat-1.htm": [ + { + "path": "css-masking-1_dev/html/mask-repeat-1.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-repeat-1-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-repeat-1.htm" + } + ], + "css-masking-1_dev/html/mask-repeat-2.htm": [ + { + "path": "css-masking-1_dev/html/mask-repeat-2.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-repeat-2-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-repeat-2.htm" + } + ], + "css-masking-1_dev/html/mask-repeat-3.htm": [ + { + "path": "css-masking-1_dev/html/mask-repeat-3.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-repeat-3-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-repeat-3.htm" + } + ], + "css-masking-1_dev/html/mask-size-auto-auto.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-auto-auto.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-auto-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-auto-auto.htm" + } + ], + "css-masking-1_dev/html/mask-size-auto-length.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-auto-length.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-auto-length-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-auto-length.htm" + } + ], + "css-masking-1_dev/html/mask-size-auto-percent.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-auto-percent.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-auto-length-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-auto-percent.htm" + } + ], + "css-masking-1_dev/html/mask-size-auto.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-auto.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-auto-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-auto.htm" + } + ], + "css-masking-1_dev/html/mask-size-contain-clip-border.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-contain-clip-border.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-contain-clip-border-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-contain-clip-border.htm" + } + ], + "css-masking-1_dev/html/mask-size-contain-clip-padding.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-contain-clip-padding.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-contain-clip-padding-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-contain-clip-padding.htm" + } + ], + "css-masking-1_dev/html/mask-size-contain-position-fifty-fifty.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-contain-position-fifty-fifty.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-contain-position-fifty-fifty-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-contain-position-fifty-fifty.htm" + } + ], + "css-masking-1_dev/html/mask-size-contain.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-contain.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-contain-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-contain.htm" + } + ], + "css-masking-1_dev/html/mask-size-cover.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-cover.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-cover-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-cover.htm" + } + ], + "css-masking-1_dev/html/mask-size-length-auto.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-length-auto.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-length-length-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-length-auto.htm" + } + ], + "css-masking-1_dev/html/mask-size-length-length.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-length-length.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-length-length-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-length-length.htm" + } + ], + "css-masking-1_dev/html/mask-size-length-percent.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-length-percent.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-length-percent-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-length-percent.htm" + } + ], + "css-masking-1_dev/html/mask-size-length.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-length.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-length-length-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-length.htm" + } + ], + "css-masking-1_dev/html/mask-size-percent-auto.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-percent-auto.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-percent-percent-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-percent-auto.htm" + } + ], + "css-masking-1_dev/html/mask-size-percent-length.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-percent-length.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-percent-percent-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-percent-length.htm" + } + ], + "css-masking-1_dev/html/mask-size-percent-percent-stretch.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-percent-percent-stretch.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-percent-percent-stretch-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-percent-percent-stretch.htm" + } + ], + "css-masking-1_dev/html/mask-size-percent-percent.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-percent-percent.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-percent-percent-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-percent-percent.htm" + } + ], + "css-masking-1_dev/html/mask-size-percent.htm": [ + { + "path": "css-masking-1_dev/html/mask-size-percent.htm", + "references": [ + [ + "/css-masking-1_dev/html/reference/mask-size-percent-percent-ref.htm", + "==" + ] + ], + "url": "/css-masking-1_dev/html/mask-size-percent.htm" + } + ], "css-masking-1_dev/html/test-mask.htm": [ { "path": "css-masking-1_dev/html/test-mask.htm", @@ -415019,6 +416887,18 @@ "url": "/css-masking-1_dev/xhtml1/clip-rule-002.xht" } ], + "css-masking-1_dev/xhtml1/mask-clip-1.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-clip-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-clip-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-clip-1.xht" + } + ], "css-masking-1_dev/xhtml1/mask-composite-1a.xht": [ { "path": "css-masking-1_dev/xhtml1/mask-composite-1a.xht", @@ -415067,6 +416947,522 @@ "url": "/css-masking-1_dev/xhtml1/mask-composite-2b.xht" } ], + "css-masking-1_dev/xhtml1/mask-image-1a.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-image-1a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-image-1a.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-image-1b.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-image-1b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-image-1b.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-image-1c.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-image-1c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-image-1c.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-image-2.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-image-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-image-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-image-2.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-mode-a.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-mode-a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-mode-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-mode-a.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-mode-b.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-mode-b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-mode-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-mode-b.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-origin-1.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-origin-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-origin-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-origin-1.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-origin-2.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-origin-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-origin-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-origin-2.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-1a.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-1a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-1a.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-1b.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-1b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-1b.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-1c.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-1c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-1c.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-2a.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-2a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-2a.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-2b.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-2b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-2b.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-3a.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-3a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-3a.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-3b.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-3b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-3b.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-4a.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-4a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-4a.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-4b.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-4b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-4b.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-4c.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-4c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-4c.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-4d.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-4d.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-4d.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-5.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-5.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-5-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-5.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-6.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-6.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-6-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-6.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-position-7.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-position-7.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-position-7-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-position-7.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-repeat-1.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-repeat-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-repeat-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-repeat-1.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-repeat-2.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-repeat-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-repeat-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-repeat-2.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-repeat-3.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-repeat-3.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-repeat-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-repeat-3.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-auto-auto.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-auto-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-auto-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-auto-auto.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-auto-length.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-auto-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-auto-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-auto-length.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-auto-percent.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-auto-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-auto-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-auto-percent.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-auto.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-auto-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-auto.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-contain-clip-border.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-contain-clip-border.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-contain-clip-border-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-contain-clip-border.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-contain-clip-padding.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-contain-clip-padding.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-contain-clip-padding-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-contain-clip-padding.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-contain-position-fifty-fifty.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-contain-position-fifty-fifty.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-contain-position-fifty-fifty-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-contain-position-fifty-fifty.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-contain.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-contain.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-contain-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-contain.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-cover.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-cover.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-cover-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-cover.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-length-auto.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-length-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-length-auto.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-length-length.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-length-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-length-length.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-length-percent.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-length-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-length-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-length-percent.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-length.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-length.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-percent-auto.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-percent-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-percent-auto.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-percent-length.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-percent-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-percent-length.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-percent-percent-stretch.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-percent-percent-stretch.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-stretch-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-percent-percent-stretch.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-percent-percent.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-percent-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-percent-percent.xht" + } + ], + "css-masking-1_dev/xhtml1/mask-size-percent.xht": [ + { + "path": "css-masking-1_dev/xhtml1/mask-size-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1/mask-size-percent.xht" + } + ], "css-masking-1_dev/xhtml1/test-mask.xht": [ { "path": "css-masking-1_dev/xhtml1/test-mask.xht", @@ -415763,6 +418159,18 @@ "url": "/css-masking-1_dev/xhtml1print/clip-rule-002.xht" } ], + "css-masking-1_dev/xhtml1print/mask-clip-1.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-clip-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-clip-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-clip-1.xht" + } + ], "css-masking-1_dev/xhtml1print/mask-composite-1a.xht": [ { "path": "css-masking-1_dev/xhtml1print/mask-composite-1a.xht", @@ -415811,6 +418219,522 @@ "url": "/css-masking-1_dev/xhtml1print/mask-composite-2b.xht" } ], + "css-masking-1_dev/xhtml1print/mask-image-1a.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-image-1a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-image-1a.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-image-1b.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-image-1b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-image-1b.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-image-1c.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-image-1c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-image-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-image-1c.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-image-2.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-image-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-image-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-image-2.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-mode-a.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-mode-a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-mode-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-mode-a.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-mode-b.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-mode-b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-mode-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-mode-b.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-origin-1.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-origin-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-origin-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-origin-1.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-origin-2.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-origin-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-origin-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-origin-2.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-1a.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-1a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-1a.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-1b.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-1b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-1b.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-1c.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-1c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-1c.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-2a.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-2a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-2a.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-2b.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-2b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-2b.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-3a.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-3a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-3a.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-3b.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-3b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-3b.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-4a.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-4a.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-4a.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-4b.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-4b.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-4b.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-4c.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-4c.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-4c.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-4d.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-4d.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-4-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-4d.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-5.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-5.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-5-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-5.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-6.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-6.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-6-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-6.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-position-7.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-position-7.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-position-7-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-position-7.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-repeat-1.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-repeat-1.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-repeat-1-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-repeat-1.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-repeat-2.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-repeat-2.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-repeat-2-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-repeat-2.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-repeat-3.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-repeat-3.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-repeat-3-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-repeat-3.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-auto-auto.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-auto-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-auto-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-auto-auto.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-auto-length.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-auto-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-auto-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-auto-length.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-auto-percent.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-auto-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-auto-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-auto-percent.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-auto.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-auto-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-auto.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-contain-clip-border.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-contain-clip-border.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-contain-clip-border-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-contain-clip-border.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-contain-clip-padding.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-contain-clip-padding.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-contain-clip-padding-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-contain-clip-padding.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-contain-position-fifty-fifty.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-contain-position-fifty-fifty.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-contain-position-fifty-fifty-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-contain-position-fifty-fifty.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-contain.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-contain.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-contain-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-contain.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-cover.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-cover.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-cover-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-cover.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-length-auto.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-length-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-length-auto.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-length-length.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-length-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-length-length.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-length-percent.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-length-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-length-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-length-percent.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-length.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-length-length-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-length.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-percent-auto.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-percent-auto.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-percent-auto.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-percent-length.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-percent-length.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-percent-length.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-percent-percent-stretch.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-percent-percent-stretch.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-stretch-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-percent-percent-stretch.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-percent-percent.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-percent-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-percent-percent.xht" + } + ], + "css-masking-1_dev/xhtml1print/mask-size-percent.xht": [ + { + "path": "css-masking-1_dev/xhtml1print/mask-size-percent.xht", + "references": [ + [ + "/css-masking-1_dev/xhtml1print/reference/mask-size-percent-percent-ref.xht", + "==" + ] + ], + "url": "/css-masking-1_dev/xhtml1print/mask-size-percent.xht" + } + ], "css-masking-1_dev/xhtml1print/test-mask.xht": [ { "path": "css-masking-1_dev/xhtml1print/test-mask.xht", @@ -782039,6 +784963,18 @@ "url": "/selectors-4_dev/xhtml1/focus-within-shadow-005.xht" } ], + "selectors-4_dev/xhtml1/of-type-selectors.xht": [ + { + "path": "selectors-4_dev/xhtml1/of-type-selectors.xht", + "references": [ + [ + "/selectors-4_dev/xhtml1/reference/of-type-selectors-ref.xht", + "==" + ] + ], + "url": "/selectors-4_dev/xhtml1/of-type-selectors.xht" + } + ], "selectors-4_dev/xhtml1/selector-required.xht": [ { "path": "selectors-4_dev/xhtml1/selector-required.xht", @@ -782207,6 +785143,18 @@ "url": "/selectors-4_dev/xhtml1print/focus-within-shadow-005.xht" } ], + "selectors-4_dev/xhtml1print/of-type-selectors.xht": [ + { + "path": "selectors-4_dev/xhtml1print/of-type-selectors.xht", + "references": [ + [ + "/selectors-4_dev/xhtml1print/reference/of-type-selectors-ref.xht", + "==" + ] + ], + "url": "/selectors-4_dev/xhtml1print/of-type-selectors.xht" + } + ], "selectors-4_dev/xhtml1print/selector-required.xht": [ { "path": "selectors-4_dev/xhtml1print/selector-required.xht", @@ -782244,7 +785192,7 @@ } ] }, - "rev": "aac1cd51245c0c469325988a0446985a2f1e476c", + "rev": "b9c63d615a65c4d96f26969bcd504d4e1c3cdab8", "url_base": "/", "version": 2 } diff --git a/tests/wpt/metadata-css/cssom-1_dev/html/escape.htm.ini b/tests/wpt/metadata-css/cssom-1_dev/html/escape.htm.ini index a46acb9468d..ca3b93d8303 100644 --- a/tests/wpt/metadata-css/cssom-1_dev/html/escape.htm.ini +++ b/tests/wpt/metadata-css/cssom-1_dev/html/escape.htm.ini @@ -1,3 +1,14 @@ [escape.htm] type: testharness - expected: CRASH + [Null bytes] + expected: FAIL + bug: https://github.com/servo/servo/issues/10685 + + [Various tests] + expected: FAIL + bug: https://github.com/servo/servo/issues/10685 + + [Surrogates] + expected: FAIL + bug: https://github.com/servo/servo/issues/6564 + diff --git a/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed.html.ini b/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed.html.ini deleted file mode 100644 index f0b7aa4e440..00000000000 --- a/tests/wpt/metadata/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[2d.fillStyle.parse.current.removed.html] - type: testharness - bug: https://github.com/servo/servo/issues/10601 - [currentColor is solid black when the canvas element is not in a document] - expected: FAIL - diff --git a/tests/wpt/metadata/DOMEvents/tests/approved/EventObject.after.dispatchEvent.html.ini b/tests/wpt/metadata/DOMEvents/tests/approved/EventObject.after.dispatchEvent.html.ini deleted file mode 100644 index 6f9a31a9658..00000000000 --- a/tests/wpt/metadata/DOMEvents/tests/approved/EventObject.after.dispatchEvent.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[EventObject.after.dispatchEvent.html] - type: testharness - [Test Description: As the final step of the event dispatch, the implementation must reset the event object's default-action-prevention state. ] - expected: FAIL - diff --git a/tests/wpt/metadata/DOMEvents/tests/approved/ProcessingInstruction.DOMCharacterDataModified.html.ini b/tests/wpt/metadata/DOMEvents/tests/approved/ProcessingInstruction.DOMCharacterDataModified.html.ini index efa15a1120c..8c0b459876c 100644 --- a/tests/wpt/metadata/DOMEvents/tests/approved/ProcessingInstruction.DOMCharacterDataModified.html.ini +++ b/tests/wpt/metadata/DOMEvents/tests/approved/ProcessingInstruction.DOMCharacterDataModified.html.ini @@ -1,5 +1,4 @@ [ProcessingInstruction.DOMCharacterDataModified.html] type: testharness - [Test Description: DOMCharacterDataModified event fires after ProcessingInstruction.data have been modified, but the node itself has not been inserted or deleted. The proximal event target of this event shall be the ProcessingInstruction node.] - expected: FAIL + disabled: mutation events diff --git a/tests/wpt/metadata/DOMEvents/tests/approved/domnodeinserted.html.ini b/tests/wpt/metadata/DOMEvents/tests/approved/domnodeinserted.html.ini index d5be4bfbba4..9c524457860 100644 --- a/tests/wpt/metadata/DOMEvents/tests/approved/domnodeinserted.html.ini +++ b/tests/wpt/metadata/DOMEvents/tests/approved/domnodeinserted.html.ini @@ -1,6 +1,4 @@ [domnodeinserted.html] type: testharness - expected: TIMEOUT - [Test Description: DOMNodeInserted event fires when a node has been added as a child of another node.] - expected: NOTRUN + disabled: mutation events diff --git a/tests/wpt/metadata/DOMEvents/tests/submissions/Microsoft/converted/EventObject.after.dispatchEvent.html.ini b/tests/wpt/metadata/DOMEvents/tests/submissions/Microsoft/converted/EventObject.after.dispatchEvent.html.ini deleted file mode 100644 index 6f9a31a9658..00000000000 --- a/tests/wpt/metadata/DOMEvents/tests/submissions/Microsoft/converted/EventObject.after.dispatchEvent.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[EventObject.after.dispatchEvent.html] - type: testharness - [Test Description: As the final step of the event dispatch, the implementation must reset the event object's default-action-prevention state. ] - expected: FAIL - diff --git a/tests/wpt/metadata/DOMEvents/tests/submissions/Microsoft/converted/ProcessingInstruction.DOMCharacterDataModified.html.ini b/tests/wpt/metadata/DOMEvents/tests/submissions/Microsoft/converted/ProcessingInstruction.DOMCharacterDataModified.html.ini index efa15a1120c..8c0b459876c 100644 --- a/tests/wpt/metadata/DOMEvents/tests/submissions/Microsoft/converted/ProcessingInstruction.DOMCharacterDataModified.html.ini +++ b/tests/wpt/metadata/DOMEvents/tests/submissions/Microsoft/converted/ProcessingInstruction.DOMCharacterDataModified.html.ini @@ -1,5 +1,4 @@ [ProcessingInstruction.DOMCharacterDataModified.html] type: testharness - [Test Description: DOMCharacterDataModified event fires after ProcessingInstruction.data have been modified, but the node itself has not been inserted or deleted. The proximal event target of this event shall be the ProcessingInstruction node.] - expected: FAIL + disabled: mutation events diff --git a/tests/wpt/metadata/DOMEvents/tests/submissions/Microsoft/converted/domnodeinserted.html.ini b/tests/wpt/metadata/DOMEvents/tests/submissions/Microsoft/converted/domnodeinserted.html.ini index d5be4bfbba4..9c524457860 100644 --- a/tests/wpt/metadata/DOMEvents/tests/submissions/Microsoft/converted/domnodeinserted.html.ini +++ b/tests/wpt/metadata/DOMEvents/tests/submissions/Microsoft/converted/domnodeinserted.html.ini @@ -1,6 +1,4 @@ [domnodeinserted.html] type: testharness - expected: TIMEOUT - [Test Description: DOMNodeInserted event fires when a node has been added as a child of another node.] - expected: NOTRUN + disabled: mutation events diff --git a/tests/wpt/metadata/FileAPI/blob/Blob-constructor.html.ini b/tests/wpt/metadata/FileAPI/blob/Blob-constructor.html.ini index 9d44c1daccf..5f4c6aaa244 100644 --- a/tests/wpt/metadata/FileAPI/blob/Blob-constructor.html.ini +++ b/tests/wpt/metadata/FileAPI/blob/Blob-constructor.html.ini @@ -42,6 +42,11 @@ [Array with mixed types] expected: FAIL - [no-argument Blob constructor without 'new'] + [Blob constructor with no arguments, without 'new'] + bug: https://github.com/servo/servo/issues/10744 + expected: FAIL + + [Blob constructor with undefined as first argument] + bug: https://github.com/servo/servo/issues/10779 expected: FAIL diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 1f4b82f38c4..bfb83729c78 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -3226,6 +3226,14 @@ "url": "/touch-events/single-touch-manual.html" }, { + "path": "uievents/order-of-events/focus-events/focus-manual.html", + "url": "/uievents/order-of-events/focus-events/focus-manual.html" + }, + { + "path": "uievents/order-of-events/focus-events/legacy-manual.html", + "url": "/uievents/order-of-events/focus-events/legacy-manual.html" + }, + { "path": "uievents/order-of-events/mouse-events/click-on-body-manual.html", "url": "/uievents/order-of-events/mouse-events/click-on-body-manual.html" }, @@ -3696,6 +3704,56 @@ "url": "/compat/webkit-text-fill-color-property-001d.html" }, { + "path": "compat/webkit-text-fill-color-property-002.html", + "references": [ + [ + "/compat/webkit-text-fill-color-property-002-ref.html", + "==" + ] + ], + "url": "/compat/webkit-text-fill-color-property-002.html" + }, + { + "path": "compat/webkit-text-fill-color-property-003.html", + "references": [ + [ + "/compat/webkit-text-fill-color-property-003-ref.html", + "==" + ] + ], + "url": "/compat/webkit-text-fill-color-property-003.html" + }, + { + "path": "compat/webkit-text-fill-color-property-004.html", + "references": [ + [ + "/compat/webkit-text-fill-color-property-004-ref.html", + "==" + ] + ], + "url": "/compat/webkit-text-fill-color-property-004.html" + }, + { + "path": "compat/webkit-text-fill-color-property-005.html", + "references": [ + [ + "/compat/webkit-text-fill-color-property-005-ref.html", + "==" + ] + ], + "url": "/compat/webkit-text-fill-color-property-005.html" + }, + { + "path": "compat/webkit-text-fill-color-property-006.html", + "references": [ + [ + "/compat/webkit-text-fill-color-property-006-ref.html", + "==" + ] + ], + "url": "/compat/webkit-text-fill-color-property-006.html" + }, + { "path": "custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-custom-tag.html", "references": [ [ @@ -11068,10 +11126,6 @@ "url": "/DOMEvents/tests/approved/EventListener.eventHandler.html" }, { - "path": "DOMEvents/tests/approved/EventObject.after.dispatchEvent.html", - "url": "/DOMEvents/tests/approved/EventObject.after.dispatchEvent.html" - }, - { "path": "DOMEvents/tests/approved/EventObject.multiple.dispatchEvent.html", "url": "/DOMEvents/tests/approved/EventObject.multiple.dispatchEvent.html" }, @@ -11108,10 +11162,6 @@ "url": "/DOMEvents/tests/submissions/Microsoft/converted/EventListener.eventHandler.html" }, { - "path": "DOMEvents/tests/submissions/Microsoft/converted/EventObject.after.dispatchEvent.html", - "url": "/DOMEvents/tests/submissions/Microsoft/converted/EventObject.after.dispatchEvent.html" - }, - { "path": "DOMEvents/tests/submissions/Microsoft/converted/EventObject.multiple.dispatchEvent.html", "url": "/DOMEvents/tests/submissions/Microsoft/converted/EventObject.multiple.dispatchEvent.html" }, @@ -14048,6 +14098,10 @@ "url": "/dom/events/Event-constructors.html" }, { + "path": "dom/events/Event-defaultPrevented-after-dispatch.html", + "url": "/dom/events/Event-defaultPrevented-after-dispatch.html" + }, + { "path": "dom/events/Event-defaultPrevented.html", "url": "/dom/events/Event-defaultPrevented.html" }, @@ -18732,6 +18786,10 @@ "url": "/html/semantics/embedded-content/the-embed-element/embed-document.html" }, { + "path": "html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html", + "url": "/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html" + }, + { "path": "html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01.htm", "url": "/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01.htm" }, @@ -19992,6 +20050,22 @@ "url": "/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error.html" }, { + "path": "html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1.html", + "url": "/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1.html" + }, + { + "path": "html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html", + "url": "/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html" + }, + { + "path": "html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3.html", + "url": "/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3.html" + }, + { + "path": "html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4.html", + "url": "/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4.html" + }, + { "path": "html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.html", "url": "/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.html" }, @@ -28720,10 +28794,18 @@ "url": "/web-animations/animation-effect-timing/duration.html" }, { + "path": "web-animations/animation-effect-timing/easing.html", + "url": "/web-animations/animation-effect-timing/easing.html" + }, + { "path": "web-animations/animation-effect-timing/endDelay.html", "url": "/web-animations/animation-effect-timing/endDelay.html" }, { + "path": "web-animations/animation-effect-timing/fill.html", + "url": "/web-animations/animation-effect-timing/fill.html" + }, + { "path": "web-animations/animation-effect-timing/getAnimations.html", "url": "/web-animations/animation-effect-timing/getAnimations.html" }, @@ -28740,6 +28822,18 @@ "url": "/web-animations/animation-effect-timing/iterations.html" }, { + "path": "web-animations/animation-model/animation-types/discrete-animation.html", + "url": "/web-animations/animation-model/animation-types/discrete-animation.html" + }, + { + "path": "web-animations/animation-model/animation-types/not-animatable.html", + "url": "/web-animations/animation-model/animation-types/not-animatable.html" + }, + { + "path": "web-animations/animation-model/keyframes/effect-value-context.html", + "url": "/web-animations/animation-model/keyframes/effect-value-context.html" + }, + { "path": "web-animations/animation-timeline/document-timeline.html", "url": "/web-animations/animation-timeline/document-timeline.html" }, @@ -28760,6 +28854,26 @@ "url": "/web-animations/animation/finish.html" }, { + "path": "web-animations/animation/finished.html", + "url": "/web-animations/animation/finished.html" + }, + { + "path": "web-animations/animation/id.html", + "url": "/web-animations/animation/id.html" + }, + { + "path": "web-animations/animation/oncancel.html", + "url": "/web-animations/animation/oncancel.html" + }, + { + "path": "web-animations/animation/onfinish.html", + "url": "/web-animations/animation/onfinish.html" + }, + { + "path": "web-animations/animation/pause.html", + "url": "/web-animations/animation/pause.html" + }, + { "path": "web-animations/animation/play.html", "url": "/web-animations/animation/play.html" }, @@ -28772,6 +28886,14 @@ "url": "/web-animations/animation/playbackRate.html" }, { + "path": "web-animations/animation/ready.html", + "url": "/web-animations/animation/ready.html" + }, + { + "path": "web-animations/animation/reverse.html", + "url": "/web-animations/animation/reverse.html" + }, + { "path": "web-animations/keyframe-effect/constructor.html", "url": "/web-animations/keyframe-effect/constructor.html" }, @@ -35091,8 +35213,45 @@ }, "local_changes": { "deleted": [], - "items": {}, - "reftest_nodes": {} + "deleted_reftests": {}, + "items": { + "reftest": { + "html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale.html": [ + { + "path": "html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale.html", + "references": [ + [ + "/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale_ref.html", + "==" + ] + ], + "url": "/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale.html" + } + ] + }, + "testharness": { + "dom/nodes/Element-hasAttributes.html": [ + { + "path": "dom/nodes/Element-hasAttributes.html", + "url": "/dom/nodes/Element-hasAttributes.html" + } + ] + } + }, + "reftest_nodes": { + "html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale.html": [ + { + "path": "html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale.html", + "references": [ + [ + "/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale_ref.html", + "==" + ] + ], + "url": "/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale.html" + } + ] + } }, "reftest_nodes": { "2dcontext/building-paths/canvas_complexshapes_arcto_001.htm": [ @@ -35587,6 +35746,66 @@ "url": "/compat/webkit-text-fill-color-property-001d.html" } ], + "compat/webkit-text-fill-color-property-002.html": [ + { + "path": "compat/webkit-text-fill-color-property-002.html", + "references": [ + [ + "/compat/webkit-text-fill-color-property-002-ref.html", + "==" + ] + ], + "url": "/compat/webkit-text-fill-color-property-002.html" + } + ], + "compat/webkit-text-fill-color-property-003.html": [ + { + "path": "compat/webkit-text-fill-color-property-003.html", + "references": [ + [ + "/compat/webkit-text-fill-color-property-003-ref.html", + "==" + ] + ], + "url": "/compat/webkit-text-fill-color-property-003.html" + } + ], + "compat/webkit-text-fill-color-property-004.html": [ + { + "path": "compat/webkit-text-fill-color-property-004.html", + "references": [ + [ + "/compat/webkit-text-fill-color-property-004-ref.html", + "==" + ] + ], + "url": "/compat/webkit-text-fill-color-property-004.html" + } + ], + "compat/webkit-text-fill-color-property-005.html": [ + { + "path": "compat/webkit-text-fill-color-property-005.html", + "references": [ + [ + "/compat/webkit-text-fill-color-property-005-ref.html", + "==" + ] + ], + "url": "/compat/webkit-text-fill-color-property-005.html" + } + ], + "compat/webkit-text-fill-color-property-006.html": [ + { + "path": "compat/webkit-text-fill-color-property-006.html", + "references": [ + [ + "/compat/webkit-text-fill-color-property-006-ref.html", + "==" + ] + ], + "url": "/compat/webkit-text-fill-color-property-006.html" + } + ], "custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-custom-tag.html": [ { "path": "custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-custom-tag.html", @@ -41336,7 +41555,7 @@ } ] }, - "rev": "20fa4a3a71ab7a2f75b4febbe2e98aeeaf022c2b", + "rev": "0a518aaff73532a26e175789f7e75fa99593ac64", "url_base": "/", "version": 3 } diff --git a/tests/wpt/metadata/cssom-view/elementScroll.html.ini b/tests/wpt/metadata/cssom-view/elementScroll.html.ini index 8d1d147753b..706def9d330 100644 --- a/tests/wpt/metadata/cssom-view/elementScroll.html.ini +++ b/tests/wpt/metadata/cssom-view/elementScroll.html.ini @@ -2,3 +2,4 @@ type: testharness [Element scroll maximum test] expected: FAIL + diff --git a/tests/wpt/metadata/dom/interfaces.html.ini b/tests/wpt/metadata/dom/interfaces.html.ini index 1298cc1e92b..68196d519d3 100644 --- a/tests/wpt/metadata/dom/interfaces.html.ini +++ b/tests/wpt/metadata/dom/interfaces.html.ini @@ -102,9 +102,6 @@ [DocumentFragment interface: calling queryAll(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError] expected: FAIL - [Element interface: operation hasAttributes()] - expected: FAIL - [Element interface: operation query(DOMString)] expected: FAIL @@ -165,9 +162,6 @@ [DOMTokenList interface: calling supports(DOMString) on document.body.classList with too few arguments must throw TypeError] expected: FAIL - [Node interface: attribute rootNode] - expected: FAIL - [Document interface: new Document() must inherit property "origin" with the proper type (3)] expected: FAIL @@ -183,30 +177,6 @@ [Document interface: calling queryAll(DOMString) on new Document() with too few arguments must throw TypeError] expected: FAIL - [Node interface: new Document() must inherit property "rootNode" with the proper type (16)] - expected: FAIL - - [Node interface: xmlDoc must inherit property "rootNode" with the proper type (16)] - expected: FAIL - - [Node interface: document.createDocumentFragment() must inherit property "rootNode" with the proper type (16)] - expected: FAIL - - [Node interface: document.doctype must inherit property "rootNode" with the proper type (16)] - expected: FAIL - - [Node interface: element must inherit property "rootNode" with the proper type (16)] - expected: FAIL - - [Node interface: document.createTextNode("abc") must inherit property "rootNode" with the proper type (16)] - expected: FAIL - - [Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "rootNode" with the proper type (16)] - expected: FAIL - - [Node interface: document.createComment("abc") must inherit property "rootNode" with the proper type (16)] - expected: FAIL - [Element interface: element must inherit property "query" with the proper type (36)] expected: FAIL @@ -222,9 +192,6 @@ [Node interface: new Document() must inherit property "isConnected" with the proper type (15)] expected: FAIL - [Node interface: new Document() must inherit property "rootNode" with the proper type (17)] - expected: FAIL - [Node interface: new Document() must inherit property "isSameNode" with the proper type (31)] expected: FAIL @@ -234,9 +201,6 @@ [Node interface: xmlDoc must inherit property "isConnected" with the proper type (15)] expected: FAIL - [Node interface: xmlDoc must inherit property "rootNode" with the proper type (17)] - expected: FAIL - [Node interface: xmlDoc must inherit property "isSameNode" with the proper type (31)] expected: FAIL @@ -246,9 +210,6 @@ [Node interface: document.doctype must inherit property "isConnected" with the proper type (15)] expected: FAIL - [Node interface: document.doctype must inherit property "rootNode" with the proper type (17)] - expected: FAIL - [Node interface: document.doctype must inherit property "isSameNode" with the proper type (31)] expected: FAIL @@ -258,9 +219,6 @@ [Node interface: document.createDocumentFragment() must inherit property "isConnected" with the proper type (15)] expected: FAIL - [Node interface: document.createDocumentFragment() must inherit property "rootNode" with the proper type (17)] - expected: FAIL - [Node interface: document.createDocumentFragment() must inherit property "isSameNode" with the proper type (31)] expected: FAIL @@ -303,9 +261,6 @@ [Element interface: element must inherit property "slot" with the proper type (7)] expected: FAIL - [Element interface: element must inherit property "hasAttributes" with the proper type (8)] - expected: FAIL - [Element interface: element must inherit property "attachShadow" with the proper type (24)] expected: FAIL @@ -321,9 +276,6 @@ [Node interface: element must inherit property "isConnected" with the proper type (15)] expected: FAIL - [Node interface: element must inherit property "rootNode" with the proper type (17)] - expected: FAIL - [Node interface: element must inherit property "isSameNode" with the proper type (31)] expected: FAIL @@ -339,9 +291,6 @@ [Node interface: document.createTextNode("abc") must inherit property "isConnected" with the proper type (15)] expected: FAIL - [Node interface: document.createTextNode("abc") must inherit property "rootNode" with the proper type (17)] - expected: FAIL - [Node interface: document.createTextNode("abc") must inherit property "isSameNode" with the proper type (31)] expected: FAIL @@ -351,9 +300,6 @@ [Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isConnected" with the proper type (15)] expected: FAIL - [Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "rootNode" with the proper type (17)] - expected: FAIL - [Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isSameNode" with the proper type (31)] expected: FAIL @@ -363,9 +309,6 @@ [Node interface: document.createComment("abc") must inherit property "isConnected" with the proper type (15)] expected: FAIL - [Node interface: document.createComment("abc") must inherit property "rootNode" with the proper type (17)] - expected: FAIL - [Node interface: document.createComment("abc") must inherit property "isSameNode" with the proper type (31)] expected: FAIL diff --git a/tests/wpt/metadata/dom/nodes/Document-createEvent.html.ini b/tests/wpt/metadata/dom/nodes/Document-createEvent.html.ini index a81231ac8d9..3635263e6fd 100644 --- a/tests/wpt/metadata/dom/nodes/Document-createEvent.html.ini +++ b/tests/wpt/metadata/dom/nodes/Document-createEvent.html.ini @@ -456,8 +456,3 @@ [createEvent('WHEELEVENT') should be initialized correctly.] expected: FAIL - - [Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "KeyEvents"] - expected: FAIL - bug: https://github.com/servo/servo/issues/10735 - diff --git a/tests/wpt/metadata/dom/nodes/rootNode.html.ini b/tests/wpt/metadata/dom/nodes/rootNode.html.ini deleted file mode 100644 index 8505eb99f81..00000000000 --- a/tests/wpt/metadata/dom/nodes/rootNode.html.ini +++ /dev/null @@ -1,15 +0,0 @@ -[rootNode.html] - type: testharness - bug: https://github.com/servo/servo/issues/10747 - [rootNode attribute must return the context object when it does not have any parent] - expected: FAIL - - [rootNode attribute must return the parent node of the context object when the context object has a single ancestor not in a document] - expected: FAIL - - [rootNode attribute must return the document when a node is in document] - expected: FAIL - - [rootNode attribute must return a document fragment when a node is in the fragment] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-frag-percent-encoded.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-frag-percent-encoded.html.ini index 86f6db6e6e5..cde642c374c 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-frag-percent-encoded.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-frag-percent-encoded.html.ini @@ -1,5 +1,6 @@ [scroll-frag-percent-encoded.html] type: testharness + disabled: https://github.com/servo/servo/issues/10753 [Fragment Navigation: fragment id should be percent-decoded] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-id-top.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-id-top.html.ini index dc184da60db..271674575ae 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-id-top.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-id-top.html.ini @@ -1,5 +1,6 @@ [scroll-to-id-top.html] type: testharness + disabled: https://github.com/servo/servo/issues/10753 [Fragment Navigation: TOP is a valid element id, which overrides navigating to top of the document] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-top.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-top.html.ini index a9fdfd551b8..2370922cb98 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-top.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-top.html.ini @@ -1,5 +1,6 @@ [scroll-to-top.html] type: testharness + disabled: https://github.com/servo/servo/issues/10753 [Fragment Navigation: When fragid is TOP scroll to the top of the document] expected: FAIL diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini index f7f6399a95e..1acedab90ec 100644 --- a/tests/wpt/metadata/html/dom/interfaces.html.ini +++ b/tests/wpt/metadata/html/dom/interfaces.html.ini @@ -1956,9 +1956,6 @@ [HTMLElement interface: document.createElement("noscript") must inherit property "onwaiting" with the proper type (94)] expected: FAIL - [Element interface: document.createElement("noscript") must inherit property "hasAttributes" with the proper type (7)] - expected: FAIL - [Element interface: document.createElement("noscript") must inherit property "query" with the proper type (34)] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/tabular-data/the-table-element/tBodies.html.ini b/tests/wpt/metadata/html/semantics/tabular-data/the-table-element/tBodies.html.ini deleted file mode 100644 index 071314f2235..00000000000 --- a/tests/wpt/metadata/html/semantics/tabular-data/the-table-element/tBodies.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[tBodies.html] - type: testharness - [HTMLTableElement.tBodies] - expected: FAIL - diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1.html.ini new file mode 100644 index 00000000000..d0e9c948e3a --- /dev/null +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1.html.ini @@ -0,0 +1,6 @@ +[window-onerror-with-cross-frame-event-listeners-1.html] + type: testharness + bug: https://github.com/servo/servo/issues/3311 + [The error event from an event listener should fire on that listener's global] + expected: FAIL + diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html.ini new file mode 100644 index 00000000000..3d72563832c --- /dev/null +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html.ini @@ -0,0 +1,6 @@ +[window-onerror-with-cross-frame-event-listeners-2.html] + type: testharness + bug: https://github.com/servo/servo/issues/3311 + [The error event from an event listener should fire on that listener's global] + expected: FAIL + diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3.html.ini new file mode 100644 index 00000000000..10f8529a133 --- /dev/null +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3.html.ini @@ -0,0 +1,6 @@ +[window-onerror-with-cross-frame-event-listeners-3.html] + type: testharness + bug: https://github.com/servo/servo/issues/3311 + [The error event from an event listener should fire on that listener's global] + expected: FAIL + diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4.html.ini new file mode 100644 index 00000000000..eff06558b41 --- /dev/null +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4.html.ini @@ -0,0 +1,6 @@ +[window-onerror-with-cross-frame-event-listeners-4.html] + type: testharness + bug: https://github.com/servo/servo/issues/3311 + [The error event from an event listener should fire on that listener's global] + expected: FAIL + diff --git a/tests/wpt/metadata/mozilla-sync b/tests/wpt/metadata/mozilla-sync index 0758a6a54f4..fe5dedf7818 100644 --- a/tests/wpt/metadata/mozilla-sync +++ b/tests/wpt/metadata/mozilla-sync @@ -1 +1 @@ -3d4416e1b0ae758e68900f725979238cc0128f8b
\ No newline at end of file +9c172f49d08fe9019b0ba193ea4d75c6ddb95cda
\ No newline at end of file diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/limits/gl-min-textures.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/limits/gl-min-textures.html.ini index cd454029296..625e08bbc08 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/limits/gl-min-textures.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/limits/gl-min-textures.html.ini @@ -3,3 +3,6 @@ [WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] expected: FAIL + [WebGL test #1: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] + expected: FAIL + diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/conformance/quickCheckAPI-G_I.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/conformance/quickCheckAPI-G_I.html.ini index d313695857a..499147bb3cf 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/conformance/quickCheckAPI-G_I.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/conformance/quickCheckAPI-G_I.html.ini @@ -1,5 +1,6 @@ [quickCheckAPI-G_I.html] type: testharness + disabled: https://github.com/servo/servo/issues/10656 expected: if os == "linux": CRASH if os == "osx": TIMEOUT diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/conformance/quickCheckAPI-S_V.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/conformance/quickCheckAPI-S_V.html.ini index 4e8b19fdb8e..5a623d18402 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/conformance/quickCheckAPI-S_V.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/conformance/quickCheckAPI-S_V.html.ini @@ -1,3 +1,3 @@ [quickCheckAPI-S_V.html] type: testharness - expected: CRASH + disabled: https://github.com/servo/servo/issues/10698 diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/functions/bufferDataBadArgs.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/functions/bufferDataBadArgs.html.ini deleted file mode 100644 index aa52146e07f..00000000000 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/functions/bufferDataBadArgs.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[bufferDataBadArgs.html] - type: testharness - [WebGL test #0: testBufferData] - expected: FAIL - diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/functions/texImage2D.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/functions/texImage2D.html.ini deleted file mode 100644 index 8f198e94924..00000000000 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/more/functions/texImage2D.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[texImage2D.html] - type: testharness - [WebGL test #0: testTexImage2D] - expected: FAIL - diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/programs/invalid-UTF-16.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/programs/invalid-UTF-16.html.ini deleted file mode 100644 index 889bd615088..00000000000 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/programs/invalid-UTF-16.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[invalid-UTF-16.html] - type: testharness - expected: CRASH diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/reading/read-pixels-test.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/reading/read-pixels-test.html.ini index b5f47e0e275..72222627cc3 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/reading/read-pixels-test.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/reading/read-pixels-test.html.ini @@ -1,3 +1,3 @@ [read-pixels-test.html] type: testharness - expected: CRASH + expected: TIMEOUT diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/renderbuffers/feedback-loop.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/renderbuffers/feedback-loop.html.ini index a3be8b1b8b1..80b7a714709 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/renderbuffers/feedback-loop.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/renderbuffers/feedback-loop.html.ini @@ -3,3 +3,6 @@ [WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] expected: FAIL + [WebGL test #1: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] + expected: FAIL + diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/state/state-uneffected-after-compositing.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/state/state-uneffected-after-compositing.html.ini index c8e528531fb..8d9aeee05dc 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/state/state-uneffected-after-compositing.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/state/state-uneffected-after-compositing.html.ini @@ -1,6 +1,6 @@ [state-uneffected-after-compositing.html] type: testharness - expected: CRASH + expected: TIMEOUT [WebGL test #0: Unable to fetch WebGL rendering context for Canvas] expected: FAIL diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-mips.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-mips.html.ini index 12cce1a5131..f5b63a2a77d 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-mips.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-mips.html.ini @@ -6,3 +6,6 @@ [WebGL test #3: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] expected: FAIL + [WebGL test #11: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] + expected: FAIL + diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-npot.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-npot.html.ini index d03379487c8..82aee04e698 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-npot.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-npot.html.ini @@ -3,3 +3,6 @@ [WebGL test #1: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] expected: FAIL + [WebGL test #4: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).] + expected: FAIL + diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size-cube-maps.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size-cube-maps.html.ini index d7e8a8b4c1b..4b7a0b20cd0 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size-cube-maps.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size-cube-maps.html.ini @@ -1,3 +1,3 @@ [texture-size-cube-maps.html] type: testharness - expected: CRASH + expected: TIMEOUT diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size-limit.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size-limit.html.ini index 531214358f8..9447365f926 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size-limit.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size-limit.html.ini @@ -1,8 +1,6 @@ [texture-size-limit.html] type: testharness - expected: - if os == "linux": CRASH - if not debug and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64) and (backend == "cpu"): CRASH + expected: TIMEOUT [WebGL test #0: Unable to fetch WebGL rendering context for Canvas] expected: FAIL diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size.html.ini index ab4df0b7d7e..a4bcc3d348b 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/texture-size.html.ini @@ -1,8 +1,6 @@ [texture-size.html] type: testharness - expected: - if os == "linux": CRASH - if not debug and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64) and (backend == "cpu"): CRASH + expected: TIMEOUT [WebGL test #0: Unable to fetch WebGL rendering context for Canvas] expected: FAIL diff --git a/tests/wpt/metadata/websockets/constructor/018.html.ini b/tests/wpt/metadata/websockets/constructor/018.html.ini new file mode 100644 index 00000000000..ba4b969fdd2 --- /dev/null +++ b/tests/wpt/metadata/websockets/constructor/018.html.ini @@ -0,0 +1,5 @@ +[018.html] + type: testharness + [WebSockets: NULL char in url] + expected: FAIL + diff --git a/tests/wpt/metadata/webstorage/storage_setitem.html.ini b/tests/wpt/metadata/webstorage/storage_setitem.html.ini index 93dfb482b17..0a0f43019b2 100644 --- a/tests/wpt/metadata/webstorage/storage_setitem.html.ini +++ b/tests/wpt/metadata/webstorage/storage_setitem.html.ini @@ -1,3 +1,19 @@ [storage_setitem.html] type: testharness - expected: CRASH + expected: TIMEOUT + [localStorage[\] = "�"] + expected: FAIL + bug: https://github.com/servo/servo/issues/6564 + + [localStorage[\] = "�a"] + expected: FAIL + bug: https://github.com/servo/servo/issues/6564 + + [localStorage[\] = "a�"] + expected: FAIL + bug: https://github.com/servo/servo/issues/6564 + + [localStorage["0"\]] + expected: TIMEOUT + bug: https://github.com/servo/servo/issues/10686 + diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 1cadcfe1765..72b1a3c9946 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -8,6 +8,7 @@ }, "local_changes": { "deleted": [], + "deleted_reftests": {}, "items": { "reftest": { "css/abs-overflow-stackingcontext.html": [ @@ -5779,6 +5780,18 @@ "url": "/_mozilla/mozilla/iframe/resize_after_load.html" } ], + "mozilla/sslfail.html": [ + { + "path": "mozilla/sslfail.html", + "references": [ + [ + "/_mozilla/mozilla/sslfail-ref.html", + "==" + ] + ], + "url": "/_mozilla/mozilla/sslfail.html" + } + ], "mozilla/webgl/clearcolor.html": [ { "path": "mozilla/webgl/clearcolor.html", @@ -5803,6 +5816,18 @@ "url": "/_mozilla/mozilla/webgl/draw_arrays_simple.html" } ], + "mozilla/webgl/tex_image_2d_abv.html": [ + { + "path": "mozilla/webgl/tex_image_2d_abv.html", + "references": [ + [ + "/_mozilla/mozilla/webgl/tex_image_2d_abv_ref.html", + "==" + ] + ], + "url": "/_mozilla/mozilla/webgl/tex_image_2d_abv.html" + } + ], "mozilla/webgl/tex_image_2d_canvas.html": [ { "path": "mozilla/webgl/tex_image_2d_canvas.html", @@ -6657,6 +6682,12 @@ "url": "/_mozilla/mozilla/window_requestAnimationFrame2.html" } ], + "mozilla/window_resize_not_triggered_on_load.html": [ + { + "path": "mozilla/window_resize_not_triggered_on_load.html", + "url": "/_mozilla/mozilla/window_resize_not_triggered_on_load.html" + } + ], "mozilla/window_setInterval.html": [ { "path": "mozilla/window_setInterval.html", @@ -12441,6 +12472,18 @@ "url": "/_mozilla/mozilla/iframe/resize_after_load.html" } ], + "mozilla/sslfail.html": [ + { + "path": "mozilla/sslfail.html", + "references": [ + [ + "/_mozilla/mozilla/sslfail-ref.html", + "==" + ] + ], + "url": "/_mozilla/mozilla/sslfail.html" + } + ], "mozilla/webgl/clearcolor.html": [ { "path": "mozilla/webgl/clearcolor.html", @@ -12465,6 +12508,18 @@ "url": "/_mozilla/mozilla/webgl/draw_arrays_simple.html" } ], + "mozilla/webgl/tex_image_2d_abv.html": [ + { + "path": "mozilla/webgl/tex_image_2d_abv.html", + "references": [ + [ + "/_mozilla/mozilla/webgl/tex_image_2d_abv_ref.html", + "==" + ] + ], + "url": "/_mozilla/mozilla/webgl/tex_image_2d_abv.html" + } + ], "mozilla/webgl/tex_image_2d_canvas.html": [ { "path": "mozilla/webgl/tex_image_2d_canvas.html", diff --git a/tests/wpt/mozilla/meta/mozilla/sslfail.html.ini b/tests/wpt/mozilla/meta/mozilla/sslfail.html.ini new file mode 100644 index 00000000000..0c722d3efd7 --- /dev/null +++ b/tests/wpt/mozilla/meta/mozilla/sslfail.html.ini @@ -0,0 +1,3 @@ +[sslfail.html] + type: reftest + disabled: https://github.com/servo/servo/issues/10760 diff --git a/tests/wpt/mozilla/tests/mozilla/bad_cert_detected.html b/tests/wpt/mozilla/tests/mozilla/bad_cert_detected.html index 22f6b6676e4..7b79c46b48d 100644 --- a/tests/wpt/mozilla/tests/mozilla/bad_cert_detected.html +++ b/tests/wpt/mozilla/tests/mozilla/bad_cert_detected.html @@ -10,18 +10,14 @@ var t = async_test("Invalid SSL cert noticed"); t.step(function() { var target = location.href.replace(HTTP_ORIGIN, HTTPS_ORIGIN) .replace('bad_cert_detected.html', - 'resources/origin_helpers.js'); - // Servo currently lacks the ability to introspect any content that is blocked - // due to a cert error, so we use a roundabout method to infer that that's happened. - // When the worker has a cert failure, that translates into attempting to evaluate the - // contents of badcert.html as JS, which triggers an exception that currently does not - // propagate to the parent scope. If we _do_ get an error event in the parent scope, - // that means that the cert verification was treated no different than any other - // network error, since we dispatch an error event in that case. + 'resources/worker_success.js'); var w = new Worker(target); - w.addEventListener('error', t.unreached_func("cert not detected as invalid"), false); - // We infer that we detected an invalid cert if nothing happens for a few seconds. - setTimeout(function() { t.done() }, 3000); + // If the script executes successfully, it should send a message. That indicates that + // there was no validation failure, which is bad. + w.addEventListener('message', t.unreached_func("cert not detected as invalid"), true); + // When the worker has a cert failure, that translates into an early error that is reported + // to the Worker object. + w.addEventListener('error', t.step_func_done(), true); }); </script> </body> diff --git a/tests/wpt/mozilla/tests/mozilla/resources/origin_helpers.js b/tests/wpt/mozilla/tests/mozilla/resources/origin_helpers.js index 35e6ebf6a05..6493d422c08 100644 --- a/tests/wpt/mozilla/tests/mozilla/resources/origin_helpers.js +++ b/tests/wpt/mozilla/tests/mozilla/resources/origin_helpers.js @@ -1,5 +1,5 @@ var HTTP_PORT = '{{ports[http][0]}}'; var HTTPS_PORT = '{{ports[https][0]}}'; -var ORIGINAL_HOST = '\'{{host}}\''; +var ORIGINAL_HOST = '{{host}}'; var HTTP_ORIGIN = 'http://' + ORIGINAL_HOST + ':' + HTTP_PORT; var HTTPS_ORIGIN = 'https://' + ORIGINAL_HOST + ':' + HTTPS_PORT; diff --git a/tests/wpt/mozilla/tests/mozilla/resources/ssl.https.html b/tests/wpt/mozilla/tests/mozilla/resources/ssl.https.html new file mode 100644 index 00000000000..ea0a70858a4 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/resources/ssl.https.html @@ -0,0 +1,5 @@ +<html> +<body> +this should be a secure connection +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/mozilla/tests/mozilla/resources/worker_success.js b/tests/wpt/mozilla/tests/mozilla/resources/worker_success.js new file mode 100644 index 00000000000..327986f34b9 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/resources/worker_success.js @@ -0,0 +1 @@ +postMessage('load succeeded'); diff --git a/tests/wpt/mozilla/tests/mozilla/sslfail-ref.html b/tests/wpt/mozilla/tests/mozilla/sslfail-ref.html new file mode 100644 index 00000000000..4d371a86886 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/sslfail-ref.html @@ -0,0 +1,9 @@ +<html> + <head> + <meta charset=utf-8> + <title>SSL Failure Reference</title> + </head> + <body> + <iframe src="about:sslfail"></iframe> + </body> +</html> diff --git a/tests/wpt/mozilla/tests/mozilla/sslfail.html b/tests/wpt/mozilla/tests/mozilla/sslfail.html new file mode 100644 index 00000000000..40eb31ca31a --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/sslfail.html @@ -0,0 +1,17 @@ +<html> + <head> + <meta charset=utf-8> + <title>SSL Failure</title> + <link rel=match href=sslfail-ref.html> + <script src="resources/origin_helpers.js?pipe=sub"></script> + </head> + <body> + <script> +var iframe = document.createElement('iframe'); +document.body.appendChild(iframe); +iframe.src = location.href + .replace(HTTP_ORIGIN, HTTPS_ORIGIN) + .replace('sslfail.html', 'resources/ssl.https.html'); + </script> + </body> +</html> diff --git a/tests/wpt/mozilla/tests/mozilla/webgl/tex_image_2d_abv.html b/tests/wpt/mozilla/tests/mozilla/webgl/tex_image_2d_abv.html new file mode 100644 index 00000000000..bfa6019a218 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/webgl/tex_image_2d_abv.html @@ -0,0 +1,106 @@ +<!doctype html> +<meta charset="utf-8"> +<title>WebGL: texImage2D with Array Buffer View</title> +<link rel="match" href="tex_image_2d_abv_ref.html"> +<style>html, body { margin: 0; padding: 0; }</style> +<!-- This reftest should show a 512x512px red square --> +<canvas id="c" width="512" height="512"></canvas> +<script id="vertex_shader" type="x-shader/x-vertex"> +precision mediump float; +attribute vec2 a_texCoord; +attribute vec2 a_position; +varying vec2 v_texCoord; + +void main() { + gl_Position = vec4(a_position, 0, 1); + v_texCoord = a_texCoord; +} +</script> + +<script id="fragment_shader" type="x-shader/x-fragment"> +precision mediump float; +uniform sampler2D u_image; +varying vec2 v_texCoord; +void main() { + gl_FragColor = texture2D(u_image, v_texCoord); +} +</script> +<script> + var gl = document.getElementById('c').getContext('webgl'); + + // Clear black + gl.clearColor(1, 1, 1, 1); + gl.clear(gl.COLOR_BUFFER_BIT); + + // Create the program + var vertex_shader = gl.createShader(gl.VERTEX_SHADER), + fragment_shader = gl.createShader(gl.FRAGMENT_SHADER), + program = gl.createProgram(); + + gl.shaderSource(vertex_shader, + document.getElementById('vertex_shader').textContent); + gl.shaderSource(fragment_shader, + document.getElementById('fragment_shader').textContent); + gl.compileShader(vertex_shader); + gl.compileShader(fragment_shader); + gl.attachShader(program, vertex_shader); + gl.attachShader(program, fragment_shader); + console.log(gl.getShaderInfoLog(vertex_shader)); + console.log(gl.getShaderInfoLog(fragment_shader)); + gl.linkProgram(program); + gl.useProgram(program); + + // Get the position from the fragment shader + var position = gl.getAttribLocation(program, "a_position"); + var tex_position = gl.getAttribLocation(program, "a_texCoord"); + + var texture_coordinates = new Float32Array([ + 0.0, 0.0, + 1.0, 0.0, + 0.0, 1.0, + 0.0, 1.0, + 1.0, 0.0, + 1.0, 1.0 + ]); + + var texture_buffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, texture_buffer); + gl.bufferData(gl.ARRAY_BUFFER, texture_coordinates, gl.STATIC_DRAW); + gl.enableVertexAttribArray(tex_position); + gl.vertexAttribPointer(tex_position, 2, gl.FLOAT, false, 0, 0); + + var square_data = new Float32Array([ + -1.0, 1.0, // top left + 1.0, 1.0, // top right + -1.0, -1.0, // bottom left + -1.0, -1.0, // bottom left + 1.0, 1.0, // top right + 1.0, -1.0 // bottom right + ]); + + // Create a buffer for the square with the square + // vertex data + var square_buffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, square_buffer); + gl.bufferData(gl.ARRAY_BUFFER, square_data, gl.STATIC_DRAW); + + gl.enableVertexAttribArray(position); + gl.vertexAttribPointer(position, 2, gl.FLOAT, false, 0, 0); + + // Load the texture and draw + var tex = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, tex); + console.log(gl.getError() == gl.NO_ERROR); + + + // Create a 1x1 red texture, but repeated. + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, + gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array([255, 0, 0, 255])); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + console.log(gl.getError() == gl.NO_ERROR); + + gl.drawArrays(gl.TRIANGLES, 0, 6); +</script> diff --git a/tests/wpt/mozilla/tests/mozilla/webgl/tex_image_2d_abv_ref.html b/tests/wpt/mozilla/tests/mozilla/webgl/tex_image_2d_abv_ref.html new file mode 100644 index 00000000000..1e84eb7846c --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/webgl/tex_image_2d_abv_ref.html @@ -0,0 +1,13 @@ +<!doctype html> +<meta charset="utf-8"> +<title>ref: WebGL: texImage2D with Array Buffer View</title> +<style> + html, body { margin: 0; padding: 0; } + div { + width: 512px; + height: 512px; + background: red; + } +</style> +<!-- This reftest should show a 512x512px red square --> +<div></div> diff --git a/tests/wpt/mozilla/tests/mozilla/window_resize_not_triggered_on_load.html b/tests/wpt/mozilla/tests/mozilla/window_resize_not_triggered_on_load.html new file mode 100644 index 00000000000..f551f67ee91 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/window_resize_not_triggered_on_load.html @@ -0,0 +1,28 @@ +<!doctype html> +<meta charset="utf-8"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="author" title="Michael Howell" href="https://www.notriddle.com/"> +<link rel="help" href="https://drafts.csswg.org/cssom-view/#resizing-viewports"> +<script> +<!-- This event handler needs to be registered before the first layout --> +var resize_run = false; +window.onresize = function() { + resize_run = true; +}; +</script> +<title>window.onresize should not be called when the window first loads</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=d></div> +<script> +var t = async_test("window.onresize should not be called when the window first loads"); +var d = document.getElementById("d"); +window.getComputedStyle(d, null).getPropertyValue("width"); +d.style.width = "1px"; +window.onload = function() { + t.step(function() { + assert_true(!resize_run); + t.done(); + }); +}; +</script> diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventObject.after.dispatchEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventObject.after.dispatchEvent.html deleted file mode 100644 index d8ab8d4f26a..00000000000 --- a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventObject.after.dispatchEvent.html +++ /dev/null @@ -1,44 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<title> Event.defaultPrevented is reset after dipatchEvent() </title> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -</head> -<body> -<div id=log></div> - -<input id="target" type="hidden" value=""/> - -<script> - var EVENT = "foo"; - var TARGET = document.getElementById("target"); - var PreState; - var PosState; - - var description = "Test Description: " + - "As the final step of the event dispatch, the implementation must reset the event " + - "object's default-action-prevention state. "; - - test(function() - { - var evt = document.createEvent("Event"); - evt.initEvent(EVENT, true, true); - - TARGET.addEventListener(EVENT, TestEvent, true); - TARGET.dispatchEvent(evt); - - PosState = evt.defaultPrevented; - - assert_array_equals([evt.target, PreState, PosState], [TARGET, true, false]); - - }, description); - - function TestEvent(evt) - { - evt.preventDefault(); - PreState = evt.defaultPrevented; - } -</script> -</body> -</html> diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventObject.after.dispatchEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventObject.after.dispatchEvent.html deleted file mode 100644 index a2e44c9c8cf..00000000000 --- a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventObject.after.dispatchEvent.html +++ /dev/null @@ -1,45 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<title> Event.defaultPrevented is reset after dipatchEvent() </title> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -</head> -<body> -<div id=log></div> - -<input id="target" type="hidden" value=""/> - -<script> - - var EVENT = "foo"; - var TARGET = document.getElementById("target"); - var PreState; - var PosState; - - var description = "Test Description: " + - "As the final step of the event dispatch, the implementation must reset the event " + - "object's default-action-prevention state. "; - - test(function() - { - var evt = document.createEvent("Event"); - evt.initEvent(EVENT, true, true); - - TARGET.addEventListener(EVENT, TestEvent, true); - TARGET.dispatchEvent(evt); - - PosState = evt.defaultPrevented; - - assert_array_equals([evt.target, PreState, PosState], [TARGET, true, false]); - - }, description); - - function TestEvent(evt) - { - evt.preventDefault(); - PreState = evt.defaultPrevented; - } -</script> -</body> -</html> diff --git a/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html index 799091d55ac..9c2b0a138c9 100644 --- a/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html +++ b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html @@ -23,22 +23,28 @@ test(function() { assert_equals(String(blob), '[object Blob]'); assert_equals(blob.size, 0); assert_equals(blob.type, ""); -}, "no-argument Blob constructor"); +}, "Blob constructor with no arguments"); test(function() { assert_throws(new TypeError(), function() { var blob = Blob(); }); -}, "no-argument Blob constructor without 'new'"); +}, "Blob constructor with no arguments, without 'new'"); test(function() { var blob = new Blob; assert_true(blob instanceof Blob); assert_equals(blob.size, 0); assert_equals(blob.type, ""); -}, "no-argument Blob constructor without brackets"); +}, "Blob constructor without brackets"); +test(function() { + var blob = new Blob(undefined); + assert_true(blob instanceof Blob); + assert_equals(String(blob), '[object Blob]'); + assert_equals(blob.size, 0); + assert_equals(blob.type, ""); +}, "Blob constructor with undefined as first argument"); // blobParts argument (WebIDL). test(function() { var args = [ null, - undefined, true, false, 0, diff --git a/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-002-ref.html b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-002-ref.html new file mode 100644 index 00000000000..00c5072f85d --- /dev/null +++ b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-002-ref.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<meta charset="utf-8"> +<title>webkit-text-fill-color on selected text reference</title> +<link rel="author" title="Jeremy Chen" href="jeremychen@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<style> +p { + color: green; +} +</style> +<body onload="onload()"> +<p>Pass if color of <span id="selectMe">selected text</span> is green or inverted (depending on the platform convention), but not red</p> +<script type="text/javascript"> +function onload() { + var elt = document.getElementById("selectMe"); + var range = document.createRange(); + range.selectNode(elt); + window.getSelection().removeAllRanges(); + window.getSelection().addRange(range); + document.documentElement.classList.remove('reftest-wait'); +} +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-002.html b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-002.html new file mode 100644 index 00000000000..8ed14ccc83c --- /dev/null +++ b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-002.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<meta charset="utf-8"> +<title>webkit-text-fill-color should take effect while rendering selected text</title> +<link rel="author" title="Jeremy Chen" href="jeremychen@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<link rel="help" href="https://compat.spec.whatwg.org/#the-webkit-text-fill-color"> +<meta name="assert" content="The color of selected text should be green"> +<link rel="match" href="webkit-text-fill-color-property-002-ref.html"> +<style> +p { + color: red; + -webkit-text-fill-color: green; +} +</style> +<body onload="onload()"> +<p>Pass if color of <span id="selectMe">selected text</span> is green or inverted (depending on the platform convention), but not red</p> +<script type="text/javascript"> +function onload() { + var elt = document.getElementById("selectMe"); + var range = document.createRange(); + range.selectNode(elt); + window.getSelection().removeAllRanges(); + window.getSelection().addRange(range); + document.documentElement.classList.remove('reftest-wait'); +} +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-003-ref.html b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-003-ref.html new file mode 100644 index 00000000000..bbfd78e37ff --- /dev/null +++ b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-003-ref.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<meta charset="utf-8"> +<title>webkit-text-fill-color on ::-moz-selection selected text reference</title> +<link rel="author" title="Jeremy Chen" href="jeremychen@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<style> +::-moz-selection { + color: green; background: skyblue; +} +::selection { + color: green; background: skyblue; +} +</style> +<body onload="onload()"> +<p>Pass if color of <span id="selectMe">selected text</span> is green!!!</p> +<script type="text/javascript"> +function onload() { + var elt = document.getElementById("selectMe"); + var range = document.createRange(); + range.selectNode(elt); + window.getSelection().removeAllRanges(); + window.getSelection().addRange(range); + document.documentElement.classList.remove('reftest-wait'); +} +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-003.html b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-003.html new file mode 100644 index 00000000000..dcbd70b18f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-003.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<meta charset="utf-8"> +<title>webkit-text-fill-color should take effect while rendering ::-moz-selection selected text</title> +<link rel="author" title="Jeremy Chen" href="jeremychen@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<link rel="help" href="https://compat.spec.whatwg.org/#the-webkit-text-fill-color"> +<meta name="assert" content="The color of selected text should be green"> +<link rel="match" href="webkit-text-fill-color-property-003-ref.html"> +<style> +::-moz-selection { + background: skyblue; + color: red; + -webkit-text-fill-color: green; +} +::selection { + background: skyblue; + color: red; + -webkit-text-fill-color: green; +} +</style> +<body onload="onload()"> +<p>Pass if color of <span id="selectMe">selected text</span> is green!!!</p> +<script type="text/javascript"> +function onload() { + var elt = document.getElementById("selectMe"); + var range = document.createRange(); + range.selectNode(elt); + window.getSelection().removeAllRanges(); + window.getSelection().addRange(range); + document.documentElement.classList.remove('reftest-wait'); +} +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-004-ref.html b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-004-ref.html new file mode 100644 index 00000000000..583cf9a358d --- /dev/null +++ b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-004-ref.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>webkit-text-fill-color on MathML reference</title> +<link rel="author" title="Jeremy Chen" href="jeremychen@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<style> +math { + font-size: 50px; + color: green; +} +</style> +<body> +<p>Pass if color of operators and operands are all green!!!</p> + <math> + <mrow> + <mrow> + <msup> + <mi>a</mi> + <mn>2</mn> + </msup> + <mo>+</mo> + <msup> + <mi>b</mi> + <mn>2</mn> + </msup> + </mrow> + <mo>=</mo> + <msup> + <mi>c</mi> + <mn>2</mn> + </msup> + </mrow> + </math> +</body> diff --git a/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-004.html b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-004.html new file mode 100644 index 00000000000..739418d98e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-004.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>webkit-text-fill-color should take effect while rendering MathML</title> +<link rel="author" title="Jeremy Chen" href="jeremychen@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<link rel="help" href="https://compat.spec.whatwg.org/#the-webkit-text-fill-color"> +<meta name="assert" content="The color of MathML should be green"> +<link rel="match" href="webkit-text-fill-color-property-004-ref.html"> +<style> +math { + font-size: 50px; + color: red; + -webkit-text-fill-color: green; +} +</style> +<body> +<p>Pass if color of operators and operands are all green!!!</p> + <math> + <mrow> + <mrow> + <msup> + <mi>a</mi> + <mn>2</mn> + </msup> + <mo>+</mo> + <msup> + <mi>b</mi> + <mn>2</mn> + </msup> + </mrow> + <mo>=</mo> + <msup> + <mi>c</mi> + <mn>2</mn> + </msup> + </mrow> + </math> +</body> diff --git a/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-005-ref.html b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-005-ref.html new file mode 100644 index 00000000000..f173137fabf --- /dev/null +++ b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-005-ref.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>webkit-text-fill-color on text-decoration underline reference</title> +<link rel="author" title="Jeremy Chen" href="jeremychen@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<style type="text/css"> +p { + font-size: 50px; + text-decoration: underline; + color: green; +} +</style> +<div><p>Pass if text underline is green!!!</p></div> diff --git a/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-005.html b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-005.html new file mode 100644 index 00000000000..b3549d68b17 --- /dev/null +++ b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-005.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>webkit-text-fill-color should take effect while rendering text-decoration underline</title> +<link rel="author" title="Jeremy Chen" href="jeremychen@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<link rel="help" href="https://compat.spec.whatwg.org/#the-webkit-text-fill-color"> +<meta name="assert" content="The color of text-decoration underline should be green"> +<link rel="match" href="webkit-text-fill-color-property-005-ref.html"> +<style type="text/css"> +p { + font-size: 50px; + text-decoration: underline; + color: red; + -webkit-text-fill-color: green; +} +</style> +<div><p>Pass if text underline is green!!!</p></div> diff --git a/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-006-ref.html b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-006-ref.html new file mode 100644 index 00000000000..602d296bdb4 --- /dev/null +++ b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-006-ref.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>webkit-text-fill-color on text-overflow ellipsis reference</title> +<link rel="author" title="Jeremy Chen" href="jeremychen@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<style> +div { + font-size: 10px; + overflow: hidden; + text-overflow: ellipsis; + width: 150px; + color: green; +} +span { + font-family: Ahem; + font-size: 30px; +} +</style> +<body> +<p>Test passes if there is a <strong>green ellipsis</strong> after "TestChecks".</p> +<div> + <span>TestChecksThatTextColorAndEllipsisColorShouldBeTheSame</span> +</div> +</body> diff --git a/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-006.html b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-006.html new file mode 100644 index 00000000000..4eb37e9e951 --- /dev/null +++ b/tests/wpt/web-platform-tests/compat/webkit-text-fill-color-property-006.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>webkit-text-fill-color should take effect while rendering text-overflow ellipsis</title> +<link rel="author" title="Jeremy Chen" href="jeremychen@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<link rel="help" href="https://compat.spec.whatwg.org/#the-webkit-text-fill-color"> +<meta name="assert" content="The color of text-overflow ellipsis should be green"> +<link rel="match" href="webkit-text-fill-color-property-006-ref.html"> +<style> +div { + font-size: 10px; + overflow: hidden; + text-overflow: ellipsis; + width: 150px; + color: red; + -webkit-text-fill-color: green; +} +span { + font-family: Ahem; + font-size: 30px; +} +</style> +<body> +<p>Test passes if there is a <strong>green ellipsis</strong> after "TestChecks".</p> +<div> + <span>TestChecksThatTextColorAndEllipsisColorShouldBeTheSame</span> +</div> +</body> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html index 57889e5966c..19cf6811c57 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html @@ -32,7 +32,7 @@ form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; <input type="text" name="fieldname" value="fieldvalue"> <input type="submit" id="submit" value="submit"> </form> - <p>Tests that allowed form actions work correctly. If this test passes, you will see a page indicating a form was POSTed.</p> + <p>Tests that allowed form actions work correctly.</p> <div id="log"></div> <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> </body> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html index 33ce163af24..0960a8a02f2 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html @@ -31,7 +31,7 @@ form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; <input type="text" name="fieldname" value="fieldvalue"> <input type="submit" id="submit" value="submit"> </form> - <p>Tests that blocking form actions works correctly. If this test passes, a CSP violation will be generated, and will not see a page indicating a form was POSTed.</p> + <p>Tests that blocking form actions works correctly.</p> <div id="log"></div> <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=form-action%20'none'"></script> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html index 2f2804b64bb..a7d3e584b83 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html @@ -33,7 +33,8 @@ form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; <input type="text" name="fieldname" value="fieldvalue"> <input type="submit" id="submit" value="submit"> </form> - <p>Tests that allowed form actions work correctly. If this test passes, you will see a page indicating a form was POSTed.</p> + <p>Tests that allowed form actions work correctly + with GET and a redirect.</p> <div id="log"></div> <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> </body> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html index 559e159f057..0910eb41964 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html @@ -33,7 +33,8 @@ form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; <input type="text" name="fieldname" value="fieldvalue"> <input type="submit" id="submit" value="submit"> </form> - <p>Tests that allowed form actions work correctly. If this test passes, you will see a page indicating a form was POSTed.</p> + <p>Tests that disallowed form actions are blocked + with GET and redirects.</p> <div id="log"></div> <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=form-action%20'none' "></script> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html index 1d9d5693ac1..e311817eb59 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html @@ -33,7 +33,7 @@ form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; <input type="text" name="fieldname" value="fieldvalue"> <input type="submit" id="submit" value="submit"> </form> - <p>Tests that blocking form redirect works correctly. If this test passes, a CSP violation will be generated, and will not see a page indicating a form was POSTed.</p> + <p>Tests that blocking a POST form with a redirect works correctly. If this test passes, a CSP violation will be generated.</p> <div id="log"></div> <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=form-action%20'self'"></script> </body> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/meta-outside-head.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/meta-outside-head.sub.html index ac103981c3c..41618d4ef77 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/meta-outside-head.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/meta-outside-head.sub.html @@ -14,14 +14,14 @@ script-src 'self' 'unsafe-inline' 'none'; connect-src 'self'; </head> <body> - <meta http-equiv="Content-Security-Policy" content="script-src 'none'"> + <meta http-equiv="Content-Security-Policy" content="script-src 'self'"> <p>This test checks that Content Security Policy delivered via a meta element is not enforced if the element is outside the document's head.</p> <script> - alert_assert("PASS (1/1)"); - + var aa = "PASS (1/1)"; </script> + <script src="metaHelper.js"></script> <div id="log"></div> - <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> + <script src="../support/checkReport.sub.js?reportExists=false"></script> </body> </html> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/metaHelper.js b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/metaHelper.js new file mode 100644 index 00000000000..9191a39c73b --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/metaHelper.js @@ -0,0 +1,5 @@ +if (typeof aa != 'undefined') { + alert_assert(aa); +} else { + alert_assert("Failed - allowed inline script blocked by meta policy outside head."); +} diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html index 59179c71615..eb60d5d4cff 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html @@ -6,7 +6,7 @@ <title>plugintypes-notype-data</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> - <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src='../support/logTest.sub.js?logs=["PASS: object tag onerror handler fired"]'></script> <script src="../support/alertAssert.sub.js?alerts=[]"></script> <!-- enforcing policy: plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; @@ -15,7 +15,7 @@ plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; conn <body> Given a `plugin-types` directive, plugins have to declare a type explicitly. No declared type, no load. This test passes if there's a CSP report and "FAIL!" isn't logged. - <object data="data:application/x-webkit-test-netscape" onload="log('FAIL');" onerror="log('PASS');"></object> + <object data="data:application/x-webkit-test-netscape" onload="log('FAIL');" onerror="log('PASS: object tag onerror handler fired');"></object> <div id="log"></div> <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=plugin-types+application/x-invalid-type"></script> </body> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html index 8a064c70172..bd1e0365c2e 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html @@ -7,7 +7,6 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> - </script> <!-- enforcing policy: script-src 'self' 'nonce-nonceynonce' 'sha256-dWTP4Di8KBjaiXvQ5mRquI9OoBSo921ahYxLfYSiuT8='; connect-src 'self'; --> @@ -34,12 +33,9 @@ script-src 'self' 'nonce-nonceynonce' 'sha256-dWTP4Di8KBjaiXvQ5mRquI9OoBSo921ahY var scriptContent2 = "window.finish('" + nonMatchingContent + "');"; var script1 = document.createElement('script'); - script1.innerHTML = scriptContent1; var script2 = document.createElement('script'); - script2.innerHTML = scriptContent2; - script1.test = async_test("Inline script with hash in CSP"); - script2.test = async_test("Inline script without hash in CSP"); + script1.test = async_test("Only matching content runs even with NFC normalization."); var failure = function() { assert_unreached(); @@ -51,16 +47,18 @@ script-src 'self' 'nonce-nonceynonce' 'sha256-dWTP4Di8KBjaiXvQ5mRquI9OoBSo921ahY script1.test.done(); }); } else { - assert_unreached(); + script1.test.step(function() { + assert_unreached("nonMatchingContent script ran"); + }); } } script1.onerror = failure; - script2.onerror = script2.test.step_func(function() { - script2.test.done(); - }); - document.body.appendChild(script1); + document.body.appendChild(script2); + script2.textContent = scriptContent2; + document.body.appendChild(script1); + script1.textContent = scriptContent1; </script> <p> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html index 18ad1d4f66c..4815ca10013 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html @@ -6,49 +6,16 @@ <title>scriptnonce-basic-blocked</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> - <script nonce='noncynonce'> - function log(msg) { - test(function() { - assert_unreached(msg) - }); - } - - </script> - <script nonce='noncynonce'> - var t_alert = async_test('Expecting alerts: ["PASS (1/2)","PASS (2/2)"]'); - var expected_alerts = ["PASS (1/2)", "PASS (2/2)"]; - - function alert_assert(msg) { - t_alert.step(function() { - if (msg.match(/^FAIL/i)) { - assert_unreached(msg); - t_alert.done(); - } - for (var i = 0; i < expected_alerts.length; i++) { - if (expected_alerts[i] == msg) { - assert_true(expected_alerts[i] == msg); - expected_alerts.splice(i, 1); - if (expected_alerts.length == 0) { - t_alert.done(); - } - return; - } - } - assert_unreached('unexpected alert: ' + msg); - t_log.done(); - }); - } - - </script> + <script src='../support/alertAssert.sub.js?alerts=["PASS (closely-quoted nonce)","PASS (nonce w/whitespace)"]'></script> <!-- enforcing policy: script-src 'self' 'unsafe-inline' 'nonce-noncynonce'; connect-src 'self'; --> <script nonce="noncynonce"> - alert_assert('PASS (1/2)'); + alert_assert('PASS (closely-quoted nonce)'); </script> <script nonce=" noncynonce "> - alert_assert('PASS (2/2)'); + alert_assert('PASS (nonce w/whitespace)'); </script> <script nonce="noncynonce noncynonce"> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html index be7ef1a8198..282b1850257 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html @@ -34,7 +34,7 @@ </script> <!-- enforcing policy: -style-src 'sha1-eYyYGmKWdhpUewohaXk9o8IaLSw=' 'sha256-hndjYvzUzy2Ykuad81Cwsl1FOXX/qYs/aDVyUyNZwBw=' 'sha384-bSVm1i3sjPBRM4TwZtYTDjk9JxZMExYHWbFmP1SxDhJH4ue0Wu9OPOkY5hcqRcSt' 'sha512-440MmBLtj9Kp5Bqloogn9BqGDylY8vFsv5/zXL1zH2fJVssCoskRig4gyM+9KqwvCSapSz5CVoUGHQcxv43UQg=='; script-src 'self' 'unsafe-inline'; connect-src 'self'; +style-src 'sha256-pAKi9r4/WB7fHydbE3F3t8i8602ij2JN8zHJpL2T5BM=' 'sha256-hndjYvzUzy2Ykuad81Cwsl1FOXX/qYs/aDVyUyNZwBw=' 'sha384-bSVm1i3sjPBRM4TwZtYTDjk9JxZMExYHWbFmP1SxDhJH4ue0Wu9OPOkY5hcqRcSt' 'sha512-440MmBLtj9Kp5Bqloogn9BqGDylY8vFsv5/zXL1zH2fJVssCoskRig4gyM+9KqwvCSapSz5CVoUGHQcxv43UQg=='; script-src 'self' 'unsafe-inline'; connect-src 'self'; --> </head> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html.sub.headers index 3f0aff7db89..2b519e85ec2 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html.sub.headers +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html.sub.headers @@ -3,4 +3,4 @@ Cache-Control: no-store, no-cache, must-revalidate Cache-Control: post-check=0, pre-check=0, false Pragma: no-cache Set-Cookie: stylehash-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 -Content-Security-Policy: style-src 'self' 'sha1-eYyYGmKWdhpUewohaXk9o8IaLSw=' 'sha256-hndjYvzUzy2Ykuad81Cwsl1FOXX/qYs/aDVyUyNZwBw=' 'sha384-bSVm1i3sjPBRM4TwZtYTDjk9JxZMExYHWbFmP1SxDhJH4ue0Wu9OPOkY5hcqRcSt' 'sha512-440MmBLtj9Kp5Bqloogn9BqGDylY8vFsv5/zXL1zH2fJVssCoskRig4gyM+9KqwvCSapSz5CVoUGHQcxv43UQg=='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}} +Content-Security-Policy: style-src 'self' 'sha256-pAKi9r4/WB7fHydbE3F3t8i8602ij2JN8zHJpL2T5BM=' 'sha256-hndjYvzUzy2Ykuad81Cwsl1FOXX/qYs/aDVyUyNZwBw=' 'sha384-bSVm1i3sjPBRM4TwZtYTDjk9JxZMExYHWbFmP1SxDhJH4ue0Wu9OPOkY5hcqRcSt' 'sha512-440MmBLtj9Kp5Bqloogn9BqGDylY8vFsv5/zXL1zH2fJVssCoskRig4gyM+9KqwvCSapSz5CVoUGHQcxv43UQg=='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}} diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html index 0562e0fd547..2beb00d020c 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html @@ -15,16 +15,27 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe <body> <script> - try { - var es = navigator.sendBeacon("http://{{host}}:{{ports[http][0]}}/cors/resources/status.py"); - log("Pass"); - } catch (e) { - log("Fail"); - } + if (typeof navigator.sendBeacon != 'function') { + t_log.set_status(t_log.NOTRUN, "No navigator.sendBeacon, cannot run test."); + t_log.phase = t_log.phases.HAS_RESULT; + t_log.done(); + } else { + try { + var es = navigator.sendBeacon("http://{{host}}:{{ports[http][0]}}/cors/resources/status.py"); + log("Pass"); + } catch (e) { + log("Fail"); + } + var report = document.createElement("script"); + report.src = "../support/checkReport.sub.js?reportExists=false"; + report.async = true; + report.defer = true; + document.body.appendChild(report); + + } </script> <div id="log"></div> - <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> </body> </html> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html index c459790d88a..fdde9e760b2 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html @@ -15,16 +15,26 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe <body> <script> - try { - var es = navigator.sendBeacon("http://www1.{{host}}:{{ports[http][0]}}/security/contentSecurityPolicy/echo-report.php"); - log("Fail"); - } catch (e) { - log("Pass"); - } + if (typeof navigator.sendBeacon != 'function') { + t_log.set_status(t_log.NOTRUN, "No navigator.sendBeacon, cannot run test."); + t_log.phase = t_log.phases.HAS_RESULT; + t_log.done(); + } else { + try { + var es = navigator.sendBeacon("http://www1.{{host}}:{{ports[http][0]}}/security/contentSecurityPolicy/echo-report.php"); + log("Fail"); + } catch (e) { + log("Pass"); + } + var report = document.createElement("script"); + report.src = "../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'"; + report.async = true; + report.defer = true; + document.body.appendChild(report); + } </script> <div id="log"></div> - <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'"></script> </body> </html> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html index b60487bcef5..3d03100e366 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html @@ -18,13 +18,24 @@ connect-src 'self'; script-src 'self' 'unsafe-inline'; <p>The beacon should not follow the redirect to http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png and send a CSP violation report.</p> <p>Verify that a CSP connect-src directive blocks redirects.</p> <script> - navigator.sendBeacon( - "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png", - "ping"); + if (typeof navigator.sendBeacon != 'function') { + var t = async_test(); + t.set_status(t.NOTRUN, "No navigator.sendBeacon, cannot run test."); + t.phase = t.phases.HAS_RESULT; + t.done(); + } else { + navigator.sendBeacon( + "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png", + "ping"); + var report = document.createElement("script"); + report.src = "../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'"; + report.async = true; + report.defer = true; + document.body.appendChild(report); + } </script> <div id="log"></div> - <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'"></script> </body> </html> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-importscripts.js b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-importscripts.js index ca9f2eca48e..65ec6f44624 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-importscripts.js +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-importscripts.js @@ -2,5 +2,5 @@ try { importScripts("/content-security-policy/blink-contrib/resources/post-message.js"); postMessage("importScripts allowed"); } catch (e) { - postMessage("importScripts blocked: " + e); + postMessage("importScripts blocked"); } diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html index 007d66c1fcb..17da111a84c 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html @@ -16,6 +16,11 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe <body> <script> + if(typeof SharedWorker != 'function') { + t_alert.set_status(t_alert.NOTRUN, "No SharedWorker, cannot run test."); + t_alert.phase = t_alert.phases.HAS_RESULT; + t_alert.done(); + } else { try { var worker = new SharedWorker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js'); worker.port.onmessage = function(event) { @@ -24,10 +29,15 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe } catch (e) { alert_assert(e); } + var report = document.createElement("script"); + report.src = "../support/checkReport.sub.js?reportExists=false"; + report.async = true; + report.defer = true; + document.body.appendChild(report); + } </script> <div id="log"></div> - <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> </body> </html> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html index f049b933632..63225bf275e 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html @@ -22,6 +22,11 @@ connect-src *; script-src 'self' 'unsafe-inline'; should be sent since the worker's policy doesn't specify a report-uri.</p> <script> + if(typeof SharedWorker != 'function') { + t_alert.set_status(t_alert.NOTRUN, "No SharedWorker, cannot run test."); + t_alert.phase = t_alert.phases.HAS_RESULT; + t_alert.done(); + } else { try { var worker = new SharedWorker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js'); worker.port.onmessage = function(event) { @@ -30,10 +35,16 @@ connect-src *; script-src 'self' 'unsafe-inline'; } catch (e) { alert_assert(e); } + var report = document.createElement("script"); + report.src = "../support/checkReport.sub.js?reportExists=false"; + report.async = true; + report.defer = true; + document.body.appendChild(report); + } + </script> <div id="log"></div> - <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> </body> </html> diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html index d3240e385de..9ec49c03025 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html @@ -23,7 +23,7 @@ script-src 'self' 'unsafe-inline' 'unsafe-eval' 'unsafe-inline' 127.0.0.1:8000; worker.onmessage = function(event) { result = event.data; test(function() { - assert_equals(result, 'importScripts blocked: NetworkError: Failed to execute \'importScripts\' on \'WorkerGlobalScope\': The script at \'http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/post-message.js\' failed to load.') + assert_equals(result, 'importScripts blocked') }); log("TEST COMPLETE"); }; diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html index d8908b17b3d..8ed6b157a81 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html @@ -17,6 +17,10 @@ child-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src <script> try { var foo = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/post-message.js'); + foo.onerror = function(event) { + event.preventDefault(); + alert_assert("PASS"); + } foo.onmessage = function(event) { alert_assert("FAIL"); }; diff --git a/tests/wpt/web-platform-tests/content-security-policy/media-src/media-src-7_3_2.html b/tests/wpt/web-platform-tests/content-security-policy/media-src/media-src-7_3_2.html index c93af3b80c1..597ac7f8fa7 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/media-src/media-src-7_3_2.html +++ b/tests/wpt/web-platform-tests/content-security-policy/media-src/media-src-7_3_2.html @@ -52,10 +52,17 @@ source_test.step(function() { source_test.set_status(source_test.FAIL); }); + + setTimeout(function() { + if(source_test.phase != source_test.phases.COMPLETE) { + source_test.step( function () { assert_unreached("Onerror event never fired for track element."); }); + source_test.done(); + } + }, 2 * 1000); </script> <script async defer src="../support/checkReport.sub.js?reportField=violated-directive&reportValue=media-src%20%27self%27"> </script> </body> -</html>
\ No newline at end of file +</html> diff --git a/tests/wpt/web-platform-tests/content-security-policy/media-src/media-src-redir-bug.sub.html b/tests/wpt/web-platform-tests/content-security-policy/media-src/media-src-redir-bug.sub.html index f12f8ffc56f..b8351193041 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/media-src/media-src-redir-bug.sub.html +++ b/tests/wpt/web-platform-tests/content-security-policy/media-src/media-src-redir-bug.sub.html @@ -55,8 +55,8 @@ </video> <video id="videoObject2" width="320" height="240" controls - onerror="media_error_handler(src_test)" - onloadeddata="media_loaded(src_test)" + onerror="media_error_handler(src_redir_test)" + onloadeddata="media_loaded(src_redir_test)" src="/common/redirect.py?location=http://www2.{{host}}:{{ports[http][0]}}/media/white.mp4"> <script async defer src="../support/checkReport.sub.js?reportExists=false"> diff --git a/tests/wpt/web-platform-tests/content-security-policy/support/alertAssert.sub.js b/tests/wpt/web-platform-tests/content-security-policy/support/alertAssert.sub.js index 6ca2849ca31..607d0d4212c 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/support/alertAssert.sub.js +++ b/tests/wpt/web-platform-tests/content-security-policy/support/alertAssert.sub.js @@ -1,5 +1,9 @@ // note, this template substitution is XSS, but no way to avoid it in this framework var expected_alerts = {{GET[alerts]}}; +var timeout= "{{GET[timeout]}}"; +if (timeout == "") { + timeout = 2; +} if(expected_alerts.length == 0) { function alert_assert(msg) { @@ -7,7 +11,13 @@ if(expected_alerts.length == 0) { } } else { var t_alert = async_test('Expecting alerts: {{GET[alerts]}}'); - function alert_assert(msg) { + setTimeout(function() { + if(t_alert.phase != t_alert.phases.COMPLETE) { + t_alert.step(function() { assert_unreached('Alert timeout, expected alerts ' + expected_alerts + ' not fired.') }); + t_alert.done(); + } + }, timeout * 100); + var alert_assert = function (msg) { t_alert.step(function () { if(msg && msg instanceof Error) { msg = msg.message; @@ -29,5 +39,5 @@ if(expected_alerts.length == 0) { assert_unreached('unexpected alert: ' + msg); t_log.done(); }); - } + }.bind(this); } diff --git a/tests/wpt/web-platform-tests/content-security-policy/support/logTest.sub.js b/tests/wpt/web-platform-tests/content-security-policy/support/logTest.sub.js index d797475d2a6..6bbdb43f72d 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/support/logTest.sub.js +++ b/tests/wpt/web-platform-tests/content-security-policy/support/logTest.sub.js @@ -1,5 +1,9 @@ // note, this template substitution is XSS, but no way to avoid it in this framework var expected_logs = {{GET[logs]}}; +var timeout = "{{GET[timeout]}}"; +if (timeout == "") { + timeout = 2; +} if (expected_logs.length == 0) { function log_assert(msg) { @@ -7,6 +11,12 @@ if (expected_logs.length == 0) { } } else { var t_log = async_test('Expecting logs: {{GET[logs]}}'); + setTimeout(function() { + if(t_log.phase != t_log.phases.COMPLETE){ + t_log.step(function () { assert_unreached('Logging timeout, expected logs ' + expected_logs + ' not sent.') }); + t_log.done(); + } + }, timeout * 1000); function log(msg) { //cons/**/ole.log(msg); t_log.step(function () { diff --git a/tests/wpt/web-platform-tests/dom/events/Event-defaultPrevented-after-dispatch.html b/tests/wpt/web-platform-tests/dom/events/Event-defaultPrevented-after-dispatch.html new file mode 100644 index 00000000000..decf7e9927f --- /dev/null +++ b/tests/wpt/web-platform-tests/dom/events/Event-defaultPrevented-after-dispatch.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Event.defaultPrevented is not reset after dipatchEvent()</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +</head> +<body> +<div id=log></div> +<input id="target" type="hidden" value=""/> +<script> +test(function() { + var EVENT = "foo"; + var TARGET = document.getElementById("target"); + var evt = document.createEvent("Event"); + evt.initEvent(EVENT, true, true); + + TARGET.addEventListener(EVENT, this.step_func(function(e) { + e.preventDefault(); + assert_true(e.defaultPrevented, "during dispatch"); + }), true); + TARGET.dispatchEvent(evt); + + assert_true(evt.defaultPrevented, "after dispatch"); + assert_equals(evt.target, TARGET); +}); +</script> diff --git a/tests/wpt/web-platform-tests/dom/nodes/Element-hasAttributes.html b/tests/wpt/web-platform-tests/dom/nodes/Element-hasAttributes.html new file mode 100644 index 00000000000..fbb9c233b70 --- /dev/null +++ b/tests/wpt/web-platform-tests/dom/nodes/Element-hasAttributes.html @@ -0,0 +1,40 @@ +<!doctype html> +<meta charset="utf-8"> +<title></title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> + +<button></button> +<div id="foo"></div> +<p data-foo=""></p> + +<script> +test(function() { + var buttonElement = document.getElementsByTagName('button')[0]; + assert_equals(buttonElement.hasAttributes(), false, 'hasAttributes() on empty element must return false.'); + + var emptyDiv = document.createElement('div'); + assert_equals(emptyDiv.hasAttributes(), false, 'hasAttributes() on dynamically created empty element must return false.'); + +}, 'element.hasAttributes() must return false when the element does not have attribute.'); + +test(function() { + var divWithId = document.getElementById('foo'); + assert_equals(divWithId.hasAttributes(), true, 'hasAttributes() on element with id attribute must return true.'); + + var divWithClass = document.createElement('div'); + divWithClass.setAttribute('class', 'foo'); + assert_equals(divWithClass.hasAttributes(), true, 'hasAttributes() on dynamically created element with class attribute must return true.'); + + var pWithCustomAttr = document.getElementsByTagName('p')[0]; + assert_equals(pWithCustomAttr.hasAttributes(), true, 'hasAttributes() on element with custom attribute must return true.'); + + var divWithCustomAttr = document.createElement('div'); + divWithCustomAttr.setAttribute('data-custom', 'foo'); + assert_equals(divWithCustomAttr.hasAttributes(), true, 'hasAttributes() on dynamically created element with custom attribute must return true.'); + +}, 'element.hasAttributes() must return true when the element has attribute.'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/html/OWNERS b/tests/wpt/web-platform-tests/html/OWNERS index 1419ab7b547..6503090a56f 100644 --- a/tests/wpt/web-platform-tests/html/OWNERS +++ b/tests/wpt/web-platform-tests/html/OWNERS @@ -1,3 +1,4 @@ +@ayg @Ms2ger @foolip @gsnedders diff --git a/tests/wpt/web-platform-tests/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale.html b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale.html new file mode 100644 index 00000000000..cdc4647534a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale.html @@ -0,0 +1,23 @@ +<!doctype html> +<meta charset="utf-8"> +<title>Verify that canvases are scaled up to their computed size</title> +<link rel="match" href="canvas_scale_ref.html"> +<style> +canvas { + width: 20px; + height: 20px; +} +div { + line-height: 0; +} +</style> +<div><canvas width="16" height="16" data-color="#FF00FF"></canvas><canvas width="16" height="16" data-color="#00FF00"></canvas></div> +<div><canvas width="16" height="16" data-color="#0000FF"></canvas><canvas width="16" height="16" data-color="#FF00FF"></canvas></div> +<script> +var canvases = document.getElementsByTagName('canvas'); +for (var i = 0; i < canvases.length; i++) { + var ctx = canvases[i].getContext('2d'); + ctx.fillStyle = canvases[i].getAttribute('data-color'); + ctx.fillRect(0, 0, 16, 16); +} +</script> diff --git a/tests/wpt/web-platform-tests/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale_ref.html b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale_ref.html new file mode 100644 index 00000000000..2d1756f856a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/embedded-content-rendering-rules/canvas_scale_ref.html @@ -0,0 +1,14 @@ +<!doctype html> +<meta charset="utf-8"> +<style> +span { + display: inline-block; + width: 20px; + height: 20px; +} +div { + line-height: 0; +} +</style> +<div><span style="background-color: #FF00FF"></span><span style="background-color: #00FF00"></span></div> +<div><span style="background-color: #0000FF"></span><span style="background-color: #FF00FF"></span></div> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html new file mode 100644 index 00000000000..d29d520f0e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html @@ -0,0 +1,22 @@ +<!doctype html> +<meta charset="utf-8"> +<title>HTML Test: The embed element represents a document</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<meta name="assert" content="Check if the embed element is ignored when used inside a media element"> +<script type="application/javascript"> + window.childLoaded = false; + async_test(function() { + addEventListener("load", this.step_func_done(function() { + assert_false(window.childLoaded); + })); + }, "Test embed being ignored inside media element"); +</script> +<body> + <video> + <embed type="text/html" src="embed-iframe.html" /> + </video> + <audio> + <embed type="text/html" src="embed-iframe.html" /> + </audio> +</body> diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1.html new file mode 100644 index 00000000000..65a1a02b11e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1.html @@ -0,0 +1,33 @@ +<!doctype html> +<meta charset=utf-8> +<title> + When a listener from window A is added to an event target in window B via the + addEventListener function from window B, errors in that listener should be + reported to window A. +</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<iframe></iframe> +<iframe></iframe> +<script> +test(function() { + var f = new frames[0].Function("thereIsNoSuchCallable()"); + frames[1].document.addEventListener("myevent", f); + var frame0ErrorFired = false; + var frame1ErrorFired = false; + var ourErrorFired = false; + frames[0].addEventListener("error", function() { + frame0ErrorFired = true; + }); + frames[1].addEventListener("error", function() { + frame1ErrorFired = true; + }); + addEventListener("error", function() { + ourErrorFired = true; + }); + frames[1].document.dispatchEvent(new Event("myevent")); + assert_true(frame0ErrorFired); + assert_false(frame1ErrorFired); + assert_false(ourErrorFired); +}, "The error event from an event listener should fire on that listener's global"); +</script> diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html new file mode 100644 index 00000000000..6c5476542b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html @@ -0,0 +1,33 @@ +<!doctype html> +<meta charset=utf-8> +<title> + When a listener from window A is added to an event target in window B via the + addEventListener function from window A, errors in that listener should be + reported to window A. +</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<iframe></iframe> +<iframe></iframe> +<script> +test(function() { + var f = new frames[0].Function("thereIsNoSuchCallable()"); + frames[0].document.addEventListener.call(frames[1].document, "myevent", f); + var frame0ErrorFired = false; + var frame1ErrorFired = false; + var ourErrorFired = false; + frames[0].addEventListener("error", function() { + frame0ErrorFired = true; + }); + frames[1].addEventListener("error", function() { + frame1ErrorFired = true; + }); + addEventListener("error", function() { + ourErrorFired = true; + }); + frames[1].document.dispatchEvent(new Event("myevent")); + assert_true(frame0ErrorFired); + assert_false(frame1ErrorFired); + assert_false(ourErrorFired); +}, "The error event from an event listener should fire on that listener's global"); +</script> diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3.html new file mode 100644 index 00000000000..5e78baa8de0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3.html @@ -0,0 +1,33 @@ +<!doctype html> +<meta charset=utf-8> +<title> + When a listener from window A is added to an event target in window A via the + addEventListener function from window A, errors in that listener should be + reported to window A. +</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<iframe></iframe> +<iframe></iframe> +<script> +test(function() { + var f = new frames[1].Function("thereIsNoSuchCallable()"); + frames[1].document.addEventListener("myevent", f); + var frame0ErrorFired = false; + var frame1ErrorFired = false; + var ourErrorFired = false; + frames[0].addEventListener("error", function() { + frame0ErrorFired = true; + }); + frames[1].addEventListener("error", function() { + frame1ErrorFired = true; + }); + addEventListener("error", function() { + ourErrorFired = true; + }); + frames[1].document.dispatchEvent(new Event("myevent")); + assert_false(frame0ErrorFired); + assert_true(frame1ErrorFired); + assert_false(ourErrorFired); +}, "The error event from an event listener should fire on that listener's global"); +</script> diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4.html new file mode 100644 index 00000000000..a5f35d613f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4.html @@ -0,0 +1,33 @@ +<!doctype html> +<meta charset=utf-8> +<title> + When a listener from window A is added to an event target in window A via the + addEventListener function from window B, errors in that listener should be + reported to window A. +</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<iframe></iframe> +<iframe></iframe> +<script> +test(function() { + var f = new frames[1].Function("thereIsNoSuchCallable()"); + frames[0].document.addEventListener.call(frames[1].document, "myevent", f); + var frame0ErrorFired = false; + var frame1ErrorFired = false; + var ourErrorFired = false; + frames[0].addEventListener("error", function() { + frame0ErrorFired = true; + }); + frames[1].addEventListener("error", function() { + frame1ErrorFired = true; + }); + addEventListener("error", function() { + ourErrorFired = true; + }); + frames[1].document.dispatchEvent(new Event("myevent")); + assert_false(frame0ErrorFired); + assert_true(frame1ErrorFired); + assert_false(ourErrorFired); +}, "The error event from an event listener should fire on that listener's global"); +</script> diff --git a/tests/wpt/web-platform-tests/media-source/OWNERS b/tests/wpt/web-platform-tests/media-source/OWNERS index fa70c6cc1d2..aefaf66dab0 100644 --- a/tests/wpt/web-platform-tests/media-source/OWNERS +++ b/tests/wpt/web-platform-tests/media-source/OWNERS @@ -3,3 +3,4 @@ @foolip @shishimaru @sideshowbarker +@wolenetz diff --git a/tests/wpt/web-platform-tests/resource-timing/test_resource_timing.js b/tests/wpt/web-platform-tests/resource-timing/test_resource_timing.js index 2862e16d100..60c8c88f548 100644 --- a/tests/wpt/web-platform-tests/resource-timing/test_resource_timing.js +++ b/tests/wpt/web-platform-tests/resource-timing/test_resource_timing.js @@ -161,6 +161,13 @@ function resource_load(expected) t["timing_attrs"].step(function test() { var actual = window.performance.getEntriesByName(expected.name)[0]; + + // Debugging bug 1263428 + // Feel free to remove/overwrite this piece of code + if (actual.connectStart < actual.domainLookupEnd) { + assert_true(false, "actual: "+JSON.stringify(actual)); + } + assert_equals(actual.redirectStart, 0, "redirectStart time"); assert_equals(actual.redirectEnd, 0, "redirectEnd time"); assert_true(actual.secureConnectionStart == undefined || diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-add.https.html b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-add.https.html index 57e74b750f7..b353ae02269 100644 --- a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-add.https.html +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-add.https.html @@ -4,7 +4,7 @@ <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="../../service-workers/resources/test-helpers.js"></script> +<script src="../../service-worker/resources/test-helpers.sub.js"></script> <script> service_worker_test('../script-tests/cache-add.js'); </script> diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-delete.https.html b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-delete.https.html index 7a5a43fd9e4..81da300020c 100644 --- a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-delete.https.html +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-delete.https.html @@ -4,7 +4,7 @@ <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="../../service-workers/resources/test-helpers.js"></script> +<script src="../../service-worker/resources/test-helpers.sub.js"></script> <script> service_worker_test('../script-tests/cache-delete.js'); </script> diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html index 6126568fb46..59ef34bb7b9 100644 --- a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html @@ -4,7 +4,7 @@ <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="../../service-workers/resources/test-helpers.js"></script> +<script src="../../service-worker/resources/test-helpers.sub.js"></script> <script> service_worker_test('../script-tests/cache-match.js'); </script> diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-matchAll.https.html b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-matchAll.https.html index 878fe1209f3..a2aa1f242e7 100644 --- a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-matchAll.https.html +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-matchAll.https.html @@ -4,7 +4,7 @@ <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="../../service-workers/resources/test-helpers.js"></script> +<script src="../../service-worker/resources/test-helpers.sub.js"></script> <script> service_worker_test('../script-tests/cache-matchAll.js'); </script> diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-put.https.html b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-put.https.html index d67f9391a75..9602e3bfcb4 100644 --- a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-put.https.html +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-put.https.html @@ -4,7 +4,7 @@ <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="../../service-workers/resources/test-helpers.js"></script> +<script src="../../service-worker/resources/test-helpers.sub.js"></script> <script> service_worker_test('../script-tests/cache-put.js'); </script> diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-keys.https.html b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-keys.https.html index ec7e14b7af3..1d1005dccc7 100644 --- a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-keys.https.html +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-keys.https.html @@ -4,7 +4,7 @@ <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="../../service-workers/resources/test-helpers.js"></script> +<script src="../../service-worker/resources/test-helpers.sub.js"></script> <script> service_worker_test('../script-tests/cache-storage-keys.js'); </script> diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-match.https.html b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-match.https.html index 937f143ebb0..6c4b72885fd 100644 --- a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-match.https.html +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-match.https.html @@ -4,7 +4,7 @@ <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="../../service-workers/resources/test-helpers.js"></script> +<script src="../../service-worker/resources/test-helpers.sub.js"></script> <script> service_worker_test('../script-tests/cache-storage-match.js'); </script> diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage.https.html b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage.https.html index 62c6b63572c..5e240a3b699 100644 --- a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage.https.html +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage.https.html @@ -4,7 +4,7 @@ <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="../../service-workers/resources/test-helpers.js"></script> +<script src="../../service-worker/resources/test-helpers.sub.js"></script> <script> service_worker_test('../script-tests/cache-storage.js'); </script> diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/credentials.html b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/credentials.html index f2d8838f2a6..116fd9ca904 100644 --- a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/credentials.html +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/credentials.html @@ -4,7 +4,7 @@ <link rel="help" href="https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#cache-storage"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="../../service-workers/resources/test-helpers.js"></script> +<script src="../../service-worker/resources/test-helpers.sub.js"></script> <style>iframe { display: none; }</style> <script> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html index 9869f3b2799..4d7e9a4da1b 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html @@ -440,8 +440,9 @@ async_test(function(t) { .then(function() { return with_iframe(scope); }) .then(function(f) { frame = f; + assert_equals(frame.contentWindow.document.body.textContent, 'default'); var tests = cacheTypes.map(function(type) { - return new Promise(function(resolve) { + return new Promise(function(resolve, reject) { return frame.contentWindow.fetch(scope + '=' + type, {cache: type}) .then(function(response) { return response.text(); }) @@ -450,10 +451,25 @@ async_test(function(t) { assert_equals(response_text, expected, 'Service Worker should respond to fetch with the correct type'); }) - .then(resolve); + .then(resolve) + .catch(reject); }); }); - return Promise.all(tests); + }) + .then(function() { + return new Promise(function(resolve, reject) { + frame.addEventListener('load', function onLoad() { + frame.removeEventListener('load', onLoad); + try { + assert_equals(frame.contentWindow.document.body.textContent, + 'no-cache'); + resolve(); + } catch (e) { + reject(e); + } + }); + frame.contentWindow.location.reload(); + }); }) .then(function() { frame.remove(); @@ -462,5 +478,55 @@ async_test(function(t) { .catch(unreached_rejection(t)); }, 'Service Worker responds to fetch event with the correct cache types'); +async_test(function(t) { + var scope = 'resources/simple.html?eventsource'; + var frame; + + function test_eventsource(opts) { + return new Promise(function(resolve, reject) { + var eventSource = new frame.contentWindow.EventSource(scope, opts); + eventSource.addEventListener('message', function(msg) { + eventSource.close(); + try { + var data = JSON.parse(msg.data); + assert_equals(data.mode, 'cors', + 'EventSource should make CORS requests.'); + assert_equals(data.cache, 'no-store', + 'EventSource should bypass the http cache.'); + var expectedCredentials = opts.withCredentials ? 'include' + : 'same-origin'; + assert_equals(data.credentials, expectedCredentials, + 'EventSource should pass correct credentials mode.'); + resolve(); + } catch (e) { + reject(e); + } + }); + eventSource.addEventListener('error', function(e) { + eventSource.close(); + reject('The EventSource fired an error event.'); + }); + }); + } + + service_worker_unregister_and_register(t, worker, scope) + .then(function(reg) { + return wait_for_state(t, reg.installing, 'activated'); + }) + .then(function() { return with_iframe(scope); }) + .then(function(f) { + frame = f; + return test_eventsource({ withCredentials: false }); + }) + .then(function() { + return test_eventsource({ withCredentials: true }); + }) + .then(function() { + frame.remove(); + return service_worker_unregister_and_done(t, scope); + }) + .catch(unreached_rejection(t)); + }, 'Service Worker should intercept EventSource'); + </script> </body> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js index 5180c30f7d4..44ea828c686 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js @@ -95,6 +95,22 @@ function handleCache(event) { event.respondWith(new Response(event.request.cache)); } +function handleEventSource(event) { + if (event.request.mode === 'navigate') { + return; + } + var data = { + mode: event.request.mode, + cache: event.request.cache, + credentials: event.request.credentials + }; + var body = 'data:' + JSON.stringify(data) + '\n\n'; + event.respondWith(new Response(body, { + headers: { 'Content-Type': 'text/event-stream' } + } + )); +} + self.addEventListener('fetch', function(event) { var url = event.request.url; var handlers = [ @@ -112,6 +128,7 @@ self.addEventListener('fetch', function(event) { { pattern: '?used-check', fn: handleUsedCheck }, { pattern: '?fragment-check', fn: handleFragmentCheck }, { pattern: '?cache', fn: handleCache }, + { pattern: '?eventsource', fn: handleEventSource }, ]; var handler = null; diff --git a/tests/wpt/web-platform-tests/service-workers/service-workers/resources/test-helpers.js b/tests/wpt/web-platform-tests/service-workers/service-workers/resources/test-helpers.js deleted file mode 100644 index 147ea612c2f..00000000000 --- a/tests/wpt/web-platform-tests/service-workers/service-workers/resources/test-helpers.js +++ /dev/null @@ -1,222 +0,0 @@ -// Adapter for testharness.js-style tests with Service Workers - -function service_worker_unregister_and_register(test, url, scope) { - if (!scope || scope.length == 0) - return Promise.reject(new Error('tests must define a scope')); - - var options = { scope: scope }; - return service_worker_unregister(test, scope) - .then(function() { - return navigator.serviceWorker.register(url, options); - }) - .catch(unreached_rejection(test, - 'unregister and register should not fail')); -} - -function service_worker_unregister(test, documentUrl) { - return navigator.serviceWorker.getRegistration(documentUrl) - .then(function(registration) { - if (registration) - return registration.unregister(); - }) - .catch(unreached_rejection(test, 'unregister should not fail')); -} - -function service_worker_unregister_and_done(test, scope) { - return service_worker_unregister(test, scope) - .then(test.done.bind(test)); -} - -function unreached_fulfillment(test, prefix) { - return test.step_func(function(result) { - var error_prefix = prefix || 'unexpected fulfillment'; - assert_unreached(error_prefix + ': ' + result); - }); -} - -// Rejection-specific helper that provides more details -function unreached_rejection(test, prefix) { - return test.step_func(function(error) { - var reason = error.message || error.name || error; - var error_prefix = prefix || 'unexpected rejection'; - assert_unreached(error_prefix + ': ' + reason); - }); -} - -// Adds an iframe to the document and returns a promise that resolves to the -// iframe when it finishes loading. The caller is responsible for removing the -// iframe later if needed. -function with_iframe(url) { - return new Promise(function(resolve) { - var frame = document.createElement('iframe'); - frame.src = url; - frame.onload = function() { resolve(frame); }; - document.body.appendChild(frame); - }); -} - -function normalizeURL(url) { - return new URL(url, self.location).toString().replace(/#.*$/, ''); -} - -function wait_for_update(test, registration) { - if (!registration || registration.unregister == undefined) { - return Promise.reject(new Error( - 'wait_for_update must be passed a ServiceWorkerRegistration')); - } - - return new Promise(test.step_func(function(resolve) { - registration.addEventListener('updatefound', test.step_func(function() { - resolve(registration.installing); - })); - })); -} - -function wait_for_state(test, worker, state) { - if (!worker || worker.state == undefined) { - return Promise.reject(new Error( - 'wait_for_state must be passed a ServiceWorker')); - } - if (worker.state === state) - return Promise.resolve(state); - - if (state === 'installing') { - switch (worker.state) { - case 'installed': - case 'activating': - case 'activated': - case 'redundant': - return Promise.reject(new Error( - 'worker is ' + worker.state + ' but waiting for ' + state)); - } - } - - if (state === 'installed') { - switch (worker.state) { - case 'activating': - case 'activated': - case 'redundant': - return Promise.reject(new Error( - 'worker is ' + worker.state + ' but waiting for ' + state)); - } - } - - if (state === 'activating') { - switch (worker.state) { - case 'activated': - case 'redundant': - return Promise.reject(new Error( - 'worker is ' + worker.state + ' but waiting for ' + state)); - } - } - - if (state === 'activated') { - switch (worker.state) { - case 'redundant': - return Promise.reject(new Error( - 'worker is ' + worker.state + ' but waiting for ' + state)); - } - } - - return new Promise(test.step_func(function(resolve) { - worker.addEventListener('statechange', test.step_func(function() { - if (worker.state === state) - resolve(state); - })); - })); -} - -// Declare a test that runs entirely in the ServiceWorkerGlobalScope. The |url| -// is the service worker script URL. This function: -// - Instantiates a new test with the description specified in |description|. -// The test will succeed if the specified service worker can be successfully -// registered and installed. -// - Creates a new ServiceWorker registration with a scope unique to the current -// document URL. Note that this doesn't allow more than one -// service_worker_test() to be run from the same document. -// - Waits for the new worker to begin installing. -// - Imports tests results from tests running inside the ServiceWorker. -function service_worker_test(url, description) { - // If the document URL is https://example.com/document and the script URL is - // https://example.com/script/worker.js, then the scope would be - // https://example.com/script/scope/document. - var scope = new URL('scope' + window.location.pathname, - new URL(url, window.location)).toString(); - promise_test(function(test) { - return service_worker_unregister_and_register(test, url, scope) - .then(function(registration) { - add_completion_callback(function() { - registration.unregister(); - }); - return wait_for_update(test, registration) - .then(function(worker) { - return fetch_tests_from_worker(worker); - }); - }); - }, description); -} - -function get_host_info() { - var ORIGINAL_HOST = '127.0.0.1'; - var REMOTE_HOST = 'localhost'; - var UNAUTHENTICATED_HOST = 'example.test'; - var HTTP_PORT = 8000; - var HTTPS_PORT = 8443; - try { - // In W3C test, we can get the hostname and port number in config.json - // using wptserve's built-in pipe. - // http://wptserve.readthedocs.org/en/latest/pipes.html#built-in-pipes - HTTP_PORT = eval('{{ports[http][0]}}'); - HTTPS_PORT = eval('{{ports[https][0]}}'); - ORIGINAL_HOST = eval('\'{{host}}\''); - REMOTE_HOST = 'www1.' + ORIGINAL_HOST; - } catch (e) { - } - return { - HTTP_ORIGIN: 'http://' + ORIGINAL_HOST + ':' + HTTP_PORT, - HTTPS_ORIGIN: 'https://' + ORIGINAL_HOST + ':' + HTTPS_PORT, - HTTP_REMOTE_ORIGIN: 'http://' + REMOTE_HOST + ':' + HTTP_PORT, - HTTPS_REMOTE_ORIGIN: 'https://' + REMOTE_HOST + ':' + HTTPS_PORT, - UNAUTHENTICATED_ORIGIN: 'http://' + UNAUTHENTICATED_HOST + ':' + HTTP_PORT - }; -} - -function base_path() { - return location.pathname.replace(/\/[^\/]*$/, '/'); -} - -function test_login(test, origin, username, password, cookie) { - return new Promise(function(resolve, reject) { - with_iframe( - origin + - '/serviceworker/resources/fetch-access-control-login.html') - .then(test.step_func(function(frame) { - var channel = new MessageChannel(); - channel.port1.onmessage = test.step_func(function() { - frame.remove(); - resolve(); - }); - frame.contentWindow.postMessage( - {username: username, password: password, cookie: cookie}, - origin, [channel.port2]); - })); - }); -} - -function login(test) { - return test_login(test, 'http://127.0.0.1:8000', - 'username1', 'password1', 'cookie1') - .then(function() { - return test_login(test, 'http://localhost:8000', - 'username2', 'password2', 'cookie2'); - }); -} - -function login_https(test) { - return test_login(test, 'https://127.0.0.1:8443', - 'username1s', 'password1s', 'cookie1') - .then(function() { - return test_login(test, 'https://localhost:8443', - 'username2s', 'password2s', 'cookie2'); - }); -} diff --git a/tests/wpt/web-platform-tests/tools/manifest/manifest.py b/tests/wpt/web-platform-tests/tools/manifest/manifest.py index 33e194df409..b154a488004 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/manifest.py +++ b/tests/wpt/web-platform-tests/tools/manifest/manifest.py @@ -42,6 +42,9 @@ class Manifest(object): for path in self.local_changes.iterdeleted(): if path in paths: del paths[path] + if item_type == "reftest": + for path, items in self.local_changes.iterdeletedreftests(): + paths[path] -= items yield item_type, paths @@ -170,14 +173,37 @@ class Manifest(object): self.url_base = url_base def update_reftests(self): - reftest_nodes = self.reftest_nodes.copy() - for path, items in self.local_changes.reftest_nodes.iteritems(): - reftest_nodes[path] |= items + default_reftests = self.compute_reftests(self.reftest_nodes) + all_reftest_nodes = self.reftest_nodes.copy() + all_reftest_nodes.update(self.local_changes.reftest_nodes) - #TODO: remove locally deleted files - tests = set() - for items in reftest_nodes.values(): - tests |= set(item for item in items if not item.is_reference) + for item in self.local_changes.iterdeleted(): + if item in all_reftest_nodes: + del all_reftest_nodes[item] + + modified_reftests = self.compute_reftests(all_reftest_nodes) + + added_reftests = modified_reftests - default_reftests + # The interesting case here is not when the file is deleted, + # but when a reftest like A == B is changed to the form + # C == A == B, so that A still exists but is now a ref rather than + # a test. + removed_reftests = default_reftests - modified_reftests + + dests = [(default_reftests, self._data["reftest"]), + (added_reftests, self.local_changes._data["reftest"]), + (removed_reftests, self.local_changes._deleted_reftests)] + + #TODO: Warn if there exist unreachable reftest nodes + for source, target in dests: + for item in source: + target[item.path].add(item) + + def compute_reftests(self, reftest_nodes): + """Given a set of reftest_nodes, return a set of all the nodes that are top-level + tests i.e. don't have any incoming reference links.""" + + reftests = set() has_inbound = set() for path, items in reftest_nodes.iteritems(): @@ -185,18 +211,13 @@ class Manifest(object): for ref_url, ref_type in item.references: has_inbound.add(ref_url) - if self.local_changes.reftest_nodes: - target = self.local_changes - else: - target = self - - #TODO: Warn if there exist unreachable reftest nodes - for path, items in reftest_nodes.iteritems(): for item in items: if item.url in has_inbound: continue - target._data["reftest"][path].add(item) + reftests.add(item) + + return reftests def to_json(self): out_items = { @@ -261,6 +282,7 @@ class Manifest(object): source_files=source_files) return self + class LocalChanges(object): def __init__(self, manifest): self.manifest = manifest @@ -268,6 +290,7 @@ class LocalChanges(object): self._deleted = set() self.reftest_nodes = defaultdict(set) self.reftest_nodes_by_url = {} + self._deleted_reftests = defaultdict(set) def add(self, item): if item is None: @@ -305,6 +328,10 @@ class LocalChanges(object): for item in self._deleted: yield item + def iterdeletedreftests(self): + for item in self._deleted_reftests.iteritems(): + yield item + def __getitem__(self, item_type): return self._data[item_type] @@ -312,9 +339,13 @@ class LocalChanges(object): reftest_nodes = {from_os_path(key): [v.to_json() for v in value] for key, value in self.reftest_nodes.iteritems()} + deleted_reftests = {from_os_path(key): [v.to_json() for v in value] + for key, value in self._deleted_reftests.iteritems()} + rv = {"items": defaultdict(dict), "reftest_nodes": reftest_nodes, - "deleted": [from_os_path(path) for path in self._deleted]} + "deleted": [from_os_path(path) for path in self._deleted], + "deleted_reftests": deleted_reftests} for test_type, paths in self._data.iteritems(): for path, tests in paths.iteritems(): @@ -355,6 +386,13 @@ class LocalChanges(object): for item in obj["deleted"]: self.add_deleted(to_os_path(item)) + for path, values in obj.get("deleted_reftests", {}).iteritems(): + path = to_os_path(path) + for v in values: + item = RefTest.from_json(self.manifest, tests_root, v, + source_files=source_files) + self._deleted_reftests[path].add(item) + return self def load(tests_root, manifest): diff --git a/tests/wpt/web-platform-tests/tools/manifest/tests/__init__.py b/tests/wpt/web-platform-tests/tools/manifest/tests/__init__.py new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/tests/wpt/web-platform-tests/tools/manifest/tests/__init__.py diff --git a/tests/wpt/web-platform-tests/tools/manifest/tests/test_manifest.py b/tests/wpt/web-platform-tests/tools/manifest/tests/test_manifest.py new file mode 100644 index 00000000000..bdd0ede1a19 --- /dev/null +++ b/tests/wpt/web-platform-tests/tools/manifest/tests/test_manifest.py @@ -0,0 +1,55 @@ +from .. import manifest, item as manifestitem, sourcefile + + +def test_local_reftest_add(): + m = manifest.Manifest() + s = sourcefile.SourceFile("/", "test", "/") + test = manifestitem.RefTest(s, "/test", [("/ref", "==")]) + m.local_changes.add(test) + assert list(m) == [(test.path, {test})] + + +def test_local_reftest_delete_path(): + m = manifest.Manifest() + s = sourcefile.SourceFile("/", "test", "/") + test = manifestitem.RefTest(s, "/test", [("/ref", "==")]) + m.add(test) + m.local_changes.add_deleted(test.path) + assert list(m) == [] + + +def test_local_reftest_adjusted(): + m = manifest.Manifest() + s = sourcefile.SourceFile("/", "test", "/") + test = manifestitem.RefTest(s, "/test", [("/ref", "==")]) + m.add(test) + + assert list(m) == [(test.path, {test})] + + assert m.compute_reftests({test.path: {test}}) == {test} + + test_1 = manifestitem.RefTest(s, "/test-1", [("/test", "==")]) + m.local_changes.add(test_1) + + assert m.compute_reftests({test.path: {test}, test_1.path: {test_1}}) == {test_1} + + m.local_changes._deleted_reftests[test.path] = {test} + + assert list(m) == [(test_1.path, {test_1})] + + +def test_manifest_to_json(): + m = manifest.Manifest() + s = sourcefile.SourceFile("/", "test", "/") + test = manifestitem.RefTest(s, "/test", [("/ref", "==")]) + m.add(test) + test_1 = manifestitem.RefTest(s, "/test-1", [("/test", "==")]) + m.local_changes.add(test_1) + m.local_changes._deleted_reftests[test.path] = {test} + + json_str = m.to_json() + loaded = manifest.Manifest.from_json("/", json_str) + + assert list(loaded) == list(m) + + assert loaded.to_json() == json_str diff --git a/tests/wpt/web-platform-tests/uievents/order-of-events/focus-events/focus-manual.html b/tests/wpt/web-platform-tests/uievents/order-of-events/focus-events/focus-manual.html new file mode 100644 index 00000000000..c91f790e21e --- /dev/null +++ b/tests/wpt/web-platform-tests/uievents/order-of-events/focus-events/focus-manual.html @@ -0,0 +1,81 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <title>Focus-related events should fire in the correct order</title> + <link rel="author" title="Chris Rebert" href="http://chrisrebert.com"> + <link rel="help" href="https://w3c.github.io/uievents/#events-focusevent-event-order"> + <meta name="flags" content="interact"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <ol> + <li>Click into the first text input.</li> + <li>Click into the second text input.</li> + <li>Click the "Done" button.</li> + </ol> + + <input type="text" id="a" value="First"> + <br> + <input type="text" id="b" value="Second"> + <br> + <button type="button" id="done">Done</button> + + <script> +setup({explicit_timeout: true}); +var done = false; +var events = []; +var targets = []; +function record(e) { + if (done) { + return; + } + events.push(e.type); + targets.push(e.target.id); +} +function finish() { + done = true; +} +var relevantEvents = [ + 'focus', + 'blur', + 'focusin', + 'focusout' +]; +window.onload = function () { + var a = document.getElementById('a'); + var b = document.getElementById('b'); + var inputs = [a, b]; + + b.addEventListener('blur', finish, false); + b.addEventListener('focusout', finish, false); + + for (var i = 0; i < inputs.length; i++) { + for (var k = 0; k < relevantEvents.length; k++) { + inputs[i].addEventListener(relevantEvents[k], record, false); + } + } + + async_test(function(t) { + document.getElementById('done').addEventListener('click', function () { + finish(); + t.step(function () { + assert_array_equals( + events, + ['focusin', 'focus', 'focusout', 'focusin', 'blur', 'focus'], + 'Focus-related events should fire in this order: focusin, focus, focusout, focusin, blur, focus' + ); + assert_array_equals( + targets, + [ 'a', 'a', 'a', 'b', 'a', 'b'], + 'Focus-related events should fire at the correct targets' + ); + t.done(); + }); + }, false); + }, 'Focus-related events should fire in the correct order'); +}; + </script> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/uievents/order-of-events/focus-events/legacy-manual.html b/tests/wpt/web-platform-tests/uievents/order-of-events/focus-events/legacy-manual.html new file mode 100644 index 00000000000..e71273973e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/uievents/order-of-events/focus-events/legacy-manual.html @@ -0,0 +1,84 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <title>Focus-related events (including legacy events) should fire in the correct order</title> + <link rel="author" title="Chris Rebert" href="http://chrisrebert.com"> + <link rel="help" href="https://w3c.github.io/uievents/#legacy-focusevent-event-order"> + <meta name="flags" content="interact"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <ol> + <li>Click into the first text input.</li> + <li>Click into the second text input.</li> + <li>Click the "Done" button.</li> + </ol> + + <input type="text" id="a" value="First"> + <br> + <input type="text" id="b" value="Second"> + <br> + <button type="button" id="done">Done</button> + + <script> +setup({explicit_timeout: true}); +var done = false; +var events = []; +var targets = []; +function record(e) { + if (done) { + return; + } + events.push(e.type); + targets.push(e.target.id); +} +function finish() { + done = true; +} +var relevantEvents = [ + 'focus', + 'blur', + 'focusin', + 'focusout', + 'DOMFocusIn', + 'DOMFocusOut' +]; +window.onload = function () { + var a = document.getElementById('a'); + var b = document.getElementById('b'); + var inputs = [a, b]; + + b.addEventListener('blur', finish, false); + b.addEventListener('focusout', finish, false); + b.addEventListener('DOMFocusOut', finish, false); + + for (var i = 0; i < inputs.length; i++) { + for (var k = 0; k < relevantEvents.length; k++) { + inputs[i].addEventListener(relevantEvents[k], record, false); + } + } + + async_test(function(t) { + document.getElementById('done').addEventListener('click', function () { + finish(); + t.step(function () { + assert_array_equals( + events, + ['focusin', 'focus', 'DOMFocusIn', 'focusout', 'focusin', 'blur', 'DOMFocusOut', 'focus', 'DOMFocusIn'], + 'Focus-related events should fire in this order: focusin, focus, DOMFocusIn, focusout, focusin, blur, DOMFocusOut, focus, DOMFocusIn' + ); + assert_array_equals( + targets, + [ 'a', 'a', 'a', 'a', 'b', 'a', 'a', 'b', 'b'], + 'Focus-related events should fire at the correct targets' + ); + t.done(); + }); + }, false); + }, 'Focus-related events should fire in the correct order'); +}; + </script> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/web-animations/animation-effect-timing/easing.html b/tests/wpt/web-platform-tests/web-animations/animation-effect-timing/easing.html new file mode 100644 index 00000000000..d3fed91a37d --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation-effect-timing/easing.html @@ -0,0 +1,84 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>easing tests</title> +<link rel="help" href="https://w3c.github.io/web-animations/#dom-animationeffecttiming-easing"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../testcommon.js"></script> +<script src="../resources/effect-easing-tests.js"></script> +<body> +<div id="log"></div> +<script> +'use strict'; + +function assert_progress(animation, currentTime, easingFunction) { + animation.currentTime = currentTime; + var portion = currentTime / animation.effect.timing.duration; + assert_approx_equals(animation.effect.getComputedTiming().progress, + easingFunction(portion), + 0.01, + 'The progress of the animation should be approximately ' + + easingFunction(portion) + ' at ' + currentTime + 'ms'); +} + +gEffectEasingTests.forEach(function(options) { + test(function(t) { + var target = createDiv(t); + var anim = target.animate([ { opacity: 0 }, { opacity: 1 } ], + { duration: 1000 * MS_PER_SEC, + fill: 'forwards' }); + anim.effect.timing.easing = options.easing; + assert_equals(anim.effect.timing.easing, options.easing); + + var easing = options.easingFunction; + assert_progress(anim, 0, easing); + assert_progress(anim, 250 * MS_PER_SEC, easing); + assert_progress(anim, 500 * MS_PER_SEC, easing); + assert_progress(anim, 750 * MS_PER_SEC, easing); + assert_progress(anim, 1000 * MS_PER_SEC, easing); + }, options.desc); +}); + +test(function(t) { + var div = createDiv(t); + var anim = div.animate({ opacity: [ 0, 1 ] }, 100 * MS_PER_SEC); + assert_throws({ name: 'TypeError' }, + function() { + anim.effect.timing.easing = ''; + }); + assert_throws({ name: 'TypeError' }, + function() { + anim.effect.timing.easing = 'test'; + }); +}, 'Test invalid easing value'); + +test(function(t) { + var delay = 1000 * MS_PER_SEC; + + var target = createDiv(t); + var anim = target.animate([ { opacity: 0 }, { opacity: 1 } ], + { duration: 1000 * MS_PER_SEC, + fill: 'both', + delay: delay, + easing: 'steps(2, start)' }); + + anim.effect.timing.easing = 'steps(2, end)'; + assert_equals(anim.effect.getComputedTiming().progress, 0, + 'easing replace to steps(2, end) at before phase'); + + anim.currentTime = delay + 750 * MS_PER_SEC; + assert_equals(anim.effect.getComputedTiming().progress, 0.5, + 'change currentTime to active phase'); + + anim.effect.timing.easing = 'steps(2, start)'; + assert_equals(anim.effect.getComputedTiming().progress, 1, + 'easing replace to steps(2, start) at active phase'); + + anim.currentTime = delay + 1500 * MS_PER_SEC; + anim.effect.timing.easing = 'steps(2, end)'; + assert_equals(anim.effect.getComputedTiming().progress, 1, + 'easing replace to steps(2, end) again at after phase'); +}, 'Change the easing while the animation is running'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/web-animations/animation-effect-timing/fill.html b/tests/wpt/web-platform-tests/web-animations/animation-effect-timing/fill.html new file mode 100644 index 00000000000..e635bebae1c --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation-effect-timing/fill.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>fill tests</title> +<link rel="help" href="https://w3c.github.io/web-animations/#dom-animationeffecttiming-fill"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../testcommon.js"></script> +<link rel="stylesheet" href="/resources/testharness.css"> +<body> +<div id="log"></div> +<script> +'use strict'; + +["none", "forwards", "backwards", "both", ].forEach(function(fill){ + test(function(t) { + var div = createDiv(t); + var anim = div.animate({ opacity: [ 0, 1 ] }, 100); + anim.effect.timing.fill = fill; + assert_equals(anim.effect.timing.fill, fill, 'set fill ' + fill); + assert_equals(anim.effect.getComputedTiming().fill, fill, 'getComputedTiming() after set fill ' + fill); + }, 'set fill ' + fill); +}); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/discrete-animation.html b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/discrete-animation.html new file mode 100644 index 00000000000..864a9e2845b --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/discrete-animation.html @@ -0,0 +1,136 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Tests for discrete animation</title> +<link rel="help" href="http://w3c.github.io/web-animations/#animatable-as-string-section"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../../testcommon.js"></script> +<link rel="stylesheet" href="/resources/testharness.css"> +<body> +<div id="log"></div> +<script> +'use strict'; + +test(function(t) { + var div = createDiv(t); + + var anim = div.animate({ fontStyle: [ 'normal', 'italic' ] }, + { duration: 1000, fill: 'forwards' }); + + assert_equals(getComputedStyle(div).fontStyle, 'normal', + 'Animation produces \'from\' value at start of interval'); + anim.currentTime = anim.effect.getComputedTiming().duration / 2 - 1; + assert_equals(getComputedStyle(div).fontStyle, 'normal', + 'Animation produces \'from\' value just before the middle of' + + ' the interval'); + anim.currentTime++; + assert_equals(getComputedStyle(div).fontStyle, 'italic', + 'Animation produces \'to\' value at exact middle of' + + ' the interval'); + anim.finish(); + assert_equals(getComputedStyle(div).fontStyle, 'italic', + 'Animation produces \'to\' value during forwards fill'); +}, 'Test animating discrete values'); + +test(function(t) { + var div = createDiv(t); + var originalHeight = getComputedStyle(div).height; + + var anim = div.animate({ height: [ 'auto', '200px' ] }, + { duration: 1000, fill: 'forwards' }); + + assert_equals(getComputedStyle(div).height, originalHeight, + 'Animation produces \'from\' value at start of interval'); + anim.currentTime = anim.effect.getComputedTiming().duration / 2 - 1; + assert_equals(getComputedStyle(div).height, originalHeight, + 'Animation produces \'from\' value just before the middle of' + + ' the interval'); + anim.currentTime++; + assert_equals(getComputedStyle(div).height, '200px', + 'Animation produces \'to\' value at exact middle of' + + ' the interval'); + anim.finish(); + assert_equals(getComputedStyle(div).height, '200px', + 'Animation produces \'to\' value during forwards fill'); +}, 'Test discrete animation is used when interpolation fails'); + +test(function(t) { + var div = createDiv(t); + var originalHeight = getComputedStyle(div).height; + + var anim = div.animate({ height: [ 'auto', + '200px', + '300px', + 'auto', + '400px' ] }, + { duration: 1000, fill: 'forwards' }); + + // There are five values, so there are four pairs to try to interpolate. + // We test at the middle of each pair. + assert_equals(getComputedStyle(div).height, originalHeight, + 'Animation produces \'from\' value at start of interval'); + anim.currentTime = 125; + assert_equals(getComputedStyle(div).height, '200px', + 'First non-interpolable pair uses discrete interpolation'); + anim.currentTime += 250; + assert_equals(getComputedStyle(div).height, '250px', + 'Second interpolable pair uses linear interpolation'); + anim.currentTime += 250; + assert_equals(getComputedStyle(div).height, originalHeight, + 'Third non-interpolable pair uses discrete interpolation'); + anim.currentTime += 250; + assert_equals(getComputedStyle(div).height, '400px', + 'Fourth non-interpolable pair uses discrete interpolation'); +}, 'Test discrete animation is used only for pairs of values that cannot' + + ' be interpolated'); + +test(function(t) { + var div = createDiv(t); + var originalHeight = getComputedStyle(div).height; + + // Easing: http://cubic-bezier.com/#.68,0,1,.01 + // With this curve, we don't reach the 50% point until about 95% of + // the time has expired. + var anim = div.animate({ fontStyle: [ 'italic', 'oblique' ] }, + { duration: 1000, fill: 'forwards', + easing: 'cubic-bezier(0.68,0,1,0.01)' }); + + assert_equals(getComputedStyle(div).fontStyle, 'italic', + 'Animation produces \'from\' value at start of interval'); + anim.currentTime = 940; + assert_equals(getComputedStyle(div).fontStyle, 'italic', + 'Animation produces \'from\' value at 94% of the iteration' + + ' time'); + anim.currentTime = 960; + assert_equals(getComputedStyle(div).fontStyle, 'oblique', + 'Animation produces \'to\' value at 96% of the iteration' + + ' time'); +}, 'Test the 50% switch point for discrete animation is based on the' + + ' effect easing'); + +test(function(t) { + var div = createDiv(t); + var originalHeight = getComputedStyle(div).height; + + // Easing: http://cubic-bezier.com/#.68,0,1,.01 + // With this curve, we don't reach the 50% point until about 95% of + // the time has expired. + var anim = div.animate([ { fontStyle: 'italic', + easing: 'cubic-bezier(0.68,0,1,0.01)' }, + { fontStyle: 'oblique' } ], + { duration: 1000, fill: 'forwards' }); + + assert_equals(getComputedStyle(div).fontStyle, 'italic', + 'Animation produces \'from\' value at start of interval'); + anim.currentTime = 940; + assert_equals(getComputedStyle(div).fontStyle, 'italic', + 'Animation produces \'from\' value at 94% of the iteration' + + ' time'); + anim.currentTime = 960; + assert_equals(getComputedStyle(div).fontStyle, 'oblique', + 'Animation produces \'to\' value at 96% of the iteration' + + ' time'); +}, 'Test the 50% switch point for discrete animation is based on the' + + ' keyframe easing'); + +</script> diff --git a/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/not-animatable.html b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/not-animatable.html new file mode 100644 index 00000000000..653c78036e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/not-animatable.html @@ -0,0 +1,120 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Tests for not animatable properties</title> +<link rel="help" href="https://w3c.github.io/web-animations/#not-animatable-section"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../../testcommon.js"></script> +<body> +<div id="log"></div> +<script> +'use strict'; + +test(function(t) { + var div = createDiv(t); + var anim = div.animate({ display: [ 'inline', 'inline-block' ] }, 1000); + + assert_equals(anim.effect.getFrames().length, 0, + 'Animation specified using property-indexed notation but' + + ' consisting of only non-animatable properties should not' + + ' contain any keyframes'); +}, '\'display\' property cannot be animated using property-indexed notation'); + +test(function(t) { + var div = createDiv(t); + var anim = div.animate([ { display: 'inline' }, { display: 'inline-block' } ], + 1000); + + assert_equals(anim.effect.getFrames().length, 2, + 'Animation specified using a keyframe sequence where each' + + ' keyframe contains only non-animatable properties should' + + ' return an equal number of (empty) keyframes'); + assert_false(anim.effect.getFrames()[0].hasOwnProperty('display'), + 'Initial keyframe should not have the \'display\' property'); + assert_false(anim.effect.getFrames()[1].hasOwnProperty('display'), + 'Final keyframe should not have the \'display\' property'); +}, '\'display\' property cannot be animated using a keyframe sequence'); + +test(function(t) { + var properties = { + // CSS Animations properties + animation: [ 'anim 1s', 'anim 2s' ], + animationName: [ 'abc', 'xyz' ], + animationTimingFunction: [ 'ease', 'steps(2)' ], + animationDelay: [ '1s', '2s' ], + animationIterationCount: [ 1, 2 ], + animationDirection: [ 'normal', 'reverse' ], + animationFillMode: [ 'forwards', 'backwards' ], + animationPlayState: [ 'paused', 'running' ], + + // CSS Transitions properties + transition: [ 'all 1s', 'all 2s' ], + transitionDelay: [ '1s', '2s' ], + transitionDuration: [ '1s', '2s' ], + transitionProperty: [ 'all', 'opacity' ], + transitionTimingFunction: [ 'ease', 'ease-out' ] + }; + + var div = createDiv(t); + var anim = div.animate(properties, 1000); + + assert_equals(anim.effect.getFrames().length, 0, + 'Animation specified using property-indexed notation but' + + ' consisting of only non-animatable properties should not' + + ' contain any keyframes'); +}, 'CSS animations and CSS transitions properties cannot be animated using' + + ' property-indexed notation'); + +test(function(t) { + var frames = [ + { + animation: 'anim 1s', + animationName: 'abc', + animationTimingFunction: 'ease', + animationDelay: '1s', + animationIterationCount: 1, + animationDirection: 'normal', + animationFillMode: 'forwards', + animationPlayState: 'paused', + transition: 'all 1s', + transitionDelay: '1s', + transitionDuration: '1s', + transitionProperty: 'opacity', + transitionTimingFunction: 'ease' + }, + { + animation: 'anim 2s', + animationName: 'xyz', + animationTimingFunction: 'steps(2)', + animationDelay: '2s', + animationIterationCount: 2, + animationDirection: 'reverse', + animationFillMode: 'backwards', + animationPlayState: 'running', + transition: 'all 2s', + transitionDelay: '2s', + transitionDuration: '2s', + transitionProperty: 'all', + transitionTimingFunction: 'ease-out' + } + ]; + var defaultKeyframeProperties = [ 'computedOffset', 'easing', 'offset' ]; + + var div = createDiv(t); + var anim = div.animate(frames, 1000); + + assert_equals(anim.effect.getFrames().length, 2, + 'Animation specified using a keyframe sequence where each' + + ' keyframe contains only non-animatable properties should' + + ' return an equal number of (empty) keyframes'); + assert_array_equals(Object.keys(anim.effect.getFrames()[0]), + defaultKeyframeProperties, + 'Initial keyframe should not contain any properties other' + + ' than the default keyframe properties'); + assert_array_equals(Object.keys(anim.effect.getFrames()[1]), + defaultKeyframeProperties, + 'Final keyframe should not contain any properties other' + + ' than the default keyframe properties'); +}, 'CSS animations and CSS transitions properties cannot be animated using' + + ' a sequence of keyframes'); +</script> diff --git a/tests/wpt/web-platform-tests/web-animations/animation-model/keyframes/effect-value-context.html b/tests/wpt/web-platform-tests/web-animations/animation-model/keyframes/effect-value-context.html new file mode 100644 index 00000000000..e2af80dff77 --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation-model/keyframes/effect-value-context.html @@ -0,0 +1,86 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Tests that property values respond to changes to their context</title> +<link rel="help" href="https://w3c.github.io/web-animations/#keyframes-section"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../../testcommon.js"></script> +<link rel="stylesheet" href="/resources/testharness.css"> +<body> +<div id="log"></div> +<script> + +test(function(t) { + var div = createDiv(t); + div.style.fontSize = '10px'; + var animation = div.animate([ { marginLeft: '10em' }, + { marginLeft: '20em' } ], 1000); + animation.currentTime = 500; + assert_equals(getComputedStyle(div).marginLeft, '150px', + 'Effect value before updating font-size'); + div.style.fontSize = '20px'; + assert_equals(getComputedStyle(div).marginLeft, '300px', + 'Effect value after updating font-size'); +}, 'Effect values reflect changes to font-size on element'); + +test(function(t) { + var parentDiv = createDiv(t); + var div = createDiv(t); + parentDiv.appendChild(div); + parentDiv.style.fontSize = '10px'; + + var animation = div.animate([ { marginLeft: '10em' }, + { marginLeft: '20em' } ], 1000); + animation.currentTime = 500; + assert_equals(getComputedStyle(div).marginLeft, '150px', + 'Effect value before updating font-size on parent element'); + parentDiv.style.fontSize = '20px'; + assert_equals(getComputedStyle(div).marginLeft, '300px', + 'Effect value after updating font-size on parent element'); +}, 'Effect values reflect changes to font-size on parent element'); + +promise_test(function(t) { + var parentDiv = createDiv(t); + var div = createDiv(t); + parentDiv.appendChild(div); + parentDiv.style.fontSize = '10px'; + var animation = div.animate([ { marginLeft: '10em' }, + { marginLeft: '20em' } ], 1000); + + animation.pause(); + animation.currentTime = 500; + parentDiv.style.fontSize = '20px'; + + return animation.ready.then(function() { + assert_equals(getComputedStyle(div).marginLeft, '300px', + 'Effect value after updating font-size on parent element'); + }); +}, 'Effect values reflect changes to font-size when computed style is not' + + ' immediately flushed'); + +promise_test(function(t) { + var divWith10pxFontSize = createDiv(t); + divWith10pxFontSize.style.fontSize = '10px'; + var divWith20pxFontSize = createDiv(t); + divWith20pxFontSize.style.fontSize = '20px'; + + var div = createDiv(t); + div.remove(); // Detach + var animation = div.animate([ { marginLeft: '10em' }, + { marginLeft: '20em' } ], 1000); + animation.pause(); + + return animation.ready.then(function() { + animation.currentTime = 500; + + divWith10pxFontSize.appendChild(div); + assert_equals(getComputedStyle(div).marginLeft, '150px', + 'Effect value after attaching to font-size:10px parent'); + divWith20pxFontSize.appendChild(div); + assert_equals(getComputedStyle(div).marginLeft, '300px', + 'Effect value after attaching to font-size:20px parent'); + }); +}, 'Effect values reflect changes to font-size from reparenting'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/web-animations/animation/finished.html b/tests/wpt/web-platform-tests/web-animations/animation/finished.html new file mode 100644 index 00000000000..716fa9571b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation/finished.html @@ -0,0 +1,371 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Animation.finished</title> +<link rel="help" href="https://w3c.github.io/web-animations/#dom-animation-finished"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../testcommon.js"></script> +<link rel="stylesheet" href="/resources/testharness.css"> +<body> +<div id="log"></div> +<script> +"use strict"; + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var previousFinishedPromise = animation.finished; + return animation.ready.then(function() { + assert_equals(animation.finished, previousFinishedPromise, + 'Finished promise is the same object when playing starts'); + animation.pause(); + assert_equals(animation.finished, previousFinishedPromise, + 'Finished promise does not change when pausing'); + animation.play(); + assert_equals(animation.finished, previousFinishedPromise, + 'Finished promise does not change when play() unpauses'); + + animation.currentTime = 100 * MS_PER_SEC; + + return animation.finished; + }).then(function() { + assert_equals(animation.finished, previousFinishedPromise, + 'Finished promise is the same object when playing completes'); + }); +}, 'Test pausing then playing does not change the finished promise'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var previousFinishedPromise = animation.finished; + animation.finish(); + return animation.finished.then(function() { + assert_equals(animation.finished, previousFinishedPromise, + 'Finished promise is the same object when playing completes'); + animation.play(); + assert_not_equals(animation.finished, previousFinishedPromise, + 'Finished promise changes when replaying animation'); + + previousFinishedPromise = animation.finished; + animation.play(); + assert_equals(animation.finished, previousFinishedPromise, + 'Finished promise is the same after redundant play() call'); + + }); +}, 'Test restarting a finished animation'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var previousFinishedPromise; + animation.finish(); + return animation.finished.then(function() { + previousFinishedPromise = animation.finished; + animation.playbackRate = -1; + assert_not_equals(animation.finished, previousFinishedPromise, + 'Finished promise should be replaced when reversing a ' + + 'finished promise'); + animation.currentTime = 0; + return animation.finished; + }).then(function() { + previousFinishedPromise = animation.finished; + animation.play(); + assert_not_equals(animation.finished, previousFinishedPromise, + 'Finished promise is replaced after play() call on ' + + 'finished, reversed animation'); + }); +}, 'Test restarting a reversed finished animation'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var previousFinishedPromise = animation.finished; + animation.finish(); + return animation.finished.then(function() { + animation.currentTime = 100 * MS_PER_SEC + 1000; + assert_equals(animation.finished, previousFinishedPromise, + 'Finished promise is unchanged jumping past end of ' + + 'finished animation'); + }); +}, 'Test redundant finishing of animation'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + // Setup callback to run if finished promise is resolved + var finishPromiseResolved = false; + animation.finished.then(function() { + finishPromiseResolved = true; + }); + return animation.ready.then(function() { + // Jump to mid-way in interval and pause + animation.currentTime = 100 * MS_PER_SEC / 2; + animation.pause(); + return animation.ready; + }).then(function() { + // Jump to the end + // (But don't use finish() since that should unpause as well) + animation.currentTime = 100 * MS_PER_SEC; + return waitForAnimationFrames(2); + }).then(function() { + assert_false(finishPromiseResolved, + 'Finished promise should not resolve when paused'); + }); +}, 'Finished promise does not resolve when paused'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + // Setup callback to run if finished promise is resolved + var finishPromiseResolved = false; + animation.finished.then(function() { + finishPromiseResolved = true; + }); + return animation.ready.then(function() { + // Jump to mid-way in interval and pause + animation.currentTime = 100 * MS_PER_SEC / 2; + animation.pause(); + // Jump to the end + animation.currentTime = 100 * MS_PER_SEC; + return waitForAnimationFrames(2); + }).then(function() { + assert_false(finishPromiseResolved, + 'Finished promise should not resolve when pause-pending'); + }); +}, 'Finished promise does not resolve when pause-pending'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + animation.finish(); + return animation.finished.then(function(resolvedAnimation) { + assert_equals(resolvedAnimation, animation, + 'Object identity of animation passed to Promise callback' + + ' matches the animation object owning the Promise'); + }); +}, 'The finished promise is fulfilled with its Animation'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var previousFinishedPromise = animation.finished; + + // Set up listeners on finished promise + var retPromise = animation.finished.then(function() { + assert_unreached('finished promise was fulfilled'); + }).catch(function(err) { + assert_equals(err.name, 'AbortError', + 'finished promise is rejected with AbortError'); + assert_not_equals(animation.finished, previousFinishedPromise, + 'Finished promise should change after the original is ' + + 'rejected'); + }); + + animation.cancel(); + + return retPromise; +}, 'finished promise is rejected when an animation is cancelled by calling ' + + 'cancel()'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var previousFinishedPromise = animation.finished; + animation.finish(); + return animation.finished.then(function() { + animation.cancel(); + assert_not_equals(animation.finished, previousFinishedPromise, + 'A new finished promise should be created when' + + ' cancelling a finished animation'); + }); +}, 'cancelling an already-finished animation replaces the finished promise'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + animation.cancel(); + // The spec says we still create a new finished promise and reject the old + // one even if we're already idle. That behavior might change, but for now + // test that we do that. + var retPromise = animation.finished.catch(function(err) { + assert_equals(err.name, 'AbortError', + 'finished promise is rejected with AbortError'); + }); + + // Redundant call to cancel(); + var previousFinishedPromise = animation.finished; + animation.cancel(); + assert_not_equals(animation.finished, previousFinishedPromise, + 'A redundant call to cancel() should still generate a new' + + ' finished promise'); + return retPromise; +}, 'cancelling an idle animation still replaces the finished promise'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + const HALF_DUR = 100 * MS_PER_SEC / 2; + const QUARTER_DUR = 100 * MS_PER_SEC / 4; + var gotNextFrame = false; + var currentTimeBeforeShortening; + animation.currentTime = HALF_DUR; + return animation.ready.then(function() { + currentTimeBeforeShortening = animation.currentTime; + animation.effect.timing.duration = QUARTER_DUR; + // Below we use gotNextFrame to check that shortening of the animation + // duration causes the finished promise to resolve, rather than it just + // getting resolved on the next animation frame. This relies on the fact + // that the promises are resolved as a micro-task before the next frame + // happens. + waitForAnimationFrames(1).then(function() { + gotNextFrame = true; + }); + + return animation.finished; + }).then(function() { + assert_false(gotNextFrame, 'shortening of the animation duration should ' + + 'resolve the finished promise'); + assert_equals(animation.currentTime, currentTimeBeforeShortening, + 'currentTime should be unchanged when duration shortened'); + var previousFinishedPromise = animation.finished; + animation.effect.timing.duration = 100 * MS_PER_SEC; + assert_not_equals(animation.finished, previousFinishedPromise, + 'Finished promise should change after lengthening the ' + + 'duration causes the animation to become active'); + }); +}, 'Test finished promise changes for animation duration changes'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var retPromise = animation.ready.then(function() { + animation.playbackRate = 0; + animation.currentTime = 100 * MS_PER_SEC + 1000; + return waitForAnimationFrames(2); + }); + + animation.finished.then(t.step_func(function() { + assert_unreached('finished promise should not resolve when playbackRate ' + + 'is zero'); + })); + + return retPromise; +}, 'Test finished promise changes when playbackRate == 0'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + return animation.ready.then(function() { + animation.playbackRate = -1; + return animation.finished; + }); +}, 'Test finished promise resolves when reaching to the natural boundary.'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var previousFinishedPromise = animation.finished; + animation.finish(); + return animation.finished.then(function() { + animation.currentTime = 0; + assert_not_equals(animation.finished, previousFinishedPromise, + 'Finished promise should change once a prior ' + + 'finished promise resolved and the animation ' + + 'falls out finished state'); + }); +}, 'Test finished promise changes when a prior finished promise resolved ' + + 'and the animation falls out finished state'); + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var previousFinishedPromise = animation.finished; + animation.currentTime = 100 * MS_PER_SEC; + animation.currentTime = 100 * MS_PER_SEC / 2; + assert_equals(animation.finished, previousFinishedPromise, + 'No new finished promise generated when finished state ' + + 'is checked asynchronously'); +}, 'Test no new finished promise generated when finished state ' + + 'is checked asynchronously'); + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var previousFinishedPromise = animation.finished; + animation.finish(); + animation.currentTime = 100 * MS_PER_SEC / 2; + assert_not_equals(animation.finished, previousFinishedPromise, + 'New finished promise generated when finished state ' + + 'is checked synchronously'); +}, 'Test new finished promise generated when finished state ' + + 'is checked synchronously'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var resolvedFinished = false; + animation.finished.then(function() { + resolvedFinished = true; + }); + return animation.ready.then(function() { + animation.finish(); + animation.currentTime = 100 * MS_PER_SEC / 2; + }).then(function() { + assert_true(resolvedFinished, + 'Animation.finished should be resolved even if ' + + 'the finished state is changed soon'); + }); + +}, 'Test synchronous finished promise resolved even if finished state ' + + 'is changed soon'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var resolvedFinished = false; + animation.finished.then(function() { + resolvedFinished = true; + }); + + return animation.ready.then(function() { + animation.currentTime = 100 * MS_PER_SEC; + animation.finish(); + }).then(function() { + assert_true(resolvedFinished, + 'Animation.finished should be resolved soon after finish() is ' + + 'called even if there are other asynchronous promises just before it'); + }); +}, 'Test synchronous finished promise resolved even if asynchronous ' + + 'finished promise happens just before synchronous promise'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + animation.finished.then(t.step_func(function() { + assert_unreached('Animation.finished should not be resolved'); + })); + + return animation.ready.then(function() { + animation.currentTime = 100 * MS_PER_SEC; + animation.currentTime = 100 * MS_PER_SEC / 2; + }); +}, 'Test finished promise is not resolved when the animation ' + + 'falls out finished state immediately'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + return animation.ready.then(function() { + animation.currentTime = 100 * MS_PER_SEC; + animation.finished.then(t.step_func(function() { + assert_unreached('Animation.finished should not be resolved'); + })); + animation.currentTime = 0; + }); + +}, 'Test finished promise is not resolved once the animation ' + + 'falls out finished state even though the current finished ' + + 'promise is generated soon after animation state became finished'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/web-animations/animation/id.html b/tests/wpt/web-platform-tests/web-animations/animation/id.html new file mode 100644 index 00000000000..65e10922697 --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation/id.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Animation.id</title> +<link rel="help" href="https://w3c.github.io/web-animations/#dom-animation-id"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../testcommon.js"></script> +<link rel="stylesheet" href="/resources/testharness.css"> +<body> +<div id="log"></div> +<script> +"use strict"; + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + assert_equals(animation.id, '', 'id for CSS Animation is initially empty'); + animation.id = 'anim' + + assert_equals(animation.id, 'anim', 'animation.id reflects the value set'); +}, 'Animation.id for CSS Animations'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/web-animations/animation/oncancel.html b/tests/wpt/web-platform-tests/web-animations/animation/oncancel.html new file mode 100644 index 00000000000..43f327b76f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation/oncancel.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Animation.oncancel</title> +<link rel="help" href="https://w3c.github.io/web-animations/#dom-animation-oncancel"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../testcommon.js"></script> +<link rel="stylesheet" href="/resources/testharness.css"> +<body> +<div id="log"></div> +<script> +"use strict"; + +async_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var finishedTimelineTime; + animation.finished.then().catch(function() { + finishedTimelineTime = animation.timeline.currentTime; + }); + + animation.oncancel = t.step_func_done(function(event) { + assert_equals(event.currentTime, null, + 'event.currentTime should be null'); + assert_equals(event.timelineTime, finishedTimelineTime, + 'event.timelineTime should equal to the animation timeline ' + + 'when finished promise is rejected'); + }); + + animation.cancel(); +}, 'oncancel event is fired when animation.cancel() is called.'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/web-animations/animation/onfinish.html b/tests/wpt/web-platform-tests/web-animations/animation/onfinish.html new file mode 100644 index 00000000000..459a54bc7ca --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation/onfinish.html @@ -0,0 +1,122 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Animation.onfinish</title> +<link rel="help" href="https://w3c.github.io/web-animations/#dom-animation-onfinish"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../testcommon.js"></script> +<link rel="stylesheet" href="/resources/testharness.css"> +<body> +<div id="log"></div> +<script> +"use strict"; + +async_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var finishedTimelineTime; + animation.finished.then(function() { + finishedTimelineTime = animation.timeline.currentTime; + }); + + animation.onfinish = t.step_func_done(function(event) { + assert_equals(event.currentTime, 0, + 'event.currentTime should be zero'); + assert_equals(event.timelineTime, finishedTimelineTime, + 'event.timelineTime should equal to the animation timeline ' + + 'when finished promise is resolved'); + }); + + animation.playbackRate = -1; +}, 'onfinish event is fired when the currentTime < 0 and ' + + 'the playbackRate < 0'); + +async_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + + var finishedTimelineTime; + animation.finished.then(function() { + finishedTimelineTime = animation.timeline.currentTime; + }); + + animation.onfinish = t.step_func_done(function(event) { + assert_equals(event.currentTime, 100 * MS_PER_SEC, + 'event.currentTime should be the effect end'); + assert_equals(event.timelineTime, finishedTimelineTime, + 'event.timelineTime should equal to the animation timeline ' + + 'when finished promise is resolved'); + }); + + animation.currentTime = 100 * MS_PER_SEC; +}, 'onfinish event is fired when the currentTime > 0 and ' + + 'the playbackRate > 0'); + +async_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + + var finishedTimelineTime; + animation.finished.then(function() { + finishedTimelineTime = animation.timeline.currentTime; + }); + + animation.onfinish = t.step_func_done(function(event) { + assert_equals(event.currentTime, 100 * MS_PER_SEC, + 'event.currentTime should be the effect end'); + assert_equals(event.timelineTime, finishedTimelineTime, + 'event.timelineTime should equal to the animation timeline ' + + 'when finished promise is resolved'); + }); + + animation.finish(); +}, 'onfinish event is fired when animation.finish() is called'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + + animation.onfinish = function(event) { + assert_unreached('onfinish event should not be fired'); + }; + + animation.currentTime = 100 * MS_PER_SEC / 2; + animation.pause(); + + return animation.ready.then(function() { + animation.currentTime = 100 * MS_PER_SEC; + return waitForAnimationFrames(2); + }); +}, 'onfinish event is not fired when paused'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + animation.onfinish = function(event) { + assert_unreached('onfinish event should not be fired'); + }; + + return animation.ready.then(function() { + animation.playbackRate = 0; + animation.currentTime = 100 * MS_PER_SEC; + return waitForAnimationFrames(2); + }); +}, 'onfinish event is not fired when the playbackRate is zero'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + animation.onfinish = function(event) { + assert_unreached('onfinish event should not be fired'); + }; + + return animation.ready.then(function() { + animation.currentTime = 100 * MS_PER_SEC; + animation.currentTime = 100 * MS_PER_SEC / 2; + return waitForAnimationFrames(2); + }); +}, 'onfinish event is not fired when the animation falls out ' + + 'finished state immediately'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/web-animations/animation/pause.html b/tests/wpt/web-platform-tests/web-animations/animation/pause.html new file mode 100644 index 00000000000..0b2c327786c --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation/pause.html @@ -0,0 +1,99 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Animation.pause()</title> +<link rel="help" href="https://w3c.github.io/web-animations/#dom-animation-pause"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../testcommon.js"></script> +<link rel="stylesheet" href="/resources/testharness.css"> +<body> +<div id="log"></div> +<script> +"use strict"; + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 1000 * MS_PER_SEC); + var previousCurrentTime = animation.currentTime; + + return animation.ready.then(waitForAnimationFrames(1)).then(function() { + assert_true(animation.currentTime >= previousCurrentTime, + 'currentTime is initially increasing'); + animation.pause(); + return animation.ready; + }).then(function() { + previousCurrentTime = animation.currentTime; + return waitForAnimationFrames(1); + }).then(function() { + assert_equals(animation.currentTime, previousCurrentTime, + 'currentTime does not increase after calling pause()'); + }); +}, 'pause() a running animation'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 1000 * MS_PER_SEC); + + // Go to idle state then pause + animation.cancel(); + animation.pause(); + + assert_equals(animation.currentTime, 0, 'currentTime is set to 0'); + assert_equals(animation.startTime, null, 'startTime is not set'); + assert_equals(animation.playState, 'pending', 'initially pause-pending'); + + // Check it still resolves as expected + return animation.ready.then(function() { + assert_equals(animation.playState, 'paused', + 'resolves to paused state asynchronously'); + assert_equals(animation.currentTime, 0, + 'keeps the initially set currentTime'); + }); +}, 'pause() from idle'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 1000 * MS_PER_SEC); + animation.cancel(); + animation.playbackRate = -1; + animation.pause(); + + assert_equals(animation.currentTime, 1000 * MS_PER_SEC, + 'currentTime is set to the effect end'); + + return animation.ready.then(function() { + assert_equals(animation.currentTime, 1000 * MS_PER_SEC, + 'keeps the initially set currentTime'); + }); +}, 'pause() from idle with a negative playbackRate'); + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, {duration: 1000 * MS_PER_SEC, + iterations: Infinity}); + animation.cancel(); + animation.playbackRate = -1; + + assert_throws('InvalidStateError', + function () { animation.pause(); }, + 'Expect InvalidStateError exception on calling pause() ' + + 'from idle with a negative playbackRate and ' + + 'infinite-duration animation'); +}, 'pause() from idle with a negative playbackRate and endless effect'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 1000 * MS_PER_SEC); + return animation.ready + .then(function(animation) { + animation.finish(); + animation.pause(); + return animation.ready; + }).then(function(animation) { + assert_equals(animation.currentTime, 1000 * MS_PER_SEC, + 'currentTime after pausing finished animation'); + }); +}, 'pause() on a finished animation'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/web-animations/animation/ready.html b/tests/wpt/web-platform-tests/web-animations/animation/ready.html new file mode 100644 index 00000000000..cea946c1429 --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation/ready.html @@ -0,0 +1,97 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Animation.ready</title> +<link rel="help" href="https://w3c.github.io/web-animations/#dom-animation-ready"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../testcommon.js"></script> +<link rel="stylesheet" href="/resources/testharness.css"> +<body> +<div id="log"></div> +<script> +"use strict"; + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + var originalReadyPromise = animation.ready; + var pauseReadyPromise; + + return animation.ready.then(function() { + assert_equals(animation.ready, originalReadyPromise, + 'Ready promise is the same object when playing completes'); + animation.pause(); + assert_not_equals(animation.ready, originalReadyPromise, + 'A new ready promise is created when pausing'); + pauseReadyPromise = animation.ready; + // Wait for the promise to fulfill since if we abort the pause the ready + // promise object is reused. + return animation.ready; + }).then(function() { + animation.play(); + assert_not_equals(animation.ready, pauseReadyPromise, + 'A new ready promise is created when playing'); + }); +}, 'A new ready promise is created when play()/pause() is called'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + + return animation.ready.then(function() { + var promiseBeforeCallingPlay = animation.ready; + animation.play(); + assert_equals(animation.ready, promiseBeforeCallingPlay, + 'Ready promise has same object identity after redundant call' + + ' to play()'); + }); +}, 'Redundant calls to play() do not generate new ready promise objects'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + + return animation.ready.then(function(resolvedAnimation) { + assert_equals(resolvedAnimation, animation, + 'Object identity of Animation passed to Promise callback' + + ' matches the Animation object owning the Promise'); + }); +}, 'The ready promise is fulfilled with its Animation'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + + var retPromise = animation.ready.then(function() { + assert_unreached('ready promise was fulfilled'); + }).catch(function(err) { + assert_equals(err.name, 'AbortError', + 'ready promise is rejected with AbortError'); + }); + + animation.cancel(); + + return retPromise; +}, 'ready promise is rejected when a pause-pending animation is cancelled by' + + ' calling cancel()'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + return animation.ready.then(function() { + animation.pause(); + // Set up listeners on pause-pending ready promise + var retPromise = animation.ready.then(function() { + assert_unreached('ready promise was fulfilled'); + }).catch(function(err) { + assert_equals(err.name, 'AbortError', + 'ready promise is rejected with AbortError'); + }); + animation.cancel(); + return retPromise; + }); +}, 'ready promise is rejected when a pause-pending animation is cancelled by' + + ' calling cancel()'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/web-animations/animation/reverse.html b/tests/wpt/web-platform-tests/web-animations/animation/reverse.html new file mode 100644 index 00000000000..3731cf51804 --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation/reverse.html @@ -0,0 +1,150 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Animation.reverse()</title> +<link rel="help" href="https://w3c.github.io/web-animations/#dom-animation-reverse"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../testcommon.js"></script> +<link rel="stylesheet" href="/resources/testharness.css"> +<body> +<div id="log"></div> +<script> +"use strict"; + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, {duration: 100 * MS_PER_SEC, + iterations: Infinity}); + + // Wait a frame because if currentTime is still 0 when we call + // reverse(), it will throw (per spec). + return animation.ready.then(waitForAnimationFrames(1)).then(function() { + assert_greater_than_equal(animation.currentTime, 0, + 'currentTime expected to be greater than 0, one frame after starting'); + animation.currentTime = 50 * MS_PER_SEC; + var previousPlaybackRate = animation.playbackRate; + animation.reverse(); + assert_equals(animation.playbackRate, -previousPlaybackRate, + 'playbackRate should be inverted'); + }); +}, 'reverse() inverts playbackRate'); + +promise_test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, {duration: 100 * MS_PER_SEC, + iterations: Infinity}); + animation.currentTime = 50 * MS_PER_SEC; + animation.pause(); + + return animation.ready.then(function() { + animation.reverse(); + return animation.ready; + }).then(function() { + assert_equals(animation.playState, 'running', + 'Animation.playState should be "running" after reverse()'); + }); +}, 'reverse() starts to play when pausing animation'); + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + animation.currentTime = 50 * MS_PER_SEC; + animation.reverse(); + + assert_equals(animation.currentTime, 50 * MS_PER_SEC, + 'reverse() should not change the currentTime ' + + 'if the currentTime is in the middle of animation duration'); +}, 'reverse() maintains the same currentTime'); + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + animation.currentTime = 200 * MS_PER_SEC; + animation.reverse(); + + assert_equals(animation.currentTime, 100 * MS_PER_SEC, + 'reverse() should start playing from the animation effect end ' + + 'if the playbackRate > 0 and the currentTime > effect end'); +}, 'reverse() when playbackRate > 0 and currentTime > effect end'); + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + + animation.currentTime = -200 * MS_PER_SEC; + animation.reverse(); + + assert_equals(animation.currentTime, 100 * MS_PER_SEC, + 'reverse() should start playing from the animation effect end ' + + 'if the playbackRate > 0 and the currentTime < 0'); +}, 'reverse() when playbackRate > 0 and currentTime < 0'); + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + animation.playbackRate = -1; + animation.currentTime = -200 * MS_PER_SEC; + animation.reverse(); + + assert_equals(animation.currentTime, 0, + 'reverse() should start playing from the start of animation time ' + + 'if the playbackRate < 0 and the currentTime < 0'); +}, 'reverse() when playbackRate < 0 and currentTime < 0'); + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + animation.playbackRate = -1; + animation.currentTime = 200 * MS_PER_SEC; + animation.reverse(); + + assert_equals(animation.currentTime, 0, + 'reverse() should start playing from the start of animation time ' + + 'if the playbackRate < 0 and the currentTime > effect end'); +}, 'reverse() when playbackRate < 0 and currentTime > effect end'); + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, {duration: 100 * MS_PER_SEC, + iterations: Infinity}); + animation.currentTime = -200 * MS_PER_SEC; + + assert_throws('InvalidStateError', + function () { animation.reverse(); }, + 'reverse() should throw InvalidStateError ' + + 'if the playbackRate > 0 and the currentTime < 0 ' + + 'and the target effect is positive infinity'); +}, 'reverse() when playbackRate > 0 and currentTime < 0 ' + + 'and the target effect end is positive infinity'); + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, {duration: 100 * MS_PER_SEC, + iterations: Infinity}); + animation.playbackRate = -1; + animation.currentTime = -200 * MS_PER_SEC; + animation.reverse(); + + assert_equals(animation.currentTime, 0, + 'reverse() should start playing from the start of animation time ' + + 'if the playbackRate < 0 and the currentTime < 0 ' + + 'and the target effect is positive infinity'); +}, 'reverse() when playbackRate < 0 and currentTime < 0 ' + + 'and the target effect end is positive infinity'); + +test(function(t) { + var div = createDiv(t); + var animation = div.animate({}, 100 * MS_PER_SEC); + animation.playbackRate = 0; + animation.currentTime = 50 * MS_PER_SEC; + animation.reverse(); + + assert_equals(animation.playbackRate, 0, + 'reverse() should preserve playbackRate if the playbackRate == 0'); + assert_equals(animation.currentTime, 50 * MS_PER_SEC, + 'reverse() should not affect the currentTime if the playbackRate == 0'); + t.done(); +}, 'reverse() when playbackRate == 0'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/web-animations/keyframe-effect/constructor.html b/tests/wpt/web-platform-tests/web-animations/keyframe-effect/constructor.html index 50cee72ac47..c14d74fa994 100644 --- a/tests/wpt/web-platform-tests/web-animations/keyframe-effect/constructor.html +++ b/tests/wpt/web-platform-tests/web-animations/keyframe-effect/constructor.html @@ -37,17 +37,6 @@ function assert_frame_lists_equal(a, b) { var gEmptyKeyframeListTests = [ [], - [{}], - [{ easing: "ease-in" }], - [{ unknown: "unknown" }, { unknown: "unknown" }], - [{ color: "invalid" }, { color: "invalid" }], - { easing: "ease-in" }, - { unknown: "unknown" }, - { unknown: [] }, - { unknown: ["unknown"] }, - { unknown: ["unknown", "unknown"] }, - { animationName: ["none", "abc"] }, - { color: [] }, null, undefined, ]; @@ -79,7 +68,7 @@ test(function(t) { "resulting easing for '" + easing + "'"); }); }, "easing values are parsed correctly when passed to the " + - "KeyframeEffectReadOnly constructor in PropertyIndexedKeyframes"); + "KeyframeEffectReadOnly constructor in a property-indexed keyframe"); test(function(t) { gEasingValueTests.forEach(function(subtest) { @@ -93,7 +82,7 @@ test(function(t) { "resulting easing for '" + easing + "'"); }); }, "easing values are parsed correctly when passed to the " + - "KeyframeEffectReadOnly constructor in Keyframe"); + "KeyframeEffectReadOnly constructor in regular keyframes"); test(function(t) { gEasingValueTests.forEach(function(subtest) { @@ -135,7 +124,7 @@ test(function(t) { }); }); }, "composite values are parsed correctly when passed to the " + - "KeyframeEffectReadOnly constructor in PropertyIndexedKeyframes"); + "KeyframeEffectReadOnly constructor in property-indexed keyframes"); test(function(t) { var getFrames = function(composite) { @@ -155,7 +144,7 @@ test(function(t) { }); }); }, "composite values are parsed correctly when passed to the " + - "KeyframeEffectReadOnly constructor in Keyframe"); + "KeyframeEffectReadOnly constructor in regular keyframes"); test(function(t) { gGoodOptionsCompositeValueTests.forEach(function(composite) { @@ -176,79 +165,119 @@ test(function(t) { "KeyframeEffectReadOnly constructor in KeyframeTimingOptions"); var gPropertyIndexedKeyframesTests = [ - { desc: "a one property two value PropertyIndexedKeyframes specification", + { desc: "a one property two value property-indexed keyframes specification", input: { left: ["10px", "20px"] }, - output: [{ offset: 0, computedOffset: 0, easing: "linear", left: "10px" }, - { offset: 1, computedOffset: 1, easing: "linear", left: "20px" }] }, - { desc: "a one shorthand property two value PropertyIndexedKeyframes specification", + output: [{ offset: null, computedOffset: 0, easing: "linear", + left: "10px" }, + { offset: null, computedOffset: 1, easing: "linear", + left: "20px" }] }, + { desc: "a one shorthand property two value property-indexed keyframes" + + " specification", input: { margin: ["10px", "10px 20px 30px 40px"] }, - output: [{ offset: 0, computedOffset: 0, easing: "linear", marginTop: "10px", marginRight: "10px", marginBottom: "10px", marginLeft: "10px" }, - { offset: 1, computedOffset: 1, easing: "linear", marginTop: "10px", marginRight: "20px", marginBottom: "30px", marginLeft: "40px" }] }, - { desc: "a two property (one shorthand and one of its longhand components) two value PropertyIndexedKeyframes specification", + output: [{ offset: null, computedOffset: 0, easing: "linear", + margin: "10px" }, + { offset: null, computedOffset: 1, easing: "linear", + margin: "10px 20px 30px 40px" }] }, + { desc: "a two property (one shorthand and one of its longhand components)" + + " two value property-indexed keyframes specification", input: { marginTop: ["50px", "60px"], margin: ["10px", "10px 20px 30px 40px"] }, - output: [{ offset: 0, computedOffset: 0, easing: "linear", marginTop: "50px", marginRight: "10px", marginBottom: "10px", marginLeft: "10px" }, - { offset: 1, computedOffset: 1, easing: "linear", marginTop: "60px", marginRight: "20px", marginBottom: "30px", marginLeft: "40px" }] }, - { desc: "a two property two value PropertyIndexedKeyframes specification", + output: [{ offset: null, computedOffset: 0, easing: "linear", + marginTop: "50px", margin: "10px" }, + { offset: null, computedOffset: 1, easing: "linear", + marginTop: "60px", margin: "10px 20px 30px 40px" }] }, + { desc: "a two property two value property-indexed keyframes specification", input: { left: ["10px", "20px"], top: ["30px", "40px"] }, - output: [{ offset: 0, computedOffset: 0, easing: "linear", left: "10px", top: "30px" }, - { offset: 1, computedOffset: 1, easing: "linear", left: "20px", top: "40px" }] }, - { desc: "a two property PropertyIndexedKeyframes specification with different numbers of values", + output: [{ offset: null, computedOffset: 0, easing: "linear", + left: "10px", top: "30px" }, + { offset: null, computedOffset: 1, easing: "linear", + left: "20px", top: "40px" }] }, + { desc: "a two property property-indexed keyframes specification with" + + " different numbers of values", input: { left: ["10px", "20px", "30px"], top: ["40px", "50px"] }, - output: [{ offset: 0.0, computedOffset: 0.0, easing: "linear", left: "10px", top: "40px" }, - { offset: 0.5, computedOffset: 0.5, easing: "linear", left: "20px" }, - { offset: 1.0, computedOffset: 1.0, easing: "linear", left: "30px", top: "50px" }] }, - { desc: "a PropertyIndexedKeyframes specification with an invalid value", + output: [{ offset: null, computedOffset: 0.0, easing: "linear", + left: "10px", top: "40px" }, + { offset: null, computedOffset: 0.5, easing: "linear", + left: "20px" }, + { offset: null, computedOffset: 1.0, easing: "linear", + left: "30px", top: "50px" }] }, + { desc: "a property-indexed keyframes specification with an invalid value", input: { left: ["10px", "20px", "30px", "40px", "50px"], top: ["15px", "25px", "invalid", "45px", "55px"] }, - output: [{ offset: 0.00, computedOffset: 0.00, easing: "linear", left: "10px", top: "15px" }, - { offset: 0.25, computedOffset: 0.25, easing: "linear", left: "20px", top: "25px" }, - { offset: 0.50, computedOffset: 0.50, easing: "linear", left: "30px" }, - { offset: 0.75, computedOffset: 0.75, easing: "linear", left: "40px", top: "45px" }, - { offset: 1.00, computedOffset: 1.00, easing: "linear", left: "50px", top: "55px" }] }, - { desc: "a one property two value PropertyIndexedKeyframes specification that needs to stringify its values", + output: [{ offset: null, computedOffset: 0.00, easing: "linear", + left: "10px", top: "15px" }, + { offset: null, computedOffset: 0.25, easing: "linear", + left: "20px", top: "25px" }, + { offset: null, computedOffset: 0.50, easing: "linear", + left: "30px", top: "invalid" }, + { offset: null, computedOffset: 0.75, easing: "linear", + left: "40px", top: "45px" }, + { offset: null, computedOffset: 1.00, easing: "linear", + left: "50px", top: "55px" }] }, + { desc: "a one property two value property-indexed keyframes specification" + + " that needs to stringify its values", input: { opacity: [0, 1] }, - output: [{ offset: 0, computedOffset: 0, easing: "linear", opacity: "0" }, - { offset: 1, computedOffset: 1, easing: "linear", opacity: "1" }] }, - { desc: "a one property one value PropertyIndexedKeyframes specification", + output: [{ offset: null, computedOffset: 0, easing: "linear", + opacity: "0" }, + { offset: null, computedOffset: 1, easing: "linear", + opacity: "1" }] }, + { desc: "a one property one value property-indexed keyframes specification", input: { left: ["10px"] }, - output: [{ offset: 0, computedOffset: 0, easing: "linear" }, - { offset: 1, computedOffset: 1, easing: "linear", left: "10px" }] }, - { desc: "a one property one non-array value PropertyIndexedKeyframes specification", + output: [{ offset: null, computedOffset: 1, easing: "linear", + left: "10px" }] }, + { desc: "a one property one non-array value property-indexed keyframes" + + " specification", input: { left: "10px" }, - output: [{ offset: 0, computedOffset: 0, easing: "linear" }, - { offset: 1, computedOffset: 1, easing: "linear", left: "10px" }] }, - { desc: "a one property two value PropertyIndexedKeyframes specification where the first value is invalid", + output: [{ offset: null, computedOffset: 1, easing: "linear", + left: "10px" }] }, + { desc: "a one property two value property-indexed keyframes specification" + + " where the first value is invalid", input: { left: ["invalid", "10px"] }, - output: [{ offset: 0, computedOffset: 0, easing: "linear" }, - { offset: 1, computedOffset: 1, easing: "linear", left: "10px" }] }, - { desc: "a one property two value PropertyIndexedKeyframes specification where the second value is invalid", + output: [{ offset: null, computedOffset: 0, easing: "linear", + left: "invalid" }, + { offset: null, computedOffset: 1, easing: "linear", + left: "10px" }] }, + { desc: "a one property two value property-indexed keyframes specification" + + " where the second value is invalid", input: { left: ["10px", "invalid"] }, - output: [{ offset: 0, computedOffset: 0, easing: "linear", left: "10px" }, - { offset: 1, computedOffset: 1, easing: "linear" }] }, - { desc: "a two property PropertyIndexedKeyframes specification where one property is missing from the first Keyframe", + output: [{ offset: null, computedOffset: 0, easing: "linear", + left: "10px" }, + { offset: null, computedOffset: 1, easing: "linear", + left: "invalid" }] }, + { desc: "a two property property-indexed keyframes specification where one" + + " property is missing from the first keyframe", input: [{ offset: 0, left: "10px" }, { offset: 1, left: "20px", top: "30px" }], output: [{ offset: 0, computedOffset: 0, easing: "linear", left: "10px" }, - { offset: 1, computedOffset: 1, easing: "linear", left: "20px", top: "30px" }] }, - { desc: "a two property PropertyIndexedKeyframes specification where one property is missing from the last Keyframe", + { offset: 1, computedOffset: 1, easing: "linear", + left: "20px", top: "30px" }] }, + { desc: "a two property property-indexed keyframes specification where one" + + " property is missing from the last keyframe", input: [{ offset: 0, left: "10px", top: "20px" }, { offset: 1, left: "30px" }], - output: [{ offset: 0, computedOffset: 0, easing: "linear", left: "10px" , top: "20px" }, - { offset: 1, computedOffset: 1, easing: "linear", left: "30px" }] }, - { desc: "a PropertyIndexedKeyframes specification with repeated values at offset 0 with different easings", + output: [{ offset: 0, computedOffset: 0, easing: "linear", + left: "10px" , top: "20px" }, + { offset: 1, computedOffset: 1, easing: "linear", + left: "30px" }] }, + { desc: "a property-indexed keyframes specification with repeated values" + + " at offset 0 with different easings", input: [{ offset: 0.0, left: "100px", easing: "ease" }, { offset: 0.0, left: "200px", easing: "ease" }, { offset: 0.5, left: "300px", easing: "linear" }, { offset: 1.0, left: "400px", easing: "ease-out" }, { offset: 1.0, left: "500px", easing: "step-end" }], - output: [{ offset: 0.0, computedOffset: 0.0, easing: "ease", left: "100px" }, - { offset: 0.0, computedOffset: 0.0, easing: "ease", left: "200px" }, - { offset: 0.5, computedOffset: 0.5, easing: "linear", left: "300px" }, - { offset: 1.0, computedOffset: 1.0, easing: "ease-out", left: "400px" }, - { offset: 1.0, computedOffset: 1.0, easing: "linear", left: "500px" }] }, + output: [{ offset: 0.0, computedOffset: 0.0, easing: "ease", + left: "100px" }, + { offset: 0.0, computedOffset: 0.0, easing: "ease", + left: "200px" }, + { offset: 0.5, computedOffset: 0.5, easing: "linear", + left: "300px" }, + { offset: 1.0, computedOffset: 1.0, easing: "ease-out", + left: "400px" }, + { offset: 1.0, computedOffset: 1.0, easing: "step-end", + left: "500px" }] }, ]; gPropertyIndexedKeyframesTests.forEach(function(subtest) { @@ -282,41 +311,56 @@ test(function(t) { }); new KeyframeEffectReadOnly(target, [kf1, kf2]); assert_array_equals(actualOrder, expectedOrder, "property access order"); -}, "the KeyframeEffectReadOnly constructor reads Keyframe properties in the " + +}, "the KeyframeEffectReadOnly constructor reads keyframe properties in the " + "expected order"); var gKeyframeSequenceTests = [ - { desc: "a one property two Keyframe sequence", + { desc: "a one property two keyframe sequence", input: [{ offset: 0, left: "10px" }, { offset: 1, left: "20px" }], output: [{ offset: 0, computedOffset: 0, easing: "linear", left: "10px" }, - { offset: 1, computedOffset: 1, easing: "linear", left: "20px" }] }, - { desc: "a two property two Keyframe sequence", + { offset: 1, computedOffset: 1, easing: "linear", left: "20px" }] + }, + { desc: "a two property two keyframe sequence", input: [{ offset: 0, left: "10px", top: "30px" }, { offset: 1, left: "20px", top: "40px" }], - output: [{ offset: 0, computedOffset: 0, easing: "linear", left: "10px", top: "30px" }, - { offset: 1, computedOffset: 1, easing: "linear", left: "20px", top: "40px" }] }, - { desc: "a one shorthand property two Keyframe sequence", + output: [{ offset: 0, computedOffset: 0, easing: "linear", + left: "10px", top: "30px" }, + { offset: 1, computedOffset: 1, easing: "linear", + left: "20px", top: "40px" }] }, + { desc: "a one shorthand property two keyframe sequence", input: [{ offset: 0, margin: "10px" }, { offset: 1, margin: "20px 30px 40px 50px" }], - output: [{ offset: 0, computedOffset: 0, easing: "linear", marginTop: "10px", marginRight: "10px", marginBottom: "10px", marginLeft: "10px" }, - { offset: 1, computedOffset: 1, easing: "linear", marginTop: "20px", marginRight: "30px", marginBottom: "40px", marginLeft: "50px" }] }, - { desc: "a two property (a shorthand and one of its component longhands) two Keyframe sequence", + output: [{ offset: 0, computedOffset: 0, easing: "linear", + margin: "10px" }, + { offset: 1, computedOffset: 1, easing: "linear", + margin: "20px 30px 40px 50px" }] }, + { desc: "a two property (a shorthand and one of its component longhands)" + + " two keyframe sequence", input: [{ offset: 0, margin: "10px", marginTop: "20px" }, { offset: 1, marginTop: "70px", margin: "30px 40px 50px 60px" }], - output: [{ offset: 0, computedOffset: 0, easing: "linear", marginTop: "20px", marginRight: "10px", marginBottom: "10px", marginLeft: "10px" }, - { offset: 1, computedOffset: 1, easing: "linear", marginTop: "70px", marginRight: "40px", marginBottom: "50px", marginLeft: "60px" }] }, - { desc: "a Keyframe sequence with duplicate values for a given interior offset", + output: [{ offset: 0, computedOffset: 0, easing: "linear", + margin: "10px", marginTop: "20px" }, + { offset: 1, computedOffset: 1, easing: "linear", + marginTop: "70px", margin: "30px 40px 50px 60px" }] }, + { desc: "a keyframe sequence with duplicate values for a given interior" + + " offset", input: [{ offset: 0.0, left: "10px" }, { offset: 0.5, left: "20px" }, { offset: 0.5, left: "30px" }, { offset: 0.5, left: "40px" }, { offset: 1.0, left: "50px" }], - output: [{ offset: 0.0, computedOffset: 0.0, easing: "linear", left: "10px" }, - { offset: 0.5, computedOffset: 0.5, easing: "linear", left: "20px" }, - { offset: 0.5, computedOffset: 0.5, easing: "linear", left: "40px" }, - { offset: 1.0, computedOffset: 1.0, easing: "linear", left: "50px" }] }, - { desc: "a Keyframe sequence with duplicate values for offsets 0 and 1", + output: [{ offset: 0.0, computedOffset: 0.0, easing: "linear", + left: "10px" }, + { offset: 0.5, computedOffset: 0.5, easing: "linear", + left: "20px" }, + { offset: 0.5, computedOffset: 0.5, easing: "linear", + left: "30px" }, + { offset: 0.5, computedOffset: 0.5, easing: "linear", + left: "40px" }, + { offset: 1.0, computedOffset: 1.0, easing: "linear", + left: "50px" }] }, + { desc: "a keyframe sequence with duplicate values for offsets 0 and 1", input: [{ offset: 0, left: "10px" }, { offset: 0, left: "20px" }, { offset: 0, left: "30px" }, @@ -324,50 +368,72 @@ var gKeyframeSequenceTests = [ { offset: 1, left: "50px" }, { offset: 1, left: "60px" }], output: [{ offset: 0, computedOffset: 0, easing: "linear", left: "10px" }, + { offset: 0, computedOffset: 0, easing: "linear", left: "20px" }, { offset: 0, computedOffset: 0, easing: "linear", left: "30px" }, { offset: 1, computedOffset: 1, easing: "linear", left: "40px" }, - { offset: 1, computedOffset: 1, easing: "linear", left: "60px" }] }, - { desc: "a two property four Keyframe sequence", + { offset: 1, computedOffset: 1, easing: "linear", left: "50px" }, + { offset: 1, computedOffset: 1, easing: "linear", left: "60px" }] + }, + { desc: "a two property four keyframe sequence", input: [{ offset: 0, left: "10px" }, { offset: 0, top: "20px" }, { offset: 1, top: "30px" }, { offset: 1, left: "40px" }], - output: [{ offset: 0, computedOffset: 0, easing: "linear", left: "10px", top: "20px" }, - { offset: 1, computedOffset: 1, easing: "linear", left: "40px", top: "30px" }] }, - { desc: "a one property Keyframe sequence with some omitted offsets", + output: [{ offset: 0, computedOffset: 0, easing: "linear", left: "10px" }, + { offset: 0, computedOffset: 0, easing: "linear", top: "20px" }, + { offset: 1, computedOffset: 1, easing: "linear", top: "30px" }, + { offset: 1, computedOffset: 1, easing: "linear", left: "40px" }] + }, + { desc: "a one property keyframe sequence with some omitted offsets", input: [{ offset: 0.00, left: "10px" }, { offset: 0.25, left: "20px" }, { left: "30px" }, { left: "40px" }, { offset: 1.00, left: "50px" }], - output: [{ offset: 0.00, computedOffset: 0.00, easing: "linear", left: "10px" }, - { offset: 0.25, computedOffset: 0.25, easing: "linear", left: "20px" }, - { offset: 0.50, computedOffset: 0.50, easing: "linear", left: "30px" }, - { offset: 0.75, computedOffset: 0.75, easing: "linear", left: "40px" }, - { offset: 1.00, computedOffset: 1.00, easing: "linear", left: "50px" }] }, - { desc: "a two property Keyframe sequence with some omitted offsets", + output: [{ offset: 0.00, computedOffset: 0.00, easing: "linear", + left: "10px" }, + { offset: 0.25, computedOffset: 0.25, easing: "linear", + left: "20px" }, + { offset: null, computedOffset: 0.50, easing: "linear", + left: "30px" }, + { offset: null, computedOffset: 0.75, easing: "linear", + left: "40px" }, + { offset: 1.00, computedOffset: 1.00, easing: "linear", + left: "50px" }] }, + { desc: "a two property keyframe sequence with some omitted offsets", input: [{ offset: 0.00, left: "10px", top: "20px" }, { offset: 0.25, left: "30px" }, { left: "40px" }, { left: "50px", top: "60px" }, { offset: 1.00, left: "70px", top: "80px" }], - output: [{ offset: 0.00, computedOffset: 0.00, easing: "linear", left: "10px", top: "20px" }, - { offset: 0.25, computedOffset: 0.25, easing: "linear", left: "30px" }, - { offset: 0.50, computedOffset: 0.50, easing: "linear", left: "40px" }, - { offset: 0.75, computedOffset: 0.75, easing: "linear", left: "50px", top: "60px" }, - { offset: 1.00, computedOffset: 1.00, easing: "linear", left: "70px", top: "80px" }] }, - { desc: "a one property Keyframe sequence with all omitted offsets", + output: [{ offset: 0.00, computedOffset: 0.00, easing: "linear", + left: "10px", top: "20px" }, + { offset: 0.25, computedOffset: 0.25, easing: "linear", + left: "30px" }, + { offset: null, computedOffset: 0.50, easing: "linear", + left: "40px" }, + { offset: null, computedOffset: 0.75, easing: "linear", + left: "50px", top: "60px" }, + { offset: 1.00, computedOffset: 1.00, easing: "linear", + left: "70px", top: "80px" }] }, + { desc: "a one property keyframe sequence with all omitted offsets", input: [{ left: "10px" }, { left: "20px" }, { left: "30px" }, { left: "40px" }, { left: "50px" }], - output: [{ offset: 0.00, computedOffset: 0.00, easing: "linear", left: "10px" }, - { offset: 0.25, computedOffset: 0.25, easing: "linear", left: "20px" }, - { offset: 0.50, computedOffset: 0.50, easing: "linear", left: "30px" }, - { offset: 0.75, computedOffset: 0.75, easing: "linear", left: "40px" }, - { offset: 1.00, computedOffset: 1.00, easing: "linear", left: "50px" }] }, - { desc: "a Keyframe sequence with different easing values, but the same easing value for a given offset", + output: [{ offset: null, computedOffset: 0.00, easing: "linear", + left: "10px" }, + { offset: null, computedOffset: 0.25, easing: "linear", + left: "20px" }, + { offset: null, computedOffset: 0.50, easing: "linear", + left: "30px" }, + { offset: null, computedOffset: 0.75, easing: "linear", + left: "40px" }, + { offset: null, computedOffset: 1.00, easing: "linear", + left: "50px" }] }, + { desc: "a keyframe sequence with different easing values, but the same" + + " easing value for a given offset", input: [{ offset: 0.0, easing: "ease", left: "10px"}, { offset: 0.0, easing: "ease", top: "20px"}, { offset: 0.5, easing: "linear", left: "30px" }, @@ -375,62 +441,79 @@ var gKeyframeSequenceTests = [ { offset: 1.0, easing: "step-end", left: "50px" }, { offset: 1.0, easing: "step-end", top: "60px" }], output: [{ offset: 0.0, computedOffset: 0.0, easing: "ease", - left: "10px", top: "20px" }, + left: "10px" }, + { offset: 0.0, computedOffset: 0.0, easing: "ease", + top: "20px" }, { offset: 0.5, computedOffset: 0.5, easing: "linear", - left: "30px", top: "40px" }, - { offset: 1.0, computedOffset: 1.0, easing: "linear", - left: "50px", top: "60px" }] }, - { desc: "a Keyframe sequence with different composite values, but the same composite value for a given offset", + left: "30px" }, + { offset: 0.5, computedOffset: 0.5, easing: "linear", + top: "40px" }, + { offset: 1.0, computedOffset: 1.0, easing: "step-end", + left: "50px" }, + { offset: 1.0, computedOffset: 1.0, easing: "step-end", + top: "60px" }] }, + { desc: "a keyframe sequence with different composite values, but the" + + " same composite value for a given offset", input: [{ offset: 0.0, composite: "replace", left: "10px" }, { offset: 0.0, composite: "replace", top: "20px" }, { offset: 0.5, composite: "add", left: "30px" }, { offset: 0.5, composite: "add", top: "40px" }, { offset: 1.0, composite: "replace", left: "50px" }, { offset: 1.0, composite: "replace", top: "60px" }], - output: [{ offset: 0.0, computedOffset: 0.0, easing: "linear", composite: "replace", left: "10px", top: "20px" }, - { offset: 0.5, computedOffset: 0.5, easing: "linear", composite: "add", left: "30px", top: "40px" }, - { offset: 1.0, computedOffset: 1.0, easing: "linear", composite: "replace", left: "50px", top: "60px" }] }, - { desc: "a one property two Keyframe sequence that needs to stringify its values", + output: [{ offset: 0.0, computedOffset: 0.0, easing: "linear", + composite: "replace", left: "10px" }, + { offset: 0.0, computedOffset: 0.0, easing: "linear", + composite: "replace", top: "20px" }, + { offset: 0.5, computedOffset: 0.0, easing: "linear", + composite: "add", left: "30px" }, + { offset: 0.5, computedOffset: 0.0, easing: "linear", + composite: "add", top: "40px" }, + { offset: 1.0, computedOffset: 1.0, easing: "linear", + composite: "replace", left: "50px" }, + { offset: 1.0, computedOffset: 1.0, easing: "linear", + composite: "replace", top: "60px" }] }, + { desc: "a one property two keyframe sequence that needs to stringify" + + " its values", input: [{ offset: 0, opacity: 0 }, { offset: 1, opacity: 1 }], output: [{ offset: 0, computedOffset: 0, easing: "linear", opacity: "0" }, - { offset: 1, computedOffset: 1, easing: "linear", opacity: "1" }] }, - { desc: "a Keyframe sequence where shorthand precedes longhand", + { offset: 1, computedOffset: 1, easing: "linear", opacity: "1" }] + }, + { desc: "a keyframe sequence where shorthand precedes longhand", input: [{ offset: 0, margin: "10px", marginRight: "20px" }, { offset: 1, margin: "30px" }], - output: [{ offset: 0, computedOffset: 0, easing: "linear", marginBottom: "10px", marginLeft: "10px", marginRight: "20px", marginTop: "10px" }, - { offset: 1, computedOffset: 1, easing: "linear", marginBottom: "30px", marginLeft: "30px", marginRight: "30px", marginTop: "30px" }] }, - { desc: "a Keyframe sequence where longhand precedes shorthand", + output: [{ offset: 0, computedOffset: 0, easing: "linear", + margin: "10px", marginRight: "20px" }, + { offset: 1, computedOffset: 1, easing: "linear", + margin: "30px" }] }, + { desc: "a keyframe sequence where longhand precedes shorthand", input: [{ offset: 0, marginRight: "20px", margin: "10px" }, { offset: 1, margin: "30px" }], - output: [{ offset: 0, computedOffset: 0, easing: "linear", marginBottom: "10px", marginLeft: "10px", marginRight: "20px", marginTop: "10px" }, - { offset: 1, computedOffset: 1, easing: "linear", marginBottom: "30px", marginLeft: "30px", marginRight: "30px", marginTop: "30px" }] }, - { desc: "a Keyframe sequence where lesser shorthand precedes greater shorthand", - input: [{ offset: 0, borderLeft: "1px solid rgb(1, 2, 3)", border: "2px dotted rgb(4, 5, 6)" }, + output: [{ offset: 0, computedOffset: 0, easing: "linear", + marginRight: "20px", margin: "10px" }, + { offset: 1, computedOffset: 1, easing: "linear", + margin: "30px" }] }, + { desc: "a keyframe sequence where lesser shorthand precedes greater" + + " shorthand", + input: [{ offset: 0, + borderLeft: "1px solid rgb(1, 2, 3)", + border: "2px dotted rgb(4, 5, 6)" }, { offset: 1, border: "3px dashed rgb(7, 8, 9)" }], output: [{ offset: 0, computedOffset: 0, easing: "linear", - borderBottomColor: "rgb(4, 5, 6)", borderBottomWidth: "2px", - borderLeftColor: "rgb(1, 2, 3)", borderLeftWidth: "1px", - borderRightColor: "rgb(4, 5, 6)", borderRightWidth: "2px", - borderTopColor: "rgb(4, 5, 6)", borderTopWidth: "2px" }, + borderLeft: "1px solid rgb(1, 2, 3)", + border: "2px dotted rgb(4, 5, 6)" }, { offset: 1, computedOffset: 1, easing: "linear", - borderBottomColor: "rgb(7, 8, 9)", borderBottomWidth: "3px", - borderLeftColor: "rgb(7, 8, 9)", borderLeftWidth: "3px", - borderRightColor: "rgb(7, 8, 9)", borderRightWidth: "3px", - borderTopColor: "rgb(7, 8, 9)", borderTopWidth: "3px" }] }, - { desc: "a Keyframe sequence where greater shorthand precedes lesser shorthand", - input: [{ offset: 0, border: "2px dotted rgb(4, 5, 6)", borderLeft: "1px solid rgb(1, 2, 3)" }, + border: "3px dashed rgb(7, 8, 9)" }] }, + { desc: "a keyframe sequence where greater shorthand precedes lesser" + + " shorthand", + input: [{ offset: 0, border: "2px dotted rgb(4, 5, 6)", + borderLeft: "1px solid rgb(1, 2, 3)" }, { offset: 1, border: "3px dashed rgb(7, 8, 9)" }], output: [{ offset: 0, computedOffset: 0, easing: "linear", - borderBottomColor: "rgb(4, 5, 6)", borderBottomWidth: "2px", - borderLeftColor: "rgb(1, 2, 3)", borderLeftWidth: "1px", - borderRightColor: "rgb(4, 5, 6)", borderRightWidth: "2px", - borderTopColor: "rgb(4, 5, 6)", borderTopWidth: "2px" }, + border: "2px dotted rgb(4, 5, 6)", + borderLeft: "1px solid rgb(1, 2, 3)" }, { offset: 1, computedOffset: 1, easing: "linear", - borderBottomColor: "rgb(7, 8, 9)", borderBottomWidth: "3px", - borderLeftColor: "rgb(7, 8, 9)", borderLeftWidth: "3px", - borderRightColor: "rgb(7, 8, 9)", borderRightWidth: "3px", - borderTopColor: "rgb(7, 8, 9)", borderTopWidth: "3px" }] }, + border: "3px dashed rgb(7, 8, 9)" }] }, ]; gKeyframeSequenceTests.forEach(function(subtest) { @@ -467,7 +550,7 @@ gInvalidEasingInKeyframeSequenceTests.forEach(function(subtest) { assert_throws(new TypeError, function() { new KeyframeEffectReadOnly(target, subtest.input); }); - }, "Invalid easing [" + subtest.desc + "] in KeyframeSequence " + + }, "Invalid easing [" + subtest.desc + "] in keyframe sequence " + "should be thrown"); }); diff --git a/tests/wpt/web-platform-tests/web-animations/keyframe-effect/effect-easing.html b/tests/wpt/web-platform-tests/web-animations/keyframe-effect/effect-easing.html index 2ecd028ce9b..81e834e2e50 100644 --- a/tests/wpt/web-platform-tests/web-animations/keyframe-effect/effect-easing.html +++ b/tests/wpt/web-platform-tests/web-animations/keyframe-effect/effect-easing.html @@ -6,6 +6,7 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="../testcommon.js"></script> +<script src="../resources/effect-easing-tests.js"></script> <body> <div id="log"></div> <div id="target"></div> @@ -22,54 +23,6 @@ function assert_style_left_at(animation, time, easingFunction) { easingFunction(portion) * 100 + ' at ' + time + 'ms'); } -var gEffectEasingTests = [ - { - desc: 'steps(start) function', - easing: 'steps(2, start)', - easingFunction: stepStart(2) - }, - { - desc: 'steps(end) function', - easing: 'steps(2, end)', - easingFunction: stepEnd(2) - }, - { - desc: 'linear function', - easing: 'linear', // cubic-bezier(0, 0, 1.0, 1.0) - easingFunction: cubicBezier(0, 0, 1.0, 1.0) - }, - { - desc: 'ease function', - easing: 'ease', // cubic-bezier(0.25, 0.1, 0.25, 1.0) - easingFunction: cubicBezier(0.25, 0.1, 0.25, 1.0) - }, - { - desc: 'ease-in function', - easing: 'ease-in', // cubic-bezier(0.42, 0, 1.0, 1.0) - easingFunction: cubicBezier(0.42, 0, 1.0, 1.0) - }, - { - desc: 'ease-in-out function', - easing: 'ease-in-out', // cubic-bezier(0.42, 0, 0.58, 1.0) - easingFunction: cubicBezier(0.42, 0, 0.58, 1.0) - }, - { - desc: 'ease-out function', - easing: 'ease-out', // cubic-bezier(0, 0, 0.58, 1.0) - easingFunction: cubicBezier(0, 0, 0.58, 1.0) - }, - { - desc: 'easing function which produces values greater than 1', - easing: 'cubic-bezier(0, 1.5, 1, 1.5)', - easingFunction: cubicBezier(0, 1.5, 1, 1.5) - }, - { - desc: 'easing function which produces negative values', - easing: 'cubic-bezier(0, -0.5 ,1, -0.5)', - easingFunction: cubicBezier(0, -0.5, 1, -0.5) - }, -]; - gEffectEasingTests.forEach(function(options) { test(function(t) { var target = createDiv(t); @@ -694,7 +647,7 @@ var gStepTimingFunctionTests = [ { currentTime: 2500, progress: 0.5 }, ] } -] +]; gStepTimingFunctionTests.forEach(function(options) { test(function(t) { diff --git a/tests/wpt/web-platform-tests/web-animations/keyframe-effect/keyframe-handling.html b/tests/wpt/web-platform-tests/web-animations/keyframe-effect/keyframe-handling.html index 56f484aff7f..de9b7c7ec21 100644 --- a/tests/wpt/web-platform-tests/web-animations/keyframe-effect/keyframe-handling.html +++ b/tests/wpt/web-platform-tests/web-animations/keyframe-effect/keyframe-handling.html @@ -70,6 +70,46 @@ test(function(t) { }, 'Overlapping keyframes between 0 and 1 use the appropriate value on each' + ' side of the overlap point'); +test(function(t) { + var div = createDiv(t); + var anim = div.animate({ visibility: ['hidden','visible'] }, + { duration: 100 * MS_PER_SEC, fill: 'both' }); + + anim.currentTime = 0; + assert_equals(getComputedStyle(div).visibility, 'hidden', + 'Visibility when progress = 0.'); + + anim.currentTime = 10 * MS_PER_SEC + 1; + assert_equals(getComputedStyle(div).visibility, 'visible', + 'Visibility when progress > 0 due to linear easing.'); + + anim.finish(); + assert_equals(getComputedStyle(div).visibility, 'visible', + 'Visibility when progress = 1.'); + +}, "Test visibility clamping behavior."); + +test(function(t) { + var div = createDiv(t); + var anim = div.animate({ visibility: ['hidden', 'visible'] }, + { duration: 100 * MS_PER_SEC, fill: 'both', + easing: 'cubic-bezier(0.25, -0.6, 0, 0.5)' }); + + anim.currentTime = 0; + assert_equals(getComputedStyle(div).visibility, 'hidden', + 'Visibility when progress = 0.'); + + // Timing function is below zero. So we expected visibility is hidden. + anim.currentTime = 10 * MS_PER_SEC + 1; + assert_equals(getComputedStyle(div).visibility, 'hidden', + 'Visibility when progress < 0 due to cubic-bezier easing.'); + + anim.currentTime = 60 * MS_PER_SEC; + assert_equals(getComputedStyle(div).visibility, 'visible', + 'Visibility when progress > 0 due to cubic-bezier easing.'); + +}, "Test visibility clamping behavior with an easing that has a negative component"); + done(); </script> </body> diff --git a/tests/wpt/web-platform-tests/web-animations/resources/effect-easing-tests.js b/tests/wpt/web-platform-tests/web-animations/resources/effect-easing-tests.js new file mode 100644 index 00000000000..edce67ede44 --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/resources/effect-easing-tests.js @@ -0,0 +1,42 @@ +var gEffectEasingTests = [ + { + desc: 'steps(start) function', + easing: 'steps(2, start)', + easingFunction: stepStart(2) + }, + { + desc: 'steps(end) function', + easing: 'steps(2, end)', + easingFunction: stepEnd(2) + }, + { + desc: 'linear function', + easing: 'linear', // cubic-bezier(0, 0, 1.0, 1.0) + easingFunction: cubicBezier(0, 0, 1.0, 1.0) + }, + { + desc: 'ease function', + easing: 'ease', // cubic-bezier(0.25, 0.1, 0.25, 1.0) + easingFunction: cubicBezier(0.25, 0.1, 0.25, 1.0) + }, + { + desc: 'ease-in function', + easing: 'ease-in', // cubic-bezier(0.42, 0, 1.0, 1.0) + easingFunction: cubicBezier(0.42, 0, 1.0, 1.0) + }, + { + desc: 'ease-in-out function', + easing: 'ease-in-out', // cubic-bezier(0.42, 0, 0.58, 1.0) + easingFunction: cubicBezier(0.42, 0, 0.58, 1.0) + }, + { + desc: 'ease-out function', + easing: 'ease-out', // cubic-bezier(0, 0, 0.58, 1.0) + easingFunction: cubicBezier(0, 0, 0.58, 1.0) + }, + { + desc: 'easing function which produces values greater than 1', + easing: 'cubic-bezier(0, 1.5, 1, 1.5)', + easingFunction: cubicBezier(0, 1.5, 1, 1.5) + } +]; diff --git a/tests/wpt/web-platform-tests/websockets/constructor/018.html b/tests/wpt/web-platform-tests/websockets/constructor/018.html index 71359d0d093..4df953bf0be 100644 --- a/tests/wpt/web-platform-tests/websockets/constructor/018.html +++ b/tests/wpt/web-platform-tests/websockets/constructor/018.html @@ -6,9 +6,9 @@ <div id=log></div> <script> async_test(function(t) { - var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo-query?x\u0000'); + var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo-query?x\u0000y\u0000'); ws.onmessage = t.step_func(function(e) { - assert_equals(e.data, 'x%00'); + assert_equals(e.data, 'x%00y'); ws.close(); t.done(); }) |