Implement HTMLPictureElement interface.

This commit is contained in:
Rakhi Sharma 2018-01-04 11:46:03 +00:00 committed by Josh Matthews
parent faa969a91d
commit d47ce855ce
11 changed files with 51 additions and 31 deletions

View file

@ -54,6 +54,7 @@ use dom::htmloptionelement::HTMLOptionElement;
use dom::htmloutputelement::HTMLOutputElement; use dom::htmloutputelement::HTMLOutputElement;
use dom::htmlparagraphelement::HTMLParagraphElement; use dom::htmlparagraphelement::HTMLParagraphElement;
use dom::htmlparamelement::HTMLParamElement; use dom::htmlparamelement::HTMLParamElement;
use dom::htmlpictureelement::HTMLPictureElement;
use dom::htmlpreelement::HTMLPreElement; use dom::htmlpreelement::HTMLPreElement;
use dom::htmlprogresselement::HTMLProgressElement; use dom::htmlprogresselement::HTMLProgressElement;
use dom::htmlquoteelement::HTMLQuoteElement; use dom::htmlquoteelement::HTMLQuoteElement;
@ -309,6 +310,7 @@ pub fn create_native_html_element(
local_name!("output") => make!(HTMLOutputElement), local_name!("output") => make!(HTMLOutputElement),
local_name!("p") => make!(HTMLParagraphElement), local_name!("p") => make!(HTMLParagraphElement),
local_name!("param") => make!(HTMLParamElement), local_name!("param") => make!(HTMLParamElement),
local_name!("picture") => make!(HTMLPictureElement),
local_name!("plaintext") => make!(HTMLPreElement), local_name!("plaintext") => make!(HTMLPreElement),
local_name!("pre") => make!(HTMLPreElement), local_name!("pre") => make!(HTMLPreElement),
local_name!("progress") => make!(HTMLProgressElement), local_name!("progress") => make!(HTMLProgressElement),

View file

@ -0,0 +1,36 @@
/* 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 dom::bindings::codegen::Bindings::HTMLPictureElementBinding;
use dom::bindings::root::DomRoot;
use dom::document::Document;
use dom::htmlelement::HTMLElement;
use dom::node::Node;
use dom_struct::dom_struct;
use html5ever::{LocalName, Prefix};
#[dom_struct]
pub struct HTMLPictureElement {
htmlelement: HTMLElement,
}
impl HTMLPictureElement {
fn new_inherited(local_name: LocalName,
prefix: Option<Prefix>,
document: &Document) -> HTMLPictureElement {
HTMLPictureElement {
htmlelement:
HTMLElement::new_inherited(local_name, prefix, document)
}
}
#[allow(unrooted_must_root)]
pub fn new(local_name: LocalName,
prefix: Option<Prefix>,
document: &Document) -> DomRoot<HTMLPictureElement> {
Node::reflect_node(Box::new(HTMLPictureElement::new_inherited(local_name, prefix, document)),
document,
HTMLPictureElementBinding::Wrap)
}
}

View file

@ -348,6 +348,7 @@ pub mod htmloptionscollection;
pub mod htmloutputelement; pub mod htmloutputelement;
pub mod htmlparagraphelement; pub mod htmlparagraphelement;
pub mod htmlparamelement; pub mod htmlparamelement;
pub mod htmlpictureelement;
pub mod htmlpreelement; pub mod htmlpreelement;
pub mod htmlprogresselement; pub mod htmlprogresselement;
pub mod htmlquoteelement; pub mod htmlquoteelement;

View file

@ -0,0 +1,7 @@
/* 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/. */
// https://html.spec.whatwg.org/multipage/#htmlpictureelement
[HTMLConstructor]
interface HTMLPictureElement : HTMLElement {};

View file

@ -2,3 +2,4 @@
type: testharness type: testharness
[ ] [ ]
expected: FAIL expected: FAIL

View file

@ -1,4 +1,5 @@
[css3-text-line-break-baspglwj-094.html] [css3-text-line-break-baspglwj-094.html]
type: testharness type: testharness
[ ] [ ]
expected: FAIL expected: FAIL

View file

@ -1200,24 +1200,6 @@
[HTMLModElement interface: document.createElement("del") must inherit property "dateTime" with the proper type (1)] [HTMLModElement interface: document.createElement("del") must inherit property "dateTime" with the proper type (1)]
expected: FAIL expected: FAIL
[HTMLPictureElement interface: existence and properties of interface object]
expected: FAIL
[HTMLPictureElement interface object length]
expected: FAIL
[HTMLPictureElement interface: existence and properties of interface prototype object]
expected: FAIL
[HTMLPictureElement interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[HTMLPictureElement must be primary interface of document.createElement("picture")]
expected: FAIL
[Stringification of document.createElement("picture")]
expected: FAIL
[HTMLImageElement interface: attribute srcset] [HTMLImageElement interface: attribute srcset]
expected: FAIL expected: FAIL
@ -5832,9 +5814,6 @@
[DOMElementMap interface object name] [DOMElementMap interface object name]
expected: FAIL expected: FAIL
[HTMLPictureElement interface object name]
expected: FAIL
[AudioTrackList interface object name] [AudioTrackList interface object name]
expected: FAIL expected: FAIL

View file

@ -48,12 +48,6 @@
[Interfaces for MENUITEM] [Interfaces for MENUITEM]
expected: FAIL expected: FAIL
[Interfaces for picture]
expected: FAIL
[Interfaces for PICTURE]
expected: FAIL
[Interfaces for slot] [Interfaces for slot]
expected: FAIL expected: FAIL

View file

@ -66470,7 +66470,7 @@
"testharness" "testharness"
], ],
"mozilla/interfaces.html": [ "mozilla/interfaces.html": [
"ad914ab4c7a794b251c03f7b0f50aaef1ea78df0", "365c76c771b3d79a671b04047923f5644efb9b93",
"testharness" "testharness"
], ],
"mozilla/interfaces.js": [ "mozilla/interfaces.js": [

View file

@ -1,2 +0,0 @@
[http-cache-xhr.html]
type: testharness

View file

@ -114,6 +114,7 @@ test_interfaces([
"HTMLOutputElement", "HTMLOutputElement",
"HTMLParagraphElement", "HTMLParagraphElement",
"HTMLParamElement", "HTMLParamElement",
"HTMLPictureElement",
"HTMLPreElement", "HTMLPreElement",
"HTMLProgressElement", "HTMLProgressElement",
"HTMLQuoteElement", "HTMLQuoteElement",