diff options
55 files changed, 577 insertions, 317 deletions
diff --git a/README.md b/README.md index 1ed21d7975b..3c668bb4eaa 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ On Debian-based Linuxes: sudo apt-get install curl freeglut3-dev \ libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \ msttcorefonts gperf g++ cmake python-virtualenv \ - libssl-dev libbz2-dev + libssl-dev libbz2-dev libosmesa6-dev ``` On Fedora: diff --git a/components/devtools/protocol.rs b/components/devtools/protocol.rs index be27eed2ec1..df9078c7bf1 100644 --- a/components/devtools/protocol.rs +++ b/components/devtools/protocol.rs @@ -2,7 +2,9 @@ * 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/. */ -/// Low-level wire protocol implementation. Currently only supports [JSON packets](https://wiki.mozilla.org/Remote_Debugging_Protocol_Stream_Transport#JSON_Packets). +//! Low-level wire protocol implementation. Currently only supports +//! [JSON packets] +//! (https://wiki.mozilla.org/Remote_Debugging_Protocol_Stream_Transport#JSON_Packets). use serialize::{json, Encodable}; use serialize::json::Json; diff --git a/components/gfx/text/glyph.rs b/components/gfx/text/glyph.rs index a991f147bed..06e16c04a79 100644 --- a/components/gfx/text/glyph.rs +++ b/components/gfx/text/glyph.rs @@ -8,6 +8,7 @@ use servo_util::range::{Range, RangeIndex, EachIndex}; use servo_util::geometry::Au; use std::cmp::PartialOrd; +use std::iter::repeat; use std::num::NumCast; use std::mem; use std::u16; @@ -526,7 +527,8 @@ impl<'a> GlyphStore { assert!(length > 0); GlyphStore { - entry_buffer: Vec::from_elem(length as uint, GlyphEntry::initial()), + entry_buffer: repeat(GlyphEntry::initial()).take(length as uint) + .collect(), detail_store: DetailedGlyphStore::new(), is_whitespace: is_whitespace, } diff --git a/components/gfx/text/shaping/harfbuzz.rs b/components/gfx/text/shaping/harfbuzz.rs index cc328ca4f8c..fb5d83b6457 100644 --- a/components/gfx/text/shaping/harfbuzz.rs +++ b/components/gfx/text/shaping/harfbuzz.rs @@ -43,6 +43,7 @@ use libc::{c_uint, c_int, c_void, c_char}; use servo_util::geometry::Au; use servo_util::range::Range; use std::char; +use std::iter::repeat; use std::mem; use std::cmp; use std::ptr; @@ -295,9 +296,10 @@ impl Shaper { // fast path: all chars are single-byte. if byte_max == char_max { - byte_to_glyph = Vec::from_elem(byte_max as uint, NO_GLYPH); + byte_to_glyph = repeat(NO_GLYPH).take(byte_max as uint).collect(); } else { - byte_to_glyph = Vec::from_elem(byte_max as uint, CONTINUATION_BYTE); + byte_to_glyph = repeat(CONTINUATION_BYTE).take(byte_max as uint) + .collect(); for (i, _) in text.char_indices() { byte_to_glyph[i] = NO_GLYPH; } diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs index 54725d122b0..2e4ae665ea9 100644 --- a/components/layout/display_list_builder.rs +++ b/components/layout/display_list_builder.rs @@ -44,6 +44,7 @@ use servo_util::geometry::{mod, Au, to_px}; use servo_util::logical_geometry::{LogicalPoint, LogicalRect, LogicalSize}; use servo_util::opts; use std::default::Default; +use std::iter::repeat; use std::num::FloatMath; use style::computed::{AngleOrCorner, LengthOrPercentage, HorizontalDirection, VerticalDirection}; use style::computed::{Image, LinearGradient}; @@ -881,7 +882,7 @@ impl FragmentDisplayListBuilding for Fragment { renderer.deref().lock().send(SendPixelContents(sender)); receiver.recv() }, - None => Vec::from_elem(width * height * 4, 0xFFu8) + None => repeat(0xFFu8).take(width * height * 4).collect(), }; let canvas_display_item = box ImageDisplayItem { diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index 521b000dfcf..8bad0a288b6 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -1256,11 +1256,24 @@ impl Fragment { pub fn find_split_info_by_new_line(&self) -> Option<(SplitInfo, Option<SplitInfo>, Arc<Box<TextRun>> /* TODO(bjz): remove */)> { match self.specific { - SpecificFragmentInfo::Canvas(_) | SpecificFragmentInfo::Generic | SpecificFragmentInfo::Iframe(_) | SpecificFragmentInfo::Image(_) | SpecificFragmentInfo::Table | SpecificFragmentInfo::TableCell | - SpecificFragmentInfo::TableRow | SpecificFragmentInfo::TableWrapper => None, - SpecificFragmentInfo::TableColumn(_) => panic!("Table column fragments do not need to split"), - SpecificFragmentInfo::UnscannedText(_) => panic!("Unscanned text fragments should have been scanned by now!"), - SpecificFragmentInfo::InlineBlock(_) | SpecificFragmentInfo::InlineAbsoluteHypothetical(_) => { + SpecificFragmentInfo::Canvas(_) | + SpecificFragmentInfo::Generic | + SpecificFragmentInfo::Iframe(_) | + SpecificFragmentInfo::Image(_) | + SpecificFragmentInfo::Table | + SpecificFragmentInfo::TableCell | + SpecificFragmentInfo::TableRow | + SpecificFragmentInfo::TableWrapper => { + None + } + SpecificFragmentInfo::TableColumn(_) => { + panic!("Table column fragments do not need to split") + } + SpecificFragmentInfo::UnscannedText(_) => { + panic!("Unscanned text fragments should have been scanned by now!") + } + SpecificFragmentInfo::InlineBlock(_) | + SpecificFragmentInfo::InlineAbsoluteHypothetical(_) => { panic!("Inline blocks or inline absolute hypothetical fragments do not get split") } SpecificFragmentInfo::ScannedText(ref text_fragment_info) => { diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 1cc9c2dc9e8..3d28cf2bdc9 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -4584,11 +4584,12 @@ class CGBindingRoot(CGThing): 'page::JSPageInfo', 'libc', 'servo_util::str::DOMString', - 'std::mem', 'std::cmp', + 'std::iter::repeat', + 'std::mem', + 'std::num', 'std::ptr', 'std::str', - 'std::num', ]) # Add the auto-generated comment. @@ -4885,7 +4886,7 @@ class CallbackMember(CGNativeMember): if self.argCount > 0: replacements["argCount"] = self.argCountStr replacements["argvDecl"] = string.Template( - "let mut argv = Vec::from_elem(${argCount}, UndefinedValue());\n" + "let mut argv = repeat(UndefinedValue()).take(${argCount}).collect::<Vec<_>>();\n" ).substitute(replacements) else: # Avoid weird 0-sized arrays diff --git a/components/script/dom/cssstyledeclaration.rs b/components/script/dom/cssstyledeclaration.rs index 7ddf5260283..b95df387901 100644 --- a/components/script/dom/cssstyledeclaration.rs +++ b/components/script/dom/cssstyledeclaration.rs @@ -342,93 +342,5 @@ impl<'a> CSSStyleDeclarationMethods for JSRef<'a, CSSStyleDeclaration> { rval } - css_properties!( - [Color, SetColor, "color"], - [Background, SetBackground, "background"], - [BackgroundColor, SetBackgroundColor, "background-color"], - [BackgroundPosition, SetBackgroundPosition, "background-position"], - [BackgroundImage, SetBackgroundImage, "background-image"], - [BackgroundRepeat, SetBackgroundRepeat, "background-repeat"], - [BackgroundAttachment, SetBackgroundAttachment, "background-attachment"], - [Border, SetBorder, "border"], - [BorderColor, SetBorderColor, "border-color"], - [BorderRadius, SetBorderRadius, "border-radius"], - [BorderStyle, SetBorderStyle, "border-style"], - [BorderWidth, SetBorderWidth, "border-width"], - [BorderBottom, SetBorderBottom, "border-bottom"], - [BorderBottomColor, SetBorderBottomColor, "border-bottom-color"], - [BorderBottomStyle, SetBorderBottomStyle, "border-bottom-style"], - [BorderBottomWidth, SetBorderBottomWidth, "border-bottom-width"], - [BorderLeft, SetBorderLeft, "border-left"], - [BorderLeftColor, SetBorderLeftColor, "border-left-color"], - [BorderLeftStyle, SetBorderLeftStyle, "border-left-style"], - [BorderLeftWidth, SetBorderLeftWidth, "border-left-width"], - [BorderRight, SetBorderRight, "border-right"], - [BorderRightColor, SetBorderRightColor, "border-right-color"], - [BorderRightStyle, SetBorderRightStyle, "border-right-style"], - [BorderRightWidth, SetBorderRightWidth, "border-right-width"], - [BorderTop, SetBorderTop, "border-top"], - [BorderTopColor, SetBorderTopColor, "border-top-color"], - [BorderTopStyle, SetBorderTopStyle, "border-top-style"], - [BorderTopWidth, SetBorderTopWidth, "border-top-width"], - [Content, SetContent, "content"], - [Display, SetDisplay, "display"], - [Opacity, SetOpacity, "opacity"], - [Width, SetWidth, "width"], - [MinWidth, SetMinWidth, "min-width"], - [MaxWidth, SetMaxWidth, "max-width"], - [Height, SetHeight, "height"], - [MinHeight, SetMinHeight, "min-height"], - [MaxHeight, SetMaxHeight, "max-height"], - [Clear, SetClear, "clear"], - [Direction, SetDirection, "direction"], - [LineHeight, SetLineHeight, "line-height"], - [VerticalAlign, SetVerticalAlign, "vertical-align"], - [ListStyle, SetListStyle, "list-style"], - [ListStylePosition, SetListStylePosition, "list-style-position"], - [ListStyleType, SetListStyleType, "list-style-type"], - [ListStyleImage, SetListStyleImage, "list-style-image"], - [Visibility, SetVisibility, "visibility"], - [Cursor, SetCursor, "cursor"], - [BoxShadow, SetBoxShadow, "box-shadow"], - [BoxSizing, SetBoxSizing, "box-sizing"], - [Overflow, SetOverflow, "overflow"], - [OverflowWrap, SetOverflowWrap, "overflow-wrap"], - [TableLayout, SetTableLayout, "table-layout"], - [EmptyCells, SetEmptyCells, "empty-cells"], - [CaptionSide, SetCaptionSide, "caption-side"], - [WhiteSpace, SetWhiteSpace, "white-space"], - [WritingMode, SetWritingMode, "writing-mode"], - [LetterSpacing, SetLetterSpacing, "letter-spacing"], - [WordSpacing, SetWordSpacing, "word-spacing"], - [WordWrap, SetWordWrap, "word-wrap"], - [TextAlign, SetTextAlign, "text-align"], - [TextDecoration, SetTextDecoration, "text-decoration"], - [TextIndent, SetTextIndent, "text-indent"], - [TextOrientation, SetTextOrientation, "text-orientation"], - [TextTransform, SetTextTransform, "text-transform"], - [Font, SetFont, "font"], - [FontFamily, SetFontFamily, "font-family"], - [FontSize, SetFontSize, "font-size"], - [FontStyle, SetFontStyle, "font-style"], - [FontVariant, SetFontVariant, "font-variant"], - [FontWeight, SetFontWeight, "font-weight"], - [Margin, SetMargin, "margin"], - [MarginBottom, SetMarginBottom, "margin-bottom"], - [MarginLeft, SetMarginLeft, "margin-left"], - [MarginRight, SetMarginRight, "margin-right"], - [MarginTop, SetMarginTop, "margin-top"], - [Padding, SetPadding, "padding"], - [PaddingBottom, SetPaddingBottom, "padding-bottom"], - [PaddingLeft, SetPaddingLeft, "padding-left"], - [PaddingRight, SetPaddingRight, "padding-right"], - [PaddingTop, SetPaddingTop, "padding-top"], - [Outline, SetOutline, "outline"], - [Position, SetPosition, "position"], - [Bottom, SetBottom, "bottom"], - [Left, SetLeft, "left"], - [Right, SetRight, "right"], - [Top, SetTop, "top"], - [ZIndex, SetZIndex, "z-index"] - ) + css_properties_accessors!(css_properties) } diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 14f48f5f3b6..0735e19299f 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -111,7 +111,9 @@ impl Element { create_element(name, prefix, document, creator) } - pub fn new_inherited(type_id: ElementTypeId, local_name: DOMString, namespace: Namespace, prefix: Option<DOMString>, document: JSRef<Document>) -> Element { + pub fn new_inherited(type_id: ElementTypeId, local_name: DOMString, + namespace: Namespace, prefix: Option<DOMString>, + document: JSRef<Document>) -> Element { Element { node: Node::new_inherited(NodeTypeId::Element(type_id), document), local_name: Atom::from_slice(local_name.as_slice()), diff --git a/components/script/dom/webidls/CSSStyleDeclaration.webidl b/components/script/dom/webidls/CSSStyleDeclaration.webidl index 7f37e44cbbe..afe511b7e1f 100644 --- a/components/script/dom/webidls/CSSStyleDeclaration.webidl +++ b/components/script/dom/webidls/CSSStyleDeclaration.webidl @@ -46,6 +46,8 @@ partial interface CSSStyleDeclaration { [TreatNullAs=EmptyString] attribute DOMString borderWidth; [TreatNullAs=EmptyString] attribute DOMString borderBottom; [TreatNullAs=EmptyString] attribute DOMString borderBottomColor; + [TreatNullAs=EmptyString] attribute DOMString borderBottomLeftRadius; + [TreatNullAs=EmptyString] attribute DOMString borderBottomRightRadius; [TreatNullAs=EmptyString] attribute DOMString borderBottomStyle; [TreatNullAs=EmptyString] attribute DOMString borderBottomWidth; [TreatNullAs=EmptyString] attribute DOMString borderLeft; @@ -58,6 +60,8 @@ partial interface CSSStyleDeclaration { [TreatNullAs=EmptyString] attribute DOMString borderRightWidth; [TreatNullAs=EmptyString] attribute DOMString borderTop; [TreatNullAs=EmptyString] attribute DOMString borderTopColor; + [TreatNullAs=EmptyString] attribute DOMString borderTopLeftRadius; + [TreatNullAs=EmptyString] attribute DOMString borderTopRightRadius; [TreatNullAs=EmptyString] attribute DOMString borderTopStyle; [TreatNullAs=EmptyString] attribute DOMString borderTopWidth; @@ -80,10 +84,16 @@ partial interface CSSStyleDeclaration { [TreatNullAs=EmptyString] attribute DOMString clear; + [TreatNullAs=EmptyString] attribute DOMString clip; + [TreatNullAs=EmptyString] attribute DOMString direction; + [TreatNullAs=EmptyString] attribute DOMString filter; + [TreatNullAs=EmptyString] attribute DOMString lineHeight; + [TreatNullAs=EmptyString] attribute DOMString mixBlendMode; + [TreatNullAs=EmptyString] attribute DOMString verticalAlign; [TreatNullAs=EmptyString] attribute DOMString listStyle; @@ -103,6 +113,7 @@ partial interface CSSStyleDeclaration { [TreatNullAs=EmptyString] attribute DOMString writingMode; [TreatNullAs=EmptyString] attribute DOMString letterSpacing; + [TreatNullAs=EmptyString] attribute DOMString wordBreak; [TreatNullAs=EmptyString] attribute DOMString wordSpacing; [TreatNullAs=EmptyString] attribute DOMString wordWrap; @@ -110,6 +121,7 @@ partial interface CSSStyleDeclaration { [TreatNullAs=EmptyString] attribute DOMString textDecoration; [TreatNullAs=EmptyString] attribute DOMString textIndent; [TreatNullAs=EmptyString] attribute DOMString textOrientation; + [TreatNullAs=EmptyString] attribute DOMString textRendering; [TreatNullAs=EmptyString] attribute DOMString textTransform; [TreatNullAs=EmptyString] attribute DOMString font; @@ -132,9 +144,15 @@ partial interface CSSStyleDeclaration { [TreatNullAs=EmptyString] attribute DOMString paddingTop; [TreatNullAs=EmptyString] attribute DOMString outline; + [TreatNullAs=EmptyString] attribute DOMString outlineColor; + [TreatNullAs=EmptyString] attribute DOMString outlineStyle; + [TreatNullAs=EmptyString] attribute DOMString outlineWidth; + [TreatNullAs=EmptyString] attribute DOMString outlineOffset; [TreatNullAs=EmptyString] attribute DOMString position; + [TreatNullAs=EmptyString] attribute DOMString pointerEvents; + [TreatNullAs=EmptyString] attribute DOMString top; [TreatNullAs=EmptyString] attribute DOMString right; [TreatNullAs=EmptyString] attribute DOMString left; diff --git a/components/script/lib.rs b/components/script/lib.rs index 7593a3b68a3..a3c528df29c 100644 --- a/components/script/lib.rs +++ b/components/script/lib.rs @@ -35,6 +35,7 @@ extern crate script_traits; extern crate "plugins" as servo_plugins; extern crate "net" as servo_net; extern crate "util" as servo_util; +#[phase(plugin, link)] extern crate style; extern crate "msg" as servo_msg; extern crate url; diff --git a/components/servo/Cargo.toml b/components/servo/Cargo.toml index 52bdb2b6f31..f42178bb90f 100644 --- a/components/servo/Cargo.toml +++ b/components/servo/Cargo.toml @@ -27,8 +27,8 @@ path = "../../tests/contenttest.rs" harness = false [features] -default = ["glfw_app"] -glutin = ["glutin_app"] +default = ["glutin_app"] +glfw = ["glfw_app"] [dependencies.compositing] path = "../compositing" diff --git a/components/servo/main.rs b/components/servo/main.rs index 235b455ab32..81723d64b04 100644 --- a/components/servo/main.rs +++ b/components/servo/main.rs @@ -14,9 +14,9 @@ extern crate servo; extern crate time; extern crate "util" as servo_util; -#[cfg(all(feature = "glutin",not(test)))] +#[cfg(all(feature = "glutin_app",not(test)))] extern crate "glutin_app" as app; -#[cfg(all(feature = "glfw_app",not(test)))] +#[cfg(all(feature = "glfw",not(test)))] extern crate "glfw_app" as app; #[cfg(not(test))] diff --git a/components/style/properties/mod.rs.mako b/components/style/properties/mod.rs.mako index 29f4c17b8a8..5f800fd07e3 100644 --- a/components/style/properties/mod.rs.mako +++ b/components/style/properties/mod.rs.mako @@ -39,14 +39,14 @@ def to_rust_ident(name): name += "_" return name +def to_camel_case(ident): + return re.sub("_([a-z])", lambda m: m.group(1).upper(), ident.strip("_").capitalize()) + class Longhand(object): def __init__(self, name, derived_from=None, experimental=False): self.name = name self.ident = to_rust_ident(name) - self.camel_case, _ = re.subn( - "_([a-z])", - lambda m: m.group(1).upper(), - self.ident.strip("_").capitalize()) + self.camel_case = to_camel_case(self.ident) self.style_struct = THIS_STYLE_STRUCT self.experimental = experimental if derived_from is None: @@ -58,6 +58,8 @@ class Shorthand(object): def __init__(self, name, sub_properties): self.name = name self.ident = to_rust_ident(name) + self.camel_case = to_camel_case(self.ident) + self.derived_from = None self.sub_properties = [LONGHANDS_BY_NAME[s] for s in sub_properties] class StyleStruct(object): @@ -3358,16 +3360,32 @@ pub fn make_inline(style: &ComputedValues) -> ComputedValues { pub fn is_supported_property(property: &str) -> bool { match property { - % for property in SHORTHANDS: - "${property.name}" => true, - % endfor - % for property in LONGHANDS: + % for property in SHORTHANDS + LONGHANDS: "${property.name}" => true, % endfor _ => false, } } +#[macro_export] +macro_rules! css_properties_accessors( + ($macro: ident) => ( + $macro!( + % for property in SHORTHANDS + LONGHANDS: + ## Servo internal CSS properties are not accessible. + ## FIXME: Add BinaryName WebIDL annotation (#4435). + % if property.derived_from is None and property.name != "float": + % if property != LONGHANDS[-1]: + [${property.camel_case}, Set${property.camel_case}, "${property.name}"], + % else: + [${property.camel_case}, Set${property.camel_case}, "${property.name}"] + % endif + % endif + % endfor + ) + ) +) + pub fn longhands_from_shorthand(shorthand: &str) -> Option<Vec<String>> { match shorthand { % for property in SHORTHANDS: diff --git a/components/util/cache.rs b/components/util/cache.rs index 03bd649f777..35390d309bf 100644 --- a/components/util/cache.rs +++ b/components/util/cache.rs @@ -6,6 +6,7 @@ use std::collections::HashMap; use std::collections::hash_map::{Occupied, Vacant}; use rand::Rng; use std::hash::{Hash, sip}; +use std::iter::repeat; use std::rand::task_rng; use std::slice::Items; @@ -148,7 +149,7 @@ impl<K:Clone+PartialEq+Hash,V:Clone> SimpleHashCache<K,V> { pub fn new(cache_size: uint) -> SimpleHashCache<K,V> { let mut r = task_rng(); SimpleHashCache { - entries: Vec::from_elem(cache_size, None), + entries: repeat(None).take(cache_size).collect(), k0: r.gen(), k1: r.gen(), } diff --git a/components/util/smallvec.rs b/components/util/smallvec.rs index 60e22f25a70..e92d3d3eeba 100644 --- a/components/util/smallvec.rs +++ b/components/util/smallvec.rs @@ -531,7 +531,10 @@ pub mod tests { let mut v = SmallVec16::new(); v.push("hello".into_string()); v.push("there".into_string()); - assert_eq!(v.as_slice(), vec!["hello".into_string(), "there".into_string()].as_slice()); + assert_eq!(v.as_slice(), vec![ + "hello".into_string(), + "there".into_string(), + ].as_slice()); } #[test] @@ -541,7 +544,12 @@ pub mod tests { v.push("there".into_string()); v.push("burma".into_string()); v.push("shave".into_string()); - assert_eq!(v.as_slice(), vec!["hello".into_string(), "there".into_string(), "burma".into_string(), "shave".into_string()].as_slice()); + assert_eq!(v.as_slice(), vec![ + "hello".into_string(), + "there".into_string(), + "burma".into_string(), + "shave".into_string(), + ].as_slice()); } #[test] @@ -556,7 +564,14 @@ pub mod tests { v.push("burma".into_string()); v.push("shave".into_string()); assert_eq!(v.as_slice(), vec![ - "hello".into_string(), "there".into_string(), "burma".into_string(), "shave".into_string(), "hello".into_string(), "there".into_string(), "burma".into_string(), "shave".into_string(), + "hello".into_string(), + "there".into_string(), + "burma".into_string(), + "shave".into_string(), + "hello".into_string(), + "there".into_string(), + "burma".into_string(), + "shave".into_string(), ].as_slice()); } } diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index 56759acaba8..bbcb25348c0 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -9,8 +9,7 @@ dependencies = [ "devtools 0.0.1", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "gfx 0.0.1", - "glfw 0.0.1 (git+https://github.com/servo/glfw-rs?ref=servo)", - "glfw_app 0.0.1", + "glutin_app 0.0.1", "js 0.1.0 (git+https://github.com/servo/rust-mozjs)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", "msg 0.0.1", @@ -25,6 +24,14 @@ dependencies = [ ] [[package]] +name = "android_glue" +version = "0.0.1" +source = "git+https://github.com/servo/android-rs-glue?ref=servo#122bc28545b5e59a923c466a484c403fa691bd55" +dependencies = [ + "compile_msg 0.1.3 (git+https://github.com/huonw/compile_msg)", +] + +[[package]] name = "azure" version = "0.1.0" source = "git+https://github.com/servo/rust-azure#d0acabef6221e5fd6840254dc23f91c66b874629" @@ -62,6 +69,11 @@ version = "0.1.1" source = "git+https://github.com/servo/rust-cocoa#bf53a53ce306279fc1cae0d56fdd5e7216696420" [[package]] +name = "compile_msg" +version = "0.1.3" +source = "git+https://github.com/huonw/compile_msg#b19da50cacf5b11bbc065da6b449f6b4fe7c019a" + +[[package]] name = "compositing" version = "0.0.1" dependencies = [ @@ -328,6 +340,34 @@ dependencies = [ ] [[package]] +name = "glutin" +version = "0.0.2" +source = "git+https://github.com/servo/glutin?ref=servo#db27370a1cbafcbfcaeee52a44076a61b3e0573c" +dependencies = [ + "android_glue 0.0.1 (git+https://github.com/servo/android-rs-glue?ref=servo)", + "cocoa 0.1.1 (git+https://github.com/servo/rust-cocoa)", + "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", + "gl_common 0.0.1 (git+https://github.com/bjz/gl-rs.git)", + "gl_generator 0.0.1 (git+https://github.com/bjz/gl-rs.git)", + "winapi 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "glutin_app" +version = "0.0.1" +dependencies = [ + "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", + "compositing 0.0.1", + "geom 0.1.0 (git+https://github.com/servo/rust-geom)", + "gleam 0.0.1 (git+https://github.com/servo/gleam)", + "glutin 0.0.2 (git+https://github.com/servo/glutin?ref=servo)", + "layers 0.1.0 (git+https://github.com/servo/rust-layers)", + "msg 0.0.1", + "time 0.1.0 (git+https://github.com/rust-lang/time)", + "util 0.0.1", +] + +[[package]] name = "glx" version = "0.0.1" source = "git+https://github.com/servo/rust-glx#7126ffa09fcfcc9f85f1406f3b5db729f5fdb7c3" @@ -727,6 +767,11 @@ version = "0.1.1" source = "git+https://github.com/rust-lang/uuid#fc793c974a25c126c5cf5daa3b18973512a7a6a0" [[package]] +name = "winapi" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] name = "xlib" version = "0.1.0" source = "git+https://github.com/servo/rust-xlib#58ec3847b592aeabdcfeb6a2d02033d3a2c7f427" diff --git a/ports/cef/Cargo.toml b/ports/cef/Cargo.toml index 817ba629c94..87d6c7c141e 100644 --- a/ports/cef/Cargo.toml +++ b/ports/cef/Cargo.toml @@ -11,8 +11,8 @@ crate-type = ["dylib"] [dependencies.servo] path = "../../components/servo" -[dependencies.glfw_app] -path = "../glfw" +[dependencies.glutin_app] +path = "../glutin" [dependencies.plugins] path = "../../components/plugins" @@ -44,10 +44,6 @@ git = "https://github.com/servo/rust-azure" [dependencies.geom] git = "https://github.com/servo/rust-geom" -[dependencies.glfw] -git = "https://github.com/servo/glfw-rs" -branch = "servo" - [dependencies.js] git = "https://github.com/servo/rust-mozjs" diff --git a/ports/cef/browser.rs b/ports/cef/browser.rs index 2092f4cf824..968d6a320db 100644 --- a/ports/cef/browser.rs +++ b/ports/cef/browser.rs @@ -13,16 +13,18 @@ use types::{cef_browser_settings_t, cef_string_t, cef_window_info_t}; use window; use compositing::windowing::{WindowNavigateMsg, WindowEvent}; -use glfw_app; +use glutin_app; use libc::c_int; use servo_util::opts; use std::cell::{Cell, RefCell}; +use std::sync::atomic::{AtomicInt, SeqCst}; +thread_local!(pub static ID_COUNTER: AtomicInt = AtomicInt::new(0)) thread_local!(pub static BROWSERS: RefCell<Vec<CefBrowser>> = RefCell::new(vec!())) pub enum ServoBrowser { Invalid, - OnScreen(Browser<glfw_app::window::Window>), + OnScreen(Browser<glutin_app::window::Window>), OffScreen(Browser<window::Window>), } @@ -83,6 +85,7 @@ pub struct ServoCefBrowser { /// Whether the on-created callback has fired yet. pub callback_executed: Cell<bool>, + id: int, servo_browser: RefCell<ServoBrowser>, message_queue: RefCell<Vec<WindowEvent>>, } @@ -93,13 +96,17 @@ impl ServoCefBrowser { let host = ServoCefBrowserHost::new(client.clone()).as_cef_interface(); let servo_browser = if window_info.windowless_rendering_enabled == 0 { - let glfw_window = glfw_app::create_window(); - let servo_browser = Browser::new(Some(glfw_window.clone())); + let glutin_window = glutin_app::create_window(); + let servo_browser = Browser::new(Some(glutin_window.clone())); ServoBrowser::OnScreen(servo_browser) } else { ServoBrowser::Invalid }; + let id = ID_COUNTER.with(|counter| { + counter.fetch_add(1, SeqCst) + }); + ServoCefBrowser { frame: frame, host: host, @@ -107,6 +114,7 @@ impl ServoCefBrowser { callback_executed: Cell::new(false), servo_browser: RefCell::new(servo_browser), message_queue: RefCell::new(vec!()), + id: id, } } } @@ -170,6 +178,15 @@ pub fn update() { }); } +pub fn close(browser: CefBrowser) { + BROWSERS.with(|browsers| { + let mut browsers = browsers.borrow_mut(); + browsers.iter() + .position(|&ref n| n.downcast().id == browser.downcast().id) + .map(|e| browsers.remove(e)); + }); +} + pub fn browser_callback_after_created(browser: CefBrowser) { if browser.downcast().client.is_null_cef_object() { return diff --git a/ports/cef/browser_host.rs b/ports/cef/browser_host.rs index 7bfd0581ec7..8ed741eb05f 100644 --- a/ports/cef/browser_host.rs +++ b/ports/cef/browser_host.rs @@ -6,7 +6,7 @@ use eutil::Downcast; use interfaces::{CefBrowser, CefBrowserHost, CefClient, cef_browser_host_t, cef_client_t}; use types::{cef_mouse_button_type_t, cef_mouse_event, cef_rect_t, cef_key_event}; use types::cef_key_event_type_t::{KEYEVENT_CHAR, KEYEVENT_KEYDOWN, KEYEVENT_KEYUP, KEYEVENT_RAWKEYDOWN}; -use browser::ServoCefBrowserExtensions; +use browser::{mod, ServoCefBrowserExtensions}; use compositing::windowing::{WindowEvent, MouseWindowEvent}; use geom::point::TypedPoint2D; @@ -37,8 +37,8 @@ cef_class_impl! { this.downcast().send_window_event(WindowEvent::Resize(size)); } - fn close_browser(&_this, _force: c_int) -> () { - // TODO: Clean shutdown. + fn close_browser(&this, _force: c_int) -> () { + browser::close(this.downcast().browser.borrow_mut().take().unwrap()); } fn send_focus_event(&this, focus: c_int) -> () { diff --git a/ports/cef/lib.rs b/ports/cef/lib.rs index 3fac5abb456..669f8239686 100644 --- a/ports/cef/lib.rs +++ b/ports/cef/lib.rs @@ -20,8 +20,7 @@ extern crate azure; extern crate geom; extern crate gfx; extern crate gleam; -extern crate glfw; -extern crate glfw_app; +extern crate glutin_app; extern crate js; extern crate layers; extern crate png; diff --git a/ports/glutin/window.rs b/ports/glutin/window.rs index 4180b6223ee..52d404f7e87 100644 --- a/ports/glutin/window.rs +++ b/ports/glutin/window.rs @@ -377,12 +377,85 @@ fn glutin_mods_to_script_mods(modifiers: KeyModifiers) -> constellation_msg::Key fn glutin_key_to_script_key(key: glutin::VirtualKeyCode) -> Result<constellation_msg::Key, ()> { // TODO(negge): add more key mappings match key { + VirtualKeyCode::A => Ok(Key::A), + VirtualKeyCode::B => Ok(Key::B), + VirtualKeyCode::C => Ok(Key::C), + VirtualKeyCode::D => Ok(Key::D), + VirtualKeyCode::E => Ok(Key::E), + VirtualKeyCode::F => Ok(Key::F), + VirtualKeyCode::G => Ok(Key::G), + VirtualKeyCode::H => Ok(Key::H), + VirtualKeyCode::I => Ok(Key::I), + VirtualKeyCode::J => Ok(Key::J), + VirtualKeyCode::K => Ok(Key::K), + VirtualKeyCode::L => Ok(Key::L), + VirtualKeyCode::M => Ok(Key::M), + VirtualKeyCode::N => Ok(Key::N), + VirtualKeyCode::O => Ok(Key::O), + VirtualKeyCode::P => Ok(Key::P), + VirtualKeyCode::Q => Ok(Key::Q), + VirtualKeyCode::R => Ok(Key::R), + VirtualKeyCode::S => Ok(Key::S), + VirtualKeyCode::T => Ok(Key::T), + VirtualKeyCode::U => Ok(Key::U), + VirtualKeyCode::V => Ok(Key::V), + VirtualKeyCode::W => Ok(Key::W), + VirtualKeyCode::X => Ok(Key::X), + VirtualKeyCode::Y => Ok(Key::Y), + VirtualKeyCode::Z => Ok(Key::Z), + + VirtualKeyCode::Numpad0 => Ok(Key::Num0), + VirtualKeyCode::Numpad1 => Ok(Key::Num1), + VirtualKeyCode::Numpad2 => Ok(Key::Num2), + VirtualKeyCode::Numpad3 => Ok(Key::Num3), + VirtualKeyCode::Numpad4 => Ok(Key::Num4), + VirtualKeyCode::Numpad5 => Ok(Key::Num5), + VirtualKeyCode::Numpad6 => Ok(Key::Num6), + VirtualKeyCode::Numpad7 => Ok(Key::Num7), + VirtualKeyCode::Numpad8 => Ok(Key::Num8), + VirtualKeyCode::Numpad9 => Ok(Key::Num9), + + VirtualKeyCode::Key0 => Ok(Key::Kp0), + VirtualKeyCode::Key1 => Ok(Key::Kp1), + VirtualKeyCode::Key2 => Ok(Key::Kp2), + VirtualKeyCode::Key3 => Ok(Key::Kp3), + VirtualKeyCode::Key4 => Ok(Key::Kp4), + VirtualKeyCode::Key5 => Ok(Key::Kp5), + VirtualKeyCode::Key6 => Ok(Key::Kp6), + VirtualKeyCode::Key7 => Ok(Key::Kp7), + VirtualKeyCode::Key8 => Ok(Key::Kp8), + VirtualKeyCode::Key9 => Ok(Key::Kp9), + + VirtualKeyCode::Return => Ok(Key::Enter), + VirtualKeyCode::Space => Ok(Key::Space), VirtualKeyCode::Escape => Ok(Key::Escape), VirtualKeyCode::Equals => Ok(Key::Equal), VirtualKeyCode::Minus => Ok(Key::Minus), VirtualKeyCode::Back => Ok(Key::Backspace), VirtualKeyCode::PageDown => Ok(Key::PageDown), VirtualKeyCode::PageUp => Ok(Key::PageUp), + + VirtualKeyCode::Insert => Ok(Key::Insert), + VirtualKeyCode::Home => Ok(Key::Home), + VirtualKeyCode::Delete => Ok(Key::Delete), + VirtualKeyCode::End => Ok(Key::End), + + VirtualKeyCode::Left => Ok(Key::Left), + VirtualKeyCode::Up => Ok(Key::Up), + VirtualKeyCode::Right => Ok(Key::Right), + VirtualKeyCode::Down => Ok(Key::Down), + + VirtualKeyCode::Apostrophe => Ok(Key::Apostrophe), + VirtualKeyCode::Backslash => Ok(Key::Backslash), + VirtualKeyCode::Comma => Ok(Key::Comma), + VirtualKeyCode::Grave => Ok(Key::GraveAccent), + VirtualKeyCode::LBracket => Ok(Key::LeftBracket), + VirtualKeyCode::Period => Ok(Key::Period), + VirtualKeyCode::RBracket => Ok(Key::RightBracket), + VirtualKeyCode::Semicolon => Ok(Key::Semicolon), + VirtualKeyCode::Slash => Ok(Key::Slash), + VirtualKeyCode::Tab => Ok(Key::Tab), + _ => Err(()), } } diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index aafaa815af1..78d9fb51318 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -64,10 +64,7 @@ class MachCommands(CommandBase): with cd(path.join(apk_builder_dir, "apk-builder")): subprocess.call(["cargo", "build"], env=self.build_env()) - # FIXME: This can be simplified when glutin becomes the default - # and glfw has been removed. - opts += ["--target", "arm-linux-androideabi", "--no-default-features"] - features += ["glutin"] + opts += ["--target", "arm-linux-androideabi"] if debug_mozjs or self.config["build"]["debug-mozjs"]: features += ["script/debugmozjs"] diff --git a/python/tidy.py b/python/tidy.py index da930eea333..fc282aaa464 100644 --- a/python/tidy.py +++ b/python/tidy.py @@ -56,6 +56,13 @@ def check_license(contents): yield (1, "incorrect license") +def check_length(contents): + lines = contents.splitlines(True) + for idx, line in enumerate(lines): + if len(line) >= 160: + yield (idx + 1, "(much) overlong line") + + def check_whitespace(contents): lines = contents.splitlines(True) for idx, line in enumerate(lines): @@ -88,7 +95,7 @@ def scan(): all_files = collect_file_names(directories_to_check) files_to_check = filter(should_check, all_files) - checking_functions = [check_license, check_whitespace] + checking_functions = [check_license, check_length, check_whitespace] errors = collect_errors_for_files(files_to_check, checking_functions) errors = list(errors) diff --git a/tests/reftest.rs b/tests/reftest.rs index 92c84b28b55..6c483d6d02a 100644 --- a/tests/reftest.rs +++ b/tests/reftest.rs @@ -276,6 +276,9 @@ fn capture(reftest: &Reftest, side: uint) -> (u32, u32, Vec<u8>) { if reftest.experimental { command.arg("--experimental"); } + if cfg!(target_os = "linux") { + command.args(["-r", "mesa"].as_slice()); + } let retval = match command.status() { Ok(status) => status, Err(e) => panic!("failed to execute process: {}", e), diff --git a/tests/wpt/metadata/FileAPI/Blob-XHR-revoke.html.ini b/tests/wpt/metadata/FileAPI/blob/Blob-XHR-revoke.html.ini index 7f8f06ca7c2..7f8f06ca7c2 100644 --- a/tests/wpt/metadata/FileAPI/Blob-XHR-revoke.html.ini +++ b/tests/wpt/metadata/FileAPI/blob/Blob-XHR-revoke.html.ini diff --git a/tests/wpt/metadata/FileAPI/Blob-close.html.ini b/tests/wpt/metadata/FileAPI/blob/Blob-close.html.ini index 644f864f518..644f864f518 100644 --- a/tests/wpt/metadata/FileAPI/Blob-close.html.ini +++ b/tests/wpt/metadata/FileAPI/blob/Blob-close.html.ini diff --git a/tests/wpt/metadata/FileAPI/Blob-constructor.html.ini b/tests/wpt/metadata/FileAPI/blob/Blob-constructor.html.ini index e5cda64d3f1..e5cda64d3f1 100644 --- a/tests/wpt/metadata/FileAPI/Blob-constructor.html.ini +++ b/tests/wpt/metadata/FileAPI/blob/Blob-constructor.html.ini diff --git a/tests/wpt/metadata/FileAPI/Blob-slice.html.ini b/tests/wpt/metadata/FileAPI/blob/Blob-slice.html.ini index be561b7f1c8..be561b7f1c8 100644 --- a/tests/wpt/metadata/FileAPI/Blob-slice.html.ini +++ b/tests/wpt/metadata/FileAPI/blob/Blob-slice.html.ini diff --git a/tests/wpt/metadata/FileAPI/File-constructor.html.ini b/tests/wpt/metadata/FileAPI/file/File-constructor.html.ini index 88e2fe94e2f..88e2fe94e2f 100644 --- a/tests/wpt/metadata/FileAPI/File-constructor.html.ini +++ b/tests/wpt/metadata/FileAPI/file/File-constructor.html.ini diff --git a/tests/wpt/metadata/FileAPI/fileReader.html.ini b/tests/wpt/metadata/FileAPI/fileReader.html.ini new file mode 100644 index 00000000000..25d07b53ff4 --- /dev/null +++ b/tests/wpt/metadata/FileAPI/fileReader.html.ini @@ -0,0 +1,14 @@ +[fileReader.html] + type: testharness + [FileReader interface object] + expected: FAIL + + [no-argument FileReader constructor] + expected: FAIL + + [FileReader States -- abort] + expected: FAIL + + [FileReader States -- events] + expected: FAIL + diff --git a/tests/wpt/metadata/FileAPI/FileReader/Determining-Encoding.html.ini b/tests/wpt/metadata/FileAPI/reading-data-section/Determining-Encoding.html.ini index 6ef475882e0..6ef475882e0 100644 --- a/tests/wpt/metadata/FileAPI/FileReader/Determining-Encoding.html.ini +++ b/tests/wpt/metadata/FileAPI/reading-data-section/Determining-Encoding.html.ini diff --git a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_abort.html.ini b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_abort.html.ini index c990f495548..c990f495548 100644 --- a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_abort.html.ini +++ b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_abort.html.ini diff --git a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_error.html.ini b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_error.html.ini index a843aa01083..a843aa01083 100644 --- a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_error.html.ini +++ b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_error.html.ini diff --git a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_readAsArrayBuffer.html.ini b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_readAsArrayBuffer.html.ini index ee637898bde..ee637898bde 100644 --- a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_readAsArrayBuffer.html.ini +++ b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_readAsArrayBuffer.html.ini diff --git a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_readAsDataURL.html.ini b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_readAsDataURL.html.ini index 6be64beab23..6be64beab23 100644 --- a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_readAsDataURL.html.ini +++ b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_readAsDataURL.html.ini diff --git a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_readAsText.html.ini b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_readAsText.html.ini index 6039faa8814..6039faa8814 100644 --- a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_readAsText.html.ini +++ b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_readAsText.html.ini diff --git a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_readystate.html.ini b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_readystate.html.ini index 00ba8d810dc..00ba8d810dc 100644 --- a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_readystate.html.ini +++ b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_readystate.html.ini diff --git a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_result.html.ini b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_result.html.ini index e24133d48d3..e24133d48d3 100644 --- a/tests/wpt/metadata/FileAPI/FileReader-interface/filereader_result.html.ini +++ b/tests/wpt/metadata/FileAPI/reading-data-section/filereader_result.html.ini diff --git a/tests/wpt/metadata/FileAPI/url/url_createobjecturl_blob.html.ini b/tests/wpt/metadata/FileAPI/url/url_createobjecturl_blob.html.ini new file mode 100644 index 00000000000..a144ae0abd3 --- /dev/null +++ b/tests/wpt/metadata/FileAPI/url/url_createobjecturl_blob.html.ini @@ -0,0 +1,8 @@ +[url_createobjecturl_blob.html] + type: testharness + [Check if the Blob URI starts with \'blob\' using createObjectURL()] + expected: FAIL + + [Check if the Blob URI starts with \'blob\' using createFor()] + expected: FAIL + diff --git a/tests/wpt/metadata/FileAPI/url/url_xmlhttprequest.html.ini b/tests/wpt/metadata/FileAPI/url/url_xmlhttprequest.html.ini new file mode 100644 index 00000000000..8a6122281e3 --- /dev/null +++ b/tests/wpt/metadata/FileAPI/url/url_xmlhttprequest.html.ini @@ -0,0 +1,5 @@ +[url_xmlhttprequest.html] + type: testharness + [FileAPI Test: Creating Blob URL via XMLHttpRequest] + expected: FAIL + diff --git a/tests/wpt/metadata/FileAPI/url/url_xmlhttprequest_img.html.ini b/tests/wpt/metadata/FileAPI/url/url_xmlhttprequest_img.html.ini new file mode 100644 index 00000000000..08c0d4d0d67 --- /dev/null +++ b/tests/wpt/metadata/FileAPI/url/url_xmlhttprequest_img.html.ini @@ -0,0 +1,5 @@ +[url_xmlhttprequest_img.html] + type: reftest + reftype: == + refurl: /FileAPI/url/url_xmlhttprequest_img-ref.html + expected: FAIL diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 0b336c020d7..36246ab3417 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -482,7 +482,13 @@ "url": "/DOMEvents/tests/submissions/Microsoft/support/style01.css" }, { - "url": "/FileAPI/FileReader-interface/support/blue-100x100.png" + "url": "/FileAPI/BlobURL/support/file_test1.js" + }, + { + "url": "/FileAPI/BlobURL/support/file_test2.txt" + }, + { + "url": "/FileAPI/FileReader/support/file_test1.txt" }, { "url": "/FileAPI/filelist-section/support/upload.txt" @@ -491,12 +497,18 @@ "url": "/FileAPI/filelist-section/support/upload.zip" }, { + "url": "/FileAPI/reading-data-section/support/blue-100x100.png" + }, + { "url": "/FileAPI/support/Blob.js" }, { "url": "/FileAPI/support/upload.txt" }, { + "url": "/FileAPI/url/url_xmlhttprequest_img-ref.html" + }, + { "url": "/IndexedDB/README.md" }, { @@ -509,328 +521,334 @@ "url": "/WebCryptoAPI/README.md" }, { - "url": "/WebIDL/testable_assertions.txt" + "url": "/WebIDL/invalid/idl/enum.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/invalid/idl/enum.widl" + "url": "/WebIDL/invalid/idl/module.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/invalid/idl/module.widl" + "url": "/WebIDL/invalid/idl/nonnullableany.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/invalid/idl/nonnullableany.widl" + "url": "/WebIDL/invalid/idl/nonnullableobjects.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/invalid/idl/nonnullableobjects.widl" + "url": "/WebIDL/invalid/idl/raises.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/invalid/idl/raises.widl" + "url": "/WebIDL/invalid/idl/scopedname.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/invalid/idl/scopedname.widl" + "url": "/WebIDL/invalid/idl/scopedname.widl~" }, { - "url": "/WebIDL/tests/submissions/W3C/invalid/idl/sequenceAsAttribute.widl" + "url": "/WebIDL/invalid/idl/sequenceAsAttribute.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/invalid/idl/special-omittable.widl" + "url": "/WebIDL/invalid/idl/special-omittable.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/invalid/idl/stringconstants.idl" + "url": "/WebIDL/invalid/idl/stringconstants.idl" }, { - "url": "/WebIDL/tests/submissions/W3C/readme.txt" + "url": "/WebIDL/readme.txt" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/allowany.widl" + "url": "/WebIDL/testable_assertions.txt" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/array.widl" + "url": "/WebIDL/valid/idl/allowany.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/attributes.widl" + "url": "/WebIDL/valid/idl/array.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/callback.widl" + "url": "/WebIDL/valid/idl/attributes.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/caller.widl" + "url": "/WebIDL/valid/idl/callback.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/constants.widl" + "url": "/WebIDL/valid/idl/caller.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/constructor.widl" + "url": "/WebIDL/valid/idl/constants.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/dictionary-inherits.widl" + "url": "/WebIDL/valid/idl/constructor.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/dictionary.widl" + "url": "/WebIDL/valid/idl/dictionary-inherits.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/documentation-dos.widl" + "url": "/WebIDL/valid/idl/dictionary.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/documentation.widl" + "url": "/WebIDL/valid/idl/documentation-dos.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/enum.widl" + "url": "/WebIDL/valid/idl/documentation.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/equivalent-decl.widl" + "url": "/WebIDL/valid/idl/enum.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/exception-inheritance.widl" + "url": "/WebIDL/valid/idl/equivalent-decl.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/exception.widl" + "url": "/WebIDL/valid/idl/exception-inheritance.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/getter-setter.widl" + "url": "/WebIDL/valid/idl/exception.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/identifier-qualified-names.widl" + "url": "/WebIDL/valid/idl/getter-setter.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/implements.widl" + "url": "/WebIDL/valid/idl/identifier-qualified-names.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/indexed-properties.widl" + "url": "/WebIDL/valid/idl/implements.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/inherits-getter.widl" + "url": "/WebIDL/valid/idl/indexed-properties.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/interface-inherits.widl" + "url": "/WebIDL/valid/idl/inherits-getter.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/iterator.widl" + "url": "/WebIDL/valid/idl/interface-inherits.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/namedconstructor.widl" + "url": "/WebIDL/valid/idl/iterator.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/nointerfaceobject.widl" + "url": "/WebIDL/valid/idl/namedconstructor.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/nullable.widl" + "url": "/WebIDL/valid/idl/nointerfaceobject.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/nullableobjects.widl" + "url": "/WebIDL/valid/idl/nullable.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/operation-optional-arg.widl" + "url": "/WebIDL/valid/idl/nullableobjects.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/overloading.widl" + "url": "/WebIDL/valid/idl/operation-optional-arg.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/overridebuiltins.widl" + "url": "/WebIDL/valid/idl/overloading.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/partial-interface.widl" + "url": "/WebIDL/valid/idl/overridebuiltins.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/primitives.widl" + "url": "/WebIDL/valid/idl/partial-interface.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/prototyperoot.widl" + "url": "/WebIDL/valid/idl/primitives.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/putforwards.widl" + "url": "/WebIDL/valid/idl/prototyperoot.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/reg-operations.widl" + "url": "/WebIDL/valid/idl/putforwards.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/replaceable.widl" + "url": "/WebIDL/valid/idl/reg-operations.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/sequence.widl" + "url": "/WebIDL/valid/idl/replaceable.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/serializer.widl" + "url": "/WebIDL/valid/idl/sequence.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/static.widl" + "url": "/WebIDL/valid/idl/serializer.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/stringifier-attribute.widl" + "url": "/WebIDL/valid/idl/static.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/stringifier-custom.widl" + "url": "/WebIDL/valid/idl/stringifier-attribute.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/stringifier.widl" + "url": "/WebIDL/valid/idl/stringifier-custom.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/treatasnull.widl" + "url": "/WebIDL/valid/idl/stringifier.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/treatasundefined.widl" + "url": "/WebIDL/valid/idl/treatasnull.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/typedef.widl" + "url": "/WebIDL/valid/idl/treatasundefined.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/typesuffixes.widl" + "url": "/WebIDL/valid/idl/typedef.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/uniontype.widl" + "url": "/WebIDL/valid/idl/typesuffixes.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/idl/variadic-operations.widl" + "url": "/WebIDL/valid/idl/uniontype.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/allowany.widlprocxml" + "url": "/WebIDL/valid/idl/variadic-operations.widl" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/array.widlprocxml" + "url": "/WebIDL/valid/xml/allowany.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/attributes.widlprocxml" + "url": "/WebIDL/valid/xml/array.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/callback.widlprocxml" + "url": "/WebIDL/valid/xml/attributes.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/caller.widlprocxml" + "url": "/WebIDL/valid/xml/callback.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/constants.widlprocxml" + "url": "/WebIDL/valid/xml/caller.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/constructor.widlprocxml" + "url": "/WebIDL/valid/xml/constants.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/dictionary-inherits.widlprocxml" + "url": "/WebIDL/valid/xml/constructor.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/dictionary.widlprocxml" + "url": "/WebIDL/valid/xml/dictionary-inherits.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/documentation-dos.widlprocxml" + "url": "/WebIDL/valid/xml/dictionary.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/documentation.widlprocxml" + "url": "/WebIDL/valid/xml/documentation-dos.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/enum.widlprocxml" + "url": "/WebIDL/valid/xml/documentation.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/equivalent-decl.widlprocxml" + "url": "/WebIDL/valid/xml/enum.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/exception-inheritance.widlprocxml" + "url": "/WebIDL/valid/xml/equivalent-decl.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/exception.widlprocxml" + "url": "/WebIDL/valid/xml/exception-inheritance.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/getter-setter.widlprocxml" + "url": "/WebIDL/valid/xml/exception.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/identifier-qualified-names.widlprocxml" + "url": "/WebIDL/valid/xml/getter-setter.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/implements.widlprocxml" + "url": "/WebIDL/valid/xml/identifier-qualified-names.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/indexed-properties.widlprocxml" + "url": "/WebIDL/valid/xml/implements.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/inherits-getter.widlprocxml" + "url": "/WebIDL/valid/xml/indexed-properties.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/interface-inherits.widlprocxml" + "url": "/WebIDL/valid/xml/inherits-getter.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/iterator.widlprocxml" + "url": "/WebIDL/valid/xml/interface-inherits.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/module.widlprocxml" + "url": "/WebIDL/valid/xml/iterator.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/namedconstructor.widlprocxml" + "url": "/WebIDL/valid/xml/module.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/namespaceobject.widlprocxml" + "url": "/WebIDL/valid/xml/namedconstructor.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/nointerfaceobject.widlprocxml" + "url": "/WebIDL/valid/xml/namespaceobject.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/nullable.widlprocxml" + "url": "/WebIDL/valid/xml/nointerfaceobject.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/nullableobjects.widlprocxml" + "url": "/WebIDL/valid/xml/nullable.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/operation-optional-arg.widlprocxml" + "url": "/WebIDL/valid/xml/nullableobjects.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/overloading.widlprocxml" + "url": "/WebIDL/valid/xml/operation-optional-arg.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/overridebuiltins.widlprocxml" + "url": "/WebIDL/valid/xml/overloading.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/partial-interface.widlprocxml" + "url": "/WebIDL/valid/xml/overridebuiltins.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/primitives.widlprocxml" + "url": "/WebIDL/valid/xml/partial-interface.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/prototyperoot.widlprocxml" + "url": "/WebIDL/valid/xml/primitives.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/putforwards.widlprocxml" + "url": "/WebIDL/valid/xml/prototyperoot.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/reg-operations.widlprocxml" + "url": "/WebIDL/valid/xml/putforwards.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/replaceable.widlprocxml" + "url": "/WebIDL/valid/xml/reg-operations.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/sequence.widlprocxml" + "url": "/WebIDL/valid/xml/replaceable.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/serializer.widlprocxml" + "url": "/WebIDL/valid/xml/sequence.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/special-omittable.widlprocxml" + "url": "/WebIDL/valid/xml/serializer.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/static.widlprocxml" + "url": "/WebIDL/valid/xml/special-omittable.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/stringifier-attribute.widlprocxml" + "url": "/WebIDL/valid/xml/static.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/stringifier-custom.widlprocxml" + "url": "/WebIDL/valid/xml/stringifier-attribute.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/stringifier.widlprocxml" + "url": "/WebIDL/valid/xml/stringifier-custom.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/treatasnull.widlprocxml" + "url": "/WebIDL/valid/xml/stringifier.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/treatasundefined.widlprocxml" + "url": "/WebIDL/valid/xml/treatasnull.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/typedef.widlprocxml" + "url": "/WebIDL/valid/xml/treatasundefined.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/typesuffixes.widlprocxml" + "url": "/WebIDL/valid/xml/typedef.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/uniontype.widlprocxml" + "url": "/WebIDL/valid/xml/typesuffixes.widlprocxml" }, { - "url": "/WebIDL/tests/submissions/W3C/valid/xml/variadic-operations.widlprocxml" + "url": "/WebIDL/valid/xml/uniontype.widlprocxml" + }, + { + "url": "/WebIDL/valid/xml/variadic-operations.widlprocxml" + }, + { + "url": "/XMLHttpRequest/XMLHttpRequest-withCredentials.js" }, { "url": "/XMLHttpRequest/folder.txt" @@ -1349,6 +1367,9 @@ "url": "/dom/nodes/Document-createProcessingInstruction.js" }, { + "url": "/dom/nodes/Element-matches.js" + }, + { "url": "/dom/nodes/Node-contains.xml" }, { @@ -2498,6 +2519,9 @@ "url": "/images/blue.png" }, { + "url": "/images/blue96x96.png" + }, + { "url": "/images/broken.png" }, { @@ -2906,13 +2930,7 @@ "url": "/resource-timing/test_resource_timing.js" }, { - "url": "/selectors-api/tests/submissions/Opera/Element-matches.js" - }, - { - "url": "/selectors-api/tests/submissions/Opera/ParentNode-find-findAll.js" - }, - { - "url": "/selectors-api/tests/submissions/Opera/level2-lib.js" + "url": "/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.js" }, { "url": "/service-workers/specgen.json" @@ -3089,6 +3107,9 @@ "url": "/webmessaging/README.md" }, { + "url": "/webmessaging/support/compare.js" + }, + { "url": "/webmessaging/without-ports/025-1.js" }, { @@ -4331,12 +4352,6 @@ "url": "/workers/support/WorkerText.txt" }, { - "url": "/workers/support/XMLHttpRequest.js" - }, - { - "url": "/workers/support/XMLHttpRequest.txt" - }, - { "url": "/workers/workers.js" } ], @@ -4369,10 +4384,16 @@ "url": "/2dcontext/shadows/2d.shadow.blur.low-manual.html" }, { - "url": "/FileAPI/FileReader-interface/filereader_file-manual.html" + "url": "/FileAPI/BlobURL/test1-manual.html" + }, + { + "url": "/FileAPI/BlobURL/test2-manual.html" + }, + { + "url": "/FileAPI/BlobURL/test3-manual.html" }, { - "url": "/FileAPI/FileReader-interface/filereader_file_img-manual.html" + "url": "/FileAPI/FileReader/test_errors-manual.html" }, { "url": "/FileAPI/filelist-section/filelist_multiple_selected_files-manual.html" @@ -4384,6 +4405,18 @@ "url": "/FileAPI/idlharness-manual.html" }, { + "url": "/FileAPI/reading-data-section/filereader_file-manual.html" + }, + { + "url": "/FileAPI/reading-data-section/filereader_file_img-manual.html" + }, + { + "url": "/FileAPI/url/url_createobjecturl_file-manual.html" + }, + { + "url": "/FileAPI/url/url_createobjecturl_file_img-manual.html" + }, + { "url": "/XMLHttpRequest/send-authentication-existing-session-manual.htm" }, { @@ -5156,6 +5189,11 @@ }, { "ref_type": "==", + "ref_url": "/FileAPI/url/url_xmlhttprequest_img-ref.html", + "url": "/FileAPI/url/url_xmlhttprequest_img.html" + }, + { + "ref_type": "==", "ref_url": "/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-custom-tag-ref.html", "url": "/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-custom-tag.html" }, @@ -9386,55 +9424,64 @@ "url": "/DOMEvents/throwing-in-listener-when-all-have-not-run-yet.html" }, { - "url": "/FileAPI/Blob-XHR-revoke.html" + "url": "/FileAPI/FileReaderSync.worker" }, { - "url": "/FileAPI/Blob-close.html" + "url": "/FileAPI/blob/Blob-XHR-revoke.html" }, { - "url": "/FileAPI/Blob-constructor.html" + "url": "/FileAPI/blob/Blob-close.html" }, { - "url": "/FileAPI/Blob-slice.html" + "url": "/FileAPI/blob/Blob-constructor.html" }, { - "url": "/FileAPI/File-constructor.html" + "url": "/FileAPI/blob/Blob-slice.html" }, { - "url": "/FileAPI/FileReader-interface/filereader_abort.html" + "url": "/FileAPI/file/File-constructor.html" }, { - "url": "/FileAPI/FileReader-interface/filereader_error.html" + "url": "/FileAPI/fileReader.html" }, { - "url": "/FileAPI/FileReader-interface/filereader_readAsArrayBuffer.html" + "url": "/FileAPI/filelist-section/filelist.html" }, { - "url": "/FileAPI/FileReader-interface/filereader_readAsDataURL.html" + "url": "/FileAPI/historical.html" }, { - "url": "/FileAPI/FileReader-interface/filereader_readAsText.html" + "url": "/FileAPI/idlharness.html" }, { - "url": "/FileAPI/FileReader-interface/filereader_readystate.html" + "url": "/FileAPI/reading-data-section/Determining-Encoding.html" }, { - "url": "/FileAPI/FileReader-interface/filereader_result.html" + "url": "/FileAPI/reading-data-section/filereader_abort.html" }, { - "url": "/FileAPI/FileReader/Determining-Encoding.html" + "url": "/FileAPI/reading-data-section/filereader_error.html" }, { - "url": "/FileAPI/FileReaderSync.worker" + "url": "/FileAPI/reading-data-section/filereader_readAsArrayBuffer.html" }, { - "url": "/FileAPI/filelist-section/filelist.html" + "url": "/FileAPI/reading-data-section/filereader_readAsDataURL.html" }, { - "url": "/FileAPI/historical.html" + "url": "/FileAPI/reading-data-section/filereader_readAsText.html" }, { - "url": "/FileAPI/idlharness.html" + "url": "/FileAPI/reading-data-section/filereader_readystate.html" + }, + { + "url": "/FileAPI/reading-data-section/filereader_result.html" + }, + { + "url": "/FileAPI/url/url_createobjecturl_blob.html" + }, + { + "url": "/FileAPI/url/url_xmlhttprequest.html" }, { "url": "/IndexedDB/abort-in-initial-upgradeneeded.html" @@ -10175,6 +10222,12 @@ "url": "/XMLHttpRequest/FormData-append.html" }, { + "url": "/XMLHttpRequest/XMLHttpRequest-withCredentials.html" + }, + { + "url": "/XMLHttpRequest/XMLHttpRequest-withCredentials.worker" + }, + { "url": "/XMLHttpRequest/abort-after-receive.htm" }, { @@ -10634,12 +10687,6 @@ "url": "/XMLHttpRequest/timeout-sync.htm" }, { - "url": "/XMLHttpRequest/withcredentials-set.htm" - }, - { - "url": "/XMLHttpRequest/withcredentials-wrong-state.htm" - }, - { "url": "/XMLHttpRequest/xmlhttprequest-basic.htm" }, { @@ -11318,6 +11365,9 @@ "url": "/dom/nodes/Element-lastElementChild.xhtml" }, { + "url": "/dom/nodes/Element-matches.html" + }, + { "url": "/dom/nodes/Element-nextElementSibling.html" }, { @@ -13607,6 +13657,9 @@ "url": "/html/semantics/forms/attributes-common-to-form-controls/dirname-ltr.html" }, { + "url": "/html/semantics/forms/attributes-common-to-form-controls/disabled-elements-01.html" + }, + { "url": "/html/semantics/forms/attributes-common-to-form-controls/formAction_document_address.html" }, { @@ -14399,12 +14452,21 @@ "url": "/js/builtins/Math.min.html" }, { + "url": "/js/builtins/Object.prototype.freeze.html" + }, + { "url": "/js/builtins/Object.prototype.hasOwnProperty-order.html" }, { "url": "/js/builtins/Object.prototype.hasOwnProperty-prototype-chain.html" }, { + "url": "/js/builtins/Object.prototype.preventExtensions.html" + }, + { + "url": "/js/builtins/Object.prototype.seal.html" + }, + { "url": "/js/builtins/WeakMap.prototype-properties.html" }, { @@ -15281,10 +15343,7 @@ "url": "/resource-timing/test_resource_timing.html" }, { - "url": "/selectors-api/tests/submissions/Opera/Element-matches.html" - }, - { - "url": "/selectors-api/tests/submissions/Opera/ParentNode-find-findAll.html" + "url": "/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.html" }, { "url": "/selectors/attribute-selectors/attribute-case/cssom.html" @@ -16877,9 +16936,6 @@ "url": "/workers/WorkerGlobalScope_EventTarget.htm" }, { - "url": "/workers/WorkerGlobalScope_XMLHttpRequest.htm" - }, - { "url": "/workers/WorkerGlobalScope_addEventListener.htm" }, { @@ -17081,7 +17137,7 @@ "url": "/workers/interfaces.worker" }, { - "url": "/workers/interfaces/DedicatedWorkerGlobalScope/onmessage.html" + "url": "/workers/interfaces/DedicatedWorkerGlobalScope/onmessage.worker" }, { "url": "/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/event-ports-dedicated.html" @@ -17093,7 +17149,7 @@ "url": "/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/message-event.html" }, { - "url": "/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/return-value.html" + "url": "/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/return-value.worker" }, { "url": "/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/second-argument-null-in-array.html" @@ -17831,6 +17887,10 @@ }, { "timeout": "long", + "url": "/websockets/extended-payload-length.html" + }, + { + "timeout": "long", "url": "/websockets/interfaces/WebSocket/bufferedAmount/bufferedAmount-large.html" }, { @@ -17916,6 +17976,6 @@ "deleted": [], "items": {} }, - "rev": "34eea70476fb2a9e5f5b3cfc6e3dbad441790056", + "rev": "68c7ce132cc91eab73bad13c69225d79fe97a3ec", "url_base": "/" }
\ No newline at end of file diff --git a/tests/wpt/metadata/XMLHttpRequest/XMLHttpRequest-withCredentials.html.ini b/tests/wpt/metadata/XMLHttpRequest/XMLHttpRequest-withCredentials.html.ini new file mode 100644 index 00000000000..3c608dca283 --- /dev/null +++ b/tests/wpt/metadata/XMLHttpRequest/XMLHttpRequest-withCredentials.html.ini @@ -0,0 +1,8 @@ +[XMLHttpRequest-withCredentials.html] + type: testharness + [setting on synchronous XHR] + expected: FAIL + + [setting withCredentials when not in UNSENT, OPENED state] + expected: FAIL + diff --git a/tests/wpt/metadata/XMLHttpRequest/XMLHttpRequest-withCredentials.worker.ini b/tests/wpt/metadata/XMLHttpRequest/XMLHttpRequest-withCredentials.worker.ini new file mode 100644 index 00000000000..46e66dde6ba --- /dev/null +++ b/tests/wpt/metadata/XMLHttpRequest/XMLHttpRequest-withCredentials.worker.ini @@ -0,0 +1,5 @@ +[XMLHttpRequest-withCredentials.worker] + type: testharness + [setting withCredentials when not in UNSENT, OPENED state] + expected: FAIL + diff --git a/tests/wpt/metadata/XMLHttpRequest/withcredentials-wrong-state.htm.ini b/tests/wpt/metadata/XMLHttpRequest/withcredentials-wrong-state.htm.ini deleted file mode 100644 index 7bc82fd3c83..00000000000 --- a/tests/wpt/metadata/XMLHttpRequest/withcredentials-wrong-state.htm.ini +++ /dev/null @@ -1,5 +0,0 @@ -[withcredentials-wrong-state.htm] - type: testharness - [XMLHttpRequest: setting withCredentials when not in UNSENT, OPENED state] - expected: FAIL - diff --git a/tests/wpt/metadata/dom/nodes/Element-closest.html.ini b/tests/wpt/metadata/dom/nodes/Element-closest.html.ini index ea5ab2754ae..22e0b1a7bfb 100644 --- a/tests/wpt/metadata/dom/nodes/Element-closest.html.ini +++ b/tests/wpt/metadata/dom/nodes/Element-closest.html.ini @@ -1,6 +1,5 @@ [Element-closest.html] type: testharness - [Element.closest with context node \'test10\' and selector \':empty\'] expected: FAIL diff --git a/tests/wpt/metadata/dom/nodes/Element-matches.html.ini b/tests/wpt/metadata/dom/nodes/Element-matches.html.ini new file mode 100644 index 00000000000..6fe7f798375 --- /dev/null +++ b/tests/wpt/metadata/dom/nodes/Element-matches.html.ini @@ -0,0 +1,3 @@ +[Element-matches.html] + type: testharness + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/windows/browsing-context-names/browsing-context-choose-parent.html.ini b/tests/wpt/metadata/html/browsers/windows/browsing-context-names/browsing-context-choose-parent.html.ini index c4ab842bd2a..feea11f6ac3 100644 --- a/tests/wpt/metadata/html/browsers/windows/browsing-context-names/browsing-context-choose-parent.html.ini +++ b/tests/wpt/metadata/html/browsers/windows/browsing-context-names/browsing-context-choose-parent.html.ini @@ -1,6 +1,3 @@ [browsing-context-choose-parent.html] type: testharness expected: TIMEOUT - [The parent browsing context must be chosen if the given name is \'_parent\'] - expected: NOTRUN - diff --git a/tests/wpt/metadata/html/semantics/forms/attributes-common-to-form-controls/disabled-elements-01.html.ini b/tests/wpt/metadata/html/semantics/forms/attributes-common-to-form-controls/disabled-elements-01.html.ini new file mode 100644 index 00000000000..f6dc2dd8a54 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/forms/attributes-common-to-form-controls/disabled-elements-01.html.ini @@ -0,0 +1,38 @@ +[disabled-elements-01.html] + type: testharness + [Test [button\]: default behaviour is NOT disabled] + expected: FAIL + + [Test [button\]: verify disabled acts as boolean attribute] + expected: FAIL + + [Test [button\]: dispatched click event should succeed and queued prevented] + expected: FAIL + + [Test [input\]: default behaviour is NOT disabled] + expected: FAIL + + [Test [input\]: verify disabled acts as boolean attribute] + expected: FAIL + + [Test [input\]: dispatched click event should succeed and queued prevented] + expected: FAIL + + [Test [select\]: default behaviour is NOT disabled] + expected: FAIL + + [Test [select\]: verify disabled acts as boolean attribute] + expected: FAIL + + [Test [select\]: dispatched click event should succeed and queued prevented] + expected: FAIL + + [Test [textarea\]: default behaviour is NOT disabled] + expected: FAIL + + [Test [textarea\]: verify disabled acts as boolean attribute] + expected: FAIL + + [Test [textarea\]: dispatched click event should succeed and queued prevented] + expected: FAIL + diff --git a/tests/wpt/metadata/old-tests/submission/Opera/script_scheduling/079.html.ini b/tests/wpt/metadata/old-tests/submission/Opera/script_scheduling/079.html.ini index 95f70e89e46..964537ea8c5 100644 --- a/tests/wpt/metadata/old-tests/submission/Opera/script_scheduling/079.html.ini +++ b/tests/wpt/metadata/old-tests/submission/Opera/script_scheduling/079.html.ini @@ -1,6 +1,3 @@ [079.html] type: testharness expected: TIMEOUT - [ setting location to javascript URL from event handler ] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/workers/interfaces/DedicatedWorkerGlobalScope/onmessage.html.ini b/tests/wpt/metadata/workers/interfaces/DedicatedWorkerGlobalScope/onmessage.html.ini deleted file mode 100644 index 0db331c8b67..00000000000 --- a/tests/wpt/metadata/workers/interfaces/DedicatedWorkerGlobalScope/onmessage.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[onmessage.html] - type: testharness - [onmessage] - expected: FAIL - diff --git a/tests/wpt/metadata/workers/interfaces/DedicatedWorkerGlobalScope/onmessage.worker.ini b/tests/wpt/metadata/workers/interfaces/DedicatedWorkerGlobalScope/onmessage.worker.ini new file mode 100644 index 00000000000..193f6bf4c8f --- /dev/null +++ b/tests/wpt/metadata/workers/interfaces/DedicatedWorkerGlobalScope/onmessage.worker.ini @@ -0,0 +1,5 @@ +[onmessage.worker] + type: testharness + [Setting onmessage to an object] + expected: FAIL + diff --git a/tests/wpt/metadata/workers/interfaces/WorkerGlobalScope/close/sending-messages.html.ini b/tests/wpt/metadata/workers/interfaces/WorkerGlobalScope/close/sending-messages.html.ini index 63efd734ddd..379fec0c3ec 100644 --- a/tests/wpt/metadata/workers/interfaces/WorkerGlobalScope/close/sending-messages.html.ini +++ b/tests/wpt/metadata/workers/interfaces/WorkerGlobalScope/close/sending-messages.html.ini @@ -1,5 +1,6 @@ [sending-messages.html] type: testharness + expected: TIMEOUT [close() and sending messages] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/web-platform-tests b/tests/wpt/web-platform-tests -Subproject 34eea70476fb2a9e5f5b3cfc6e3dbad44179005 +Subproject 68c7ce132cc91eab73bad13c69225d79fe97a3e |