servo/components/script/dom/webidls/HTMLElement.webidl
Vijay Hebbar 4a43dba8d7 Add implementation for itemprop and itemtype
Created test file

Added the stub methods for itemprop and itemscope

Resolved html5ever dependency, added ItemScope and ItemProp attr

Resolving dependency

Added pref override on metadata attributes

Resetting to original state due to change in requirement

Reverted adding attributes

1. add a customized implementation of parse_plain_attribute
2. add the following methods to HTMLElement.webidl

added itemprop and itemtype, enabled pref in test

Added initial implementation for getting itemprop property values

Adding the wireframe for testing

Implemented function to handle itemType

Corrected typo

Fixed typo bug in code

Handling duplicates for itemtype attribute values

Added the test suite structure

Added test for extra space

Added test for regular test values

Added test cases for Single property values

Test cases to check absence of itemtype and itemprop attributes

Added code to handle absence of itemtype or itemprop attributes

Added shell script to run all test cases

cleared up Cargo file

Tidying up

Removed the local test file

Removed new line for test-tidy

Ordered key in prefs.json

Fixes for test-tidy

Enabled test preferences

Created test using wpt

Creating WPT Tests for Regular and Single Prop Types

Fixed the Regular type test

Fixed tests

Removed old test case metadata

Incorporate review changes from PR

Updated MANIFEST to sync test cases

Making changed suggested in review

Removed editor folding

Removed unnecessary code

Resolving cargo conflicts

Updated PropertyNames and itemtypes implementation

Trying different data in test case

Updated manifest

Updated code based on reviews
2017-11-06 15:11:50 -05:00

71 lines
2.4 KiB
Text

/* 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/#htmlelement
[HTMLConstructor]
interface HTMLElement : Element {
// metadata attributes
[CEReactions]
attribute DOMString title;
[CEReactions]
attribute DOMString lang;
// [CEReactions]
// attribute boolean translate;
// [CEReactions]
// attribute DOMString dir;
readonly attribute DOMStringMap dataset;
// microdata
// attribute boolean itemScope;
// attribute DOMString itemId;
//readonly attribute HTMLPropertiesCollection properties;
// attribute any itemValue; // acts as DOMString on setting
[Pref="dom.microdata.testing.enabled"]
sequence<DOMString>? propertyNames();
[Pref="dom.microdata.testing.enabled"]
sequence<DOMString>? itemtypes();
// user interaction
[CEReactions]
attribute boolean hidden;
void click();
// [CEReactions]
// attribute long tabIndex;
void focus();
void blur();
// [CEReactions]
// attribute DOMString accessKey;
//readonly attribute DOMString accessKeyLabel;
// [CEReactions]
// attribute boolean draggable;
// [SameObject, PutForwards=value] readonly attribute DOMTokenList dropzone;
// attribute HTMLMenuElement? contextMenu;
// [CEReactions]
// attribute boolean spellcheck;
// void forceSpellCheck();
// command API
// readonly attribute DOMString? commandType;
// readonly attribute DOMString? commandLabel;
// readonly attribute DOMString? commandIcon;
// readonly attribute boolean? commandHidden;
// readonly attribute boolean? commandDisabled;
// readonly attribute boolean? commandChecked;
};
// http://dev.w3.org/csswg/cssom-view/#extensions-to-the-htmlelement-interface
partial interface HTMLElement {
// CSSOM things are not [Pure] because they can flush
readonly attribute Element? offsetParent;
readonly attribute long offsetTop;
readonly attribute long offsetLeft;
readonly attribute long offsetWidth;
readonly attribute long offsetHeight;
};
HTMLElement implements GlobalEventHandlers;
HTMLElement implements DocumentAndElementEventHandlers;
HTMLElement implements ElementContentEditable;
HTMLElement implements ElementCSSInlineStyle;