mirror of
https://github.com/servo/servo.git
synced 2025-08-01 19:50:30 +01:00
script: add PointerEvent (#34437)
* Add PointerEvent webIDL Signed-off-by: Wu Yuwei <yuweiwu@pm.me> * Implement all new methods Signed-off-by: Wu Yuwei <yuweiwu@pm.me> * Cleanup warnings Signed-off-by: Wu Yuwei <yuweiwu@pm.me> * Update wpt meta Signed-off-by: Wu Yuwei <yuweiwu@pm.me> * Update interface list Signed-off-by: Wu Yuwei <yuweiwu@pm.me> * Update manifest Signed-off-by: Wu Yuwei <yuweiwu@pm.me> * Update doc links Signed-off-by: Wu Wayne <yuweiwu@pm.me> --------- Signed-off-by: Wu Yuwei <yuweiwu@pm.me> Signed-off-by: Wu Wayne <yuweiwu@pm.me>
This commit is contained in:
parent
9457a40ca2
commit
e061a59f03
18 changed files with 993 additions and 7 deletions
|
@ -465,6 +465,7 @@ pub mod permissions;
|
||||||
pub mod permissionstatus;
|
pub mod permissionstatus;
|
||||||
pub mod plugin;
|
pub mod plugin;
|
||||||
pub mod pluginarray;
|
pub mod pluginarray;
|
||||||
|
pub mod pointerevent;
|
||||||
pub mod popstateevent;
|
pub mod popstateevent;
|
||||||
pub mod processinginstruction;
|
pub mod processinginstruction;
|
||||||
pub mod progressevent;
|
pub mod progressevent;
|
||||||
|
|
|
@ -157,7 +157,53 @@ impl MouseEvent {
|
||||||
can_gc: CanGc,
|
can_gc: CanGc,
|
||||||
) -> DomRoot<MouseEvent> {
|
) -> DomRoot<MouseEvent> {
|
||||||
let ev = MouseEvent::new_uninitialized_with_proto(window, proto, can_gc);
|
let ev = MouseEvent::new_uninitialized_with_proto(window, proto, can_gc);
|
||||||
ev.InitMouseEvent(
|
ev.initialize_mouse_event(
|
||||||
|
type_,
|
||||||
|
can_bubble,
|
||||||
|
cancelable,
|
||||||
|
view,
|
||||||
|
detail,
|
||||||
|
screen_x,
|
||||||
|
screen_y,
|
||||||
|
client_x,
|
||||||
|
client_y,
|
||||||
|
ctrl_key,
|
||||||
|
alt_key,
|
||||||
|
shift_key,
|
||||||
|
meta_key,
|
||||||
|
button,
|
||||||
|
buttons,
|
||||||
|
related_target,
|
||||||
|
point_in_target,
|
||||||
|
);
|
||||||
|
ev
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/uievents/#initialize-a-mouseevent>
|
||||||
|
#[allow(clippy::too_many_arguments)]
|
||||||
|
pub fn initialize_mouse_event(
|
||||||
|
&self,
|
||||||
|
type_: DOMString,
|
||||||
|
can_bubble: EventBubbles,
|
||||||
|
cancelable: EventCancelable,
|
||||||
|
view: Option<&Window>,
|
||||||
|
detail: i32,
|
||||||
|
screen_x: i32,
|
||||||
|
screen_y: i32,
|
||||||
|
client_x: i32,
|
||||||
|
client_y: i32,
|
||||||
|
ctrl_key: bool,
|
||||||
|
alt_key: bool,
|
||||||
|
shift_key: bool,
|
||||||
|
meta_key: bool,
|
||||||
|
button: i16,
|
||||||
|
buttons: u16,
|
||||||
|
related_target: Option<&EventTarget>,
|
||||||
|
point_in_target: Option<Point2D<f32>>,
|
||||||
|
) {
|
||||||
|
// TODO: InitMouseEvent has been deprecated. We should follow the link to create an UI
|
||||||
|
// Event instead.
|
||||||
|
self.InitMouseEvent(
|
||||||
type_,
|
type_,
|
||||||
bool::from(can_bubble),
|
bool::from(can_bubble),
|
||||||
bool::from(cancelable),
|
bool::from(cancelable),
|
||||||
|
@ -174,12 +220,11 @@ impl MouseEvent {
|
||||||
button,
|
button,
|
||||||
related_target,
|
related_target,
|
||||||
);
|
);
|
||||||
ev.buttons.set(buttons);
|
self.buttons.set(buttons);
|
||||||
ev.point_in_target.set(point_in_target);
|
self.point_in_target.set(point_in_target);
|
||||||
// TODO: Set proper values in https://github.com/servo/servo/issues/24415
|
// TODO: Set proper values in https://github.com/servo/servo/issues/24415
|
||||||
ev.page_x.set(client_x);
|
self.page_x.set(client_x);
|
||||||
ev.page_y.set(client_y);
|
self.page_y.set(client_y);
|
||||||
ev
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn point_in_target(&self) -> Option<Point2D<f32>> {
|
pub fn point_in_target(&self) -> Option<Point2D<f32>> {
|
||||||
|
|
356
components/script/dom/pointerevent.rs
Normal file
356
components/script/dom/pointerevent.rs
Normal file
|
@ -0,0 +1,356 @@
|
||||||
|
/* 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 https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
use std::cell::Cell;
|
||||||
|
|
||||||
|
use dom_struct::dom_struct;
|
||||||
|
use euclid::default::Point2D;
|
||||||
|
use js::rust::HandleObject;
|
||||||
|
|
||||||
|
use super::bindings::codegen::Bindings::MouseEventBinding::MouseEventMethods;
|
||||||
|
use crate::dom::bindings::cell::DomRefCell;
|
||||||
|
use crate::dom::bindings::codegen::Bindings::PointerEventBinding::{
|
||||||
|
PointerEventInit, PointerEventMethods,
|
||||||
|
};
|
||||||
|
use crate::dom::bindings::num::Finite;
|
||||||
|
use crate::dom::bindings::reflector::reflect_dom_object_with_proto;
|
||||||
|
use crate::dom::bindings::root::DomRoot;
|
||||||
|
use crate::dom::bindings::str::DOMString;
|
||||||
|
use crate::dom::event::{EventBubbles, EventCancelable};
|
||||||
|
use crate::dom::eventtarget::EventTarget;
|
||||||
|
use crate::dom::mouseevent::MouseEvent;
|
||||||
|
use crate::dom::window::Window;
|
||||||
|
use crate::script_runtime::CanGc;
|
||||||
|
|
||||||
|
#[dom_struct]
|
||||||
|
pub struct PointerEvent {
|
||||||
|
mouseevent: MouseEvent,
|
||||||
|
pointer_id: Cell<i32>,
|
||||||
|
width: Cell<i32>,
|
||||||
|
height: Cell<i32>,
|
||||||
|
pressure: Cell<f32>,
|
||||||
|
tangential_pressure: Cell<f32>,
|
||||||
|
tilt_x: Cell<i32>,
|
||||||
|
tilt_y: Cell<i32>,
|
||||||
|
twist: Cell<i32>,
|
||||||
|
altitude_angle: Cell<f64>,
|
||||||
|
azimuth_angle: Cell<f64>,
|
||||||
|
pointer_type: DomRefCell<DOMString>,
|
||||||
|
is_primary: Cell<bool>,
|
||||||
|
coalesced_events: DomRefCell<Vec<DomRoot<PointerEvent>>>,
|
||||||
|
predicted_events: DomRefCell<Vec<DomRoot<PointerEvent>>>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl PointerEvent {
|
||||||
|
pub fn new_inherited() -> PointerEvent {
|
||||||
|
PointerEvent {
|
||||||
|
mouseevent: MouseEvent::new_inherited(),
|
||||||
|
pointer_id: Cell::new(0),
|
||||||
|
width: Cell::new(0),
|
||||||
|
height: Cell::new(0),
|
||||||
|
pressure: Cell::new(0.),
|
||||||
|
tangential_pressure: Cell::new(0.),
|
||||||
|
tilt_x: Cell::new(0),
|
||||||
|
tilt_y: Cell::new(0),
|
||||||
|
twist: Cell::new(0),
|
||||||
|
altitude_angle: Cell::new(0.),
|
||||||
|
azimuth_angle: Cell::new(0.),
|
||||||
|
pointer_type: DomRefCell::new(DOMString::new()),
|
||||||
|
is_primary: Cell::new(false),
|
||||||
|
coalesced_events: DomRefCell::new(Vec::new()),
|
||||||
|
predicted_events: DomRefCell::new(Vec::new()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn new_uninitialized(window: &Window, can_gc: CanGc) -> DomRoot<PointerEvent> {
|
||||||
|
Self::new_uninitialized_with_proto(window, None, can_gc)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn new_uninitialized_with_proto(
|
||||||
|
window: &Window,
|
||||||
|
proto: Option<HandleObject>,
|
||||||
|
can_gc: CanGc,
|
||||||
|
) -> DomRoot<PointerEvent> {
|
||||||
|
reflect_dom_object_with_proto(
|
||||||
|
Box::new(PointerEvent::new_inherited()),
|
||||||
|
window,
|
||||||
|
proto,
|
||||||
|
can_gc,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::too_many_arguments)]
|
||||||
|
pub fn new(
|
||||||
|
window: &Window,
|
||||||
|
proto: Option<HandleObject>,
|
||||||
|
type_: DOMString,
|
||||||
|
can_bubble: EventBubbles,
|
||||||
|
cancelable: EventCancelable,
|
||||||
|
view: Option<&Window>,
|
||||||
|
detail: i32,
|
||||||
|
screen_x: i32,
|
||||||
|
screen_y: i32,
|
||||||
|
client_x: i32,
|
||||||
|
client_y: i32,
|
||||||
|
ctrl_key: bool,
|
||||||
|
alt_key: bool,
|
||||||
|
shift_key: bool,
|
||||||
|
meta_key: bool,
|
||||||
|
button: i16,
|
||||||
|
buttons: u16,
|
||||||
|
related_target: Option<&EventTarget>,
|
||||||
|
point_in_target: Option<Point2D<f32>>,
|
||||||
|
pointer_id: i32,
|
||||||
|
width: i32,
|
||||||
|
height: i32,
|
||||||
|
pressure: f32,
|
||||||
|
tangential_pressure: f32,
|
||||||
|
tilt_x: i32,
|
||||||
|
tilt_y: i32,
|
||||||
|
twist: i32,
|
||||||
|
altitude_angle: f64,
|
||||||
|
azimuth_angle: f64,
|
||||||
|
pointer_type: DOMString,
|
||||||
|
is_primary: bool,
|
||||||
|
coalesced_events: Vec<DomRoot<PointerEvent>>,
|
||||||
|
predicted_events: Vec<DomRoot<PointerEvent>>,
|
||||||
|
can_gc: CanGc,
|
||||||
|
) -> DomRoot<PointerEvent> {
|
||||||
|
Self::new_with_proto(
|
||||||
|
window,
|
||||||
|
proto,
|
||||||
|
type_,
|
||||||
|
can_bubble,
|
||||||
|
cancelable,
|
||||||
|
view,
|
||||||
|
detail,
|
||||||
|
screen_x,
|
||||||
|
screen_y,
|
||||||
|
client_x,
|
||||||
|
client_y,
|
||||||
|
ctrl_key,
|
||||||
|
alt_key,
|
||||||
|
shift_key,
|
||||||
|
meta_key,
|
||||||
|
button,
|
||||||
|
buttons,
|
||||||
|
related_target,
|
||||||
|
point_in_target,
|
||||||
|
pointer_id,
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
pressure,
|
||||||
|
tangential_pressure,
|
||||||
|
tilt_x,
|
||||||
|
tilt_y,
|
||||||
|
twist,
|
||||||
|
altitude_angle,
|
||||||
|
azimuth_angle,
|
||||||
|
pointer_type,
|
||||||
|
is_primary,
|
||||||
|
coalesced_events,
|
||||||
|
predicted_events,
|
||||||
|
can_gc,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::too_many_arguments)]
|
||||||
|
fn new_with_proto(
|
||||||
|
window: &Window,
|
||||||
|
proto: Option<HandleObject>,
|
||||||
|
type_: DOMString,
|
||||||
|
can_bubble: EventBubbles,
|
||||||
|
cancelable: EventCancelable,
|
||||||
|
view: Option<&Window>,
|
||||||
|
detail: i32,
|
||||||
|
screen_x: i32,
|
||||||
|
screen_y: i32,
|
||||||
|
client_x: i32,
|
||||||
|
client_y: i32,
|
||||||
|
ctrl_key: bool,
|
||||||
|
alt_key: bool,
|
||||||
|
shift_key: bool,
|
||||||
|
meta_key: bool,
|
||||||
|
button: i16,
|
||||||
|
buttons: u16,
|
||||||
|
related_target: Option<&EventTarget>,
|
||||||
|
point_in_target: Option<Point2D<f32>>,
|
||||||
|
pointer_id: i32,
|
||||||
|
width: i32,
|
||||||
|
height: i32,
|
||||||
|
pressure: f32,
|
||||||
|
tangential_pressure: f32,
|
||||||
|
tilt_x: i32,
|
||||||
|
tilt_y: i32,
|
||||||
|
twist: i32,
|
||||||
|
altitude_angle: f64,
|
||||||
|
azimuth_angle: f64,
|
||||||
|
pointer_type: DOMString,
|
||||||
|
is_primary: bool,
|
||||||
|
coalesced_events: Vec<DomRoot<PointerEvent>>,
|
||||||
|
predicted_events: Vec<DomRoot<PointerEvent>>,
|
||||||
|
can_gc: CanGc,
|
||||||
|
) -> DomRoot<PointerEvent> {
|
||||||
|
let ev = PointerEvent::new_uninitialized_with_proto(window, proto, can_gc);
|
||||||
|
ev.mouseevent.initialize_mouse_event(
|
||||||
|
type_,
|
||||||
|
can_bubble,
|
||||||
|
cancelable,
|
||||||
|
view,
|
||||||
|
detail,
|
||||||
|
screen_x,
|
||||||
|
screen_y,
|
||||||
|
client_x,
|
||||||
|
client_y,
|
||||||
|
ctrl_key,
|
||||||
|
alt_key,
|
||||||
|
shift_key,
|
||||||
|
meta_key,
|
||||||
|
button,
|
||||||
|
buttons,
|
||||||
|
related_target,
|
||||||
|
point_in_target,
|
||||||
|
);
|
||||||
|
ev.pointer_id.set(pointer_id);
|
||||||
|
ev.width.set(width);
|
||||||
|
ev.height.set(height);
|
||||||
|
ev.pressure.set(pressure);
|
||||||
|
ev.tangential_pressure.set(tangential_pressure);
|
||||||
|
ev.tilt_x.set(tilt_x);
|
||||||
|
ev.tilt_y.set(tilt_y);
|
||||||
|
ev.twist.set(twist);
|
||||||
|
ev.altitude_angle.set(altitude_angle);
|
||||||
|
ev.azimuth_angle.set(azimuth_angle);
|
||||||
|
*ev.pointer_type.borrow_mut() = pointer_type;
|
||||||
|
ev.is_primary.set(is_primary);
|
||||||
|
*ev.coalesced_events.borrow_mut() = coalesced_events;
|
||||||
|
*ev.predicted_events.borrow_mut() = predicted_events;
|
||||||
|
ev
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl PointerEventMethods<crate::DomTypeHolder> for PointerEvent {
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-constructor>
|
||||||
|
fn Constructor(
|
||||||
|
window: &Window,
|
||||||
|
proto: Option<HandleObject>,
|
||||||
|
can_gc: CanGc,
|
||||||
|
type_: DOMString,
|
||||||
|
init: &PointerEventInit,
|
||||||
|
) -> DomRoot<PointerEvent> {
|
||||||
|
let bubbles = EventBubbles::from(init.parent.parent.parent.parent.bubbles);
|
||||||
|
let cancelable = EventCancelable::from(init.parent.parent.parent.parent.cancelable);
|
||||||
|
PointerEvent::new_with_proto(
|
||||||
|
window,
|
||||||
|
proto,
|
||||||
|
type_,
|
||||||
|
bubbles,
|
||||||
|
cancelable,
|
||||||
|
init.parent.parent.parent.view.as_deref(),
|
||||||
|
init.parent.parent.parent.detail,
|
||||||
|
init.parent.screenX,
|
||||||
|
init.parent.screenY,
|
||||||
|
init.parent.clientX,
|
||||||
|
init.parent.clientY,
|
||||||
|
init.parent.parent.ctrlKey,
|
||||||
|
init.parent.parent.altKey,
|
||||||
|
init.parent.parent.shiftKey,
|
||||||
|
init.parent.parent.metaKey,
|
||||||
|
init.parent.button,
|
||||||
|
init.parent.buttons,
|
||||||
|
init.parent.relatedTarget.as_deref(),
|
||||||
|
None,
|
||||||
|
init.pointerId,
|
||||||
|
init.width,
|
||||||
|
init.height,
|
||||||
|
*init.pressure,
|
||||||
|
*init.tangentialPressure,
|
||||||
|
init.tiltX.unwrap_or_default(),
|
||||||
|
init.tiltY.unwrap_or_default(),
|
||||||
|
init.twist,
|
||||||
|
*init.altitudeAngle.unwrap_or_default(),
|
||||||
|
*init.azimuthAngle.unwrap_or_default(),
|
||||||
|
init.pointerType.clone(),
|
||||||
|
init.isPrimary,
|
||||||
|
init.coalescedEvents.clone(),
|
||||||
|
init.predictedEvents.clone(),
|
||||||
|
can_gc,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-pointerid>
|
||||||
|
fn PointerId(&self) -> i32 {
|
||||||
|
self.pointer_id.get()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-width>
|
||||||
|
fn Width(&self) -> i32 {
|
||||||
|
self.width.get()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-height>
|
||||||
|
fn Height(&self) -> i32 {
|
||||||
|
self.height.get()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-pressure>
|
||||||
|
fn Pressure(&self) -> Finite<f32> {
|
||||||
|
Finite::wrap(self.pressure.get())
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-tangentialpressure>
|
||||||
|
fn TangentialPressure(&self) -> Finite<f32> {
|
||||||
|
Finite::wrap(self.tangential_pressure.get())
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-tiltx>
|
||||||
|
fn TiltX(&self) -> i32 {
|
||||||
|
self.tilt_x.get()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-tilty>
|
||||||
|
fn TiltY(&self) -> i32 {
|
||||||
|
self.tilt_y.get()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-twist>
|
||||||
|
fn Twist(&self) -> i32 {
|
||||||
|
self.twist.get()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-altitudeangle>
|
||||||
|
fn AltitudeAngle(&self) -> Finite<f64> {
|
||||||
|
Finite::wrap(self.altitude_angle.get())
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-azimuthangle>
|
||||||
|
fn AzimuthAngle(&self) -> Finite<f64> {
|
||||||
|
Finite::wrap(self.azimuth_angle.get())
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-pointertype>
|
||||||
|
fn PointerType(&self) -> DOMString {
|
||||||
|
self.pointer_type.borrow().clone()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-isprimary>
|
||||||
|
fn IsPrimary(&self) -> bool {
|
||||||
|
self.is_primary.get()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-getcoalescedevents>
|
||||||
|
fn GetCoalescedEvents(&self) -> Vec<DomRoot<PointerEvent>> {
|
||||||
|
self.coalesced_events.borrow().clone()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://w3c.github.io/pointerevents/#dom-pointerevent-getpredictedevents>
|
||||||
|
fn GetPredictedEvents(&self) -> Vec<DomRoot<PointerEvent>> {
|
||||||
|
self.predicted_events.borrow().clone()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://dom.spec.whatwg.org/#dom-event-istrusted>
|
||||||
|
fn IsTrusted(&self) -> bool {
|
||||||
|
self.mouseevent.IsTrusted()
|
||||||
|
}
|
||||||
|
}
|
46
components/script/dom/webidls/PointerEvent.webidl
Normal file
46
components/script/dom/webidls/PointerEvent.webidl
Normal file
|
@ -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 https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
// https://w3c.github.io/pointerevents/#pointerevent-interface
|
||||||
|
[Exposed=Window]
|
||||||
|
interface PointerEvent : MouseEvent
|
||||||
|
{
|
||||||
|
constructor(DOMString type, optional PointerEventInit eventInitDict = {});
|
||||||
|
|
||||||
|
readonly attribute long pointerId;
|
||||||
|
|
||||||
|
readonly attribute long width;
|
||||||
|
readonly attribute long height;
|
||||||
|
readonly attribute float pressure;
|
||||||
|
readonly attribute float tangentialPressure;
|
||||||
|
readonly attribute long tiltX;
|
||||||
|
readonly attribute long tiltY;
|
||||||
|
readonly attribute long twist;
|
||||||
|
readonly attribute double altitudeAngle;
|
||||||
|
readonly attribute double azimuthAngle;
|
||||||
|
|
||||||
|
readonly attribute DOMString pointerType;
|
||||||
|
readonly attribute boolean isPrimary;
|
||||||
|
|
||||||
|
sequence<PointerEvent> getCoalescedEvents();
|
||||||
|
sequence<PointerEvent> getPredictedEvents();
|
||||||
|
};
|
||||||
|
|
||||||
|
dictionary PointerEventInit : MouseEventInit
|
||||||
|
{
|
||||||
|
long pointerId = 0;
|
||||||
|
long width = 1;
|
||||||
|
long height = 1;
|
||||||
|
float pressure = 0;
|
||||||
|
float tangentialPressure = 0;
|
||||||
|
long tiltX;
|
||||||
|
long tiltY;
|
||||||
|
long twist = 0;
|
||||||
|
double altitudeAngle;
|
||||||
|
double azimuthAngle;
|
||||||
|
DOMString pointerType = "";
|
||||||
|
boolean isPrimary = false;
|
||||||
|
sequence<PointerEvent> coalescedEvents = [];
|
||||||
|
sequence<PointerEvent> predictedEvents = [];
|
||||||
|
};
|
2
tests/wpt/include.ini
vendored
2
tests/wpt/include.ini
vendored
|
@ -203,6 +203,8 @@ skip: true
|
||||||
skip: false
|
skip: false
|
||||||
[permissions]
|
[permissions]
|
||||||
skip: false
|
skip: false
|
||||||
|
[pointerevents]
|
||||||
|
skip: false
|
||||||
[quirks]
|
[quirks]
|
||||||
skip: false
|
skip: false
|
||||||
[referrer-policy]
|
[referrer-policy]
|
||||||
|
|
12
tests/wpt/meta/pointerevents/compat/pointerevent_touch-action-verification.html.ini
vendored
Normal file
12
tests/wpt/meta/pointerevents/compat/pointerevent_touch-action-verification.html.ini
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[pointerevent_touch-action-verification.html]
|
||||||
|
[explicit-pinch-zoom]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pinch-zoom-pan-x-pan-up]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pinch-zoom-pan-x-pan-y]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-14]
|
||||||
|
expected: FAIL
|
204
tests/wpt/meta/pointerevents/idlharness.https.window.js.ini
vendored
Normal file
204
tests/wpt/meta/pointerevents/idlharness.https.window.js.ini
vendored
Normal file
|
@ -0,0 +1,204 @@
|
||||||
|
[idlharness.https.window.html]
|
||||||
|
[PointerEvent interface: attribute persistentDeviceId]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[PointerEvent interface: new PointerEvent("type") must inherit property "persistentDeviceId" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTMLElement interface: attribute onpointerover]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTMLElement interface: attribute onpointerenter]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTMLElement interface: attribute onpointerdown]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTMLElement interface: attribute onpointermove]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTMLElement interface: attribute onpointerrawupdate]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTMLElement interface: attribute onpointerup]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTMLElement interface: attribute onpointercancel]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTMLElement interface: attribute onpointerout]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTMLElement interface: attribute onpointerleave]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTMLElement interface: attribute ongotpointercapture]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[HTMLElement interface: attribute onlostpointercapture]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: attribute onpointerover]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: attribute onpointerenter]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: attribute onpointerdown]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: attribute onpointermove]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: attribute onpointerrawupdate]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: attribute onpointerup]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: attribute onpointercancel]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: attribute onpointerout]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: attribute onpointerleave]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: attribute ongotpointercapture]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: attribute onlostpointercapture]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: window must inherit property "onpointerover" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: window must inherit property "onpointerenter" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: window must inherit property "onpointerdown" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: window must inherit property "onpointermove" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: window must inherit property "onpointerrawupdate" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: window must inherit property "onpointerup" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: window must inherit property "onpointercancel" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: window must inherit property "onpointerout" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: window must inherit property "onpointerleave" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: window must inherit property "ongotpointercapture" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Window interface: window must inherit property "onlostpointercapture" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Navigator interface: attribute maxTouchPoints]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Navigator interface: navigator must inherit property "maxTouchPoints" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: attribute onpointerover]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: attribute onpointerenter]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: attribute onpointerdown]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: attribute onpointermove]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: attribute onpointerrawupdate]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: attribute onpointerup]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: attribute onpointercancel]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: attribute onpointerout]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: attribute onpointerleave]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: attribute ongotpointercapture]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: attribute onlostpointercapture]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: document must inherit property "onpointerover" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: document must inherit property "onpointerenter" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: document must inherit property "onpointerdown" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: document must inherit property "onpointermove" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: document must inherit property "onpointerrawupdate" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: document must inherit property "onpointerup" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: document must inherit property "onpointercancel" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: document must inherit property "onpointerout" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: document must inherit property "onpointerleave" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: document must inherit property "ongotpointercapture" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Document interface: document must inherit property "onlostpointercapture" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Element interface: operation setPointerCapture(long)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Element interface: operation releasePointerCapture(long)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Element interface: operation hasPointerCapture(long)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Element interface: document.body must inherit property "setPointerCapture(long)" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Element interface: calling setPointerCapture(long) on document.body with too few arguments must throw TypeError]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Element interface: document.body must inherit property "releasePointerCapture(long)" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Element interface: calling releasePointerCapture(long) on document.body with too few arguments must throw TypeError]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Element interface: document.body must inherit property "hasPointerCapture(long)" with the proper type]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Element interface: calling hasPointerCapture(long) on document.body with too few arguments must throw TypeError]
|
||||||
|
expected: FAIL
|
6
tests/wpt/meta/pointerevents/inheritance.html.ini
vendored
Normal file
6
tests/wpt/meta/pointerevents/inheritance.html.ini
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
[inheritance.html]
|
||||||
|
[Property touch-action has initial value auto]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Property touch-action does not inherit]
|
||||||
|
expected: FAIL
|
18
tests/wpt/meta/pointerevents/parsing/touch-action-computed.html.ini
vendored
Normal file
18
tests/wpt/meta/pointerevents/parsing/touch-action-computed.html.ini
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
[touch-action-computed.html]
|
||||||
|
[Property touch-action value 'auto']
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Property touch-action value 'none']
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Property touch-action value 'manipulation']
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Property touch-action value 'pan-x']
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Property touch-action value 'pan-y']
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Property touch-action value 'pan-x pan-y']
|
||||||
|
expected: FAIL
|
18
tests/wpt/meta/pointerevents/parsing/touch-action-valid.html.ini
vendored
Normal file
18
tests/wpt/meta/pointerevents/parsing/touch-action-valid.html.ini
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
[touch-action-valid.html]
|
||||||
|
[e.style['touch-action'\] = "auto" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['touch-action'\] = "none" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['touch-action'\] = "manipulation" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['touch-action'\] = "pan-x" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['touch-action'\] = "pan-y" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['touch-action'\] = "pan-y pan-x" should set the property value]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,6 @@
|
||||||
|
[pointer-event-has-persistentdeviceid-from-pointer-event-init.tentative.html]
|
||||||
|
[PointerEvent.persistentDeviceId via PointerEventInit]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[No persistentDeviceId in PointerEventInit]
|
||||||
|
expected: FAIL
|
3
tests/wpt/meta/pointerevents/pointerevent_constructor.html.ini
vendored
Normal file
3
tests/wpt/meta/pointerevents/pointerevent_constructor.html.ini
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[pointerevent_constructor.html]
|
||||||
|
[getCoalescedEvents in event]
|
||||||
|
expected: FAIL
|
91
tests/wpt/meta/pointerevents/pointerevent_on_event_handlers.html.ini
vendored
Normal file
91
tests/wpt/meta/pointerevents/pointerevent_on_event_handlers.html.ini
vendored
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
[pointerevent_on_event_handlers.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[The default value of onpointerdown is always null]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The onpointerdown content attribute must be compiled into the onpointerdown property]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[dispatching a pointerdown event must trigger element.onpointerdown]
|
||||||
|
expected: NOTRUN
|
||||||
|
|
||||||
|
[The default value of onpointerup is always null]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The onpointerup content attribute must be compiled into the onpointerup property]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[dispatching a pointerup event must trigger element.onpointerup]
|
||||||
|
expected: NOTRUN
|
||||||
|
|
||||||
|
[The default value of onpointercancel is always null]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The onpointercancel content attribute must be compiled into the onpointercancel property]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[dispatching a pointercancel event must trigger element.onpointercancel]
|
||||||
|
expected: NOTRUN
|
||||||
|
|
||||||
|
[The default value of onpointermove is always null]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The onpointermove content attribute must be compiled into the onpointermove property]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[dispatching a pointermove event must trigger element.onpointermove]
|
||||||
|
expected: NOTRUN
|
||||||
|
|
||||||
|
[The default value of onpointerover is always null]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The onpointerover content attribute must be compiled into the onpointerover property]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[dispatching a pointerover event must trigger element.onpointerover]
|
||||||
|
expected: NOTRUN
|
||||||
|
|
||||||
|
[The default value of onpointerout is always null]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The onpointerout content attribute must be compiled into the onpointerout property]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[dispatching a pointerout event must trigger element.onpointerout]
|
||||||
|
expected: NOTRUN
|
||||||
|
|
||||||
|
[The default value of onpointerenter is always null]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The onpointerenter content attribute must be compiled into the onpointerenter property]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[dispatching a pointerenter event must trigger element.onpointerenter]
|
||||||
|
expected: NOTRUN
|
||||||
|
|
||||||
|
[The default value of onpointerleave is always null]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The onpointerleave content attribute must be compiled into the onpointerleave property]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[dispatching a pointerleave event must trigger element.onpointerleave]
|
||||||
|
expected: NOTRUN
|
||||||
|
|
||||||
|
[The default value of ongotpointercapture is always null]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The ongotpointercapture content attribute must be compiled into the ongotpointercapture property]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[dispatching a gotpointercapture event must trigger element.ongotpointercapture]
|
||||||
|
expected: NOTRUN
|
||||||
|
|
||||||
|
[The default value of onlostpointercapture is always null]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The onlostpointercapture content attribute must be compiled into the onlostpointercapture property]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[dispatching a lostpointercapture event must trigger element.onlostpointercapture]
|
||||||
|
expected: NOTRUN
|
57
tests/wpt/meta/pointerevents/pointerevent_tiltX_tiltY_to_azimuth_altitude.html.ini
vendored
Normal file
57
tests/wpt/meta/pointerevents/pointerevent_tiltX_tiltY_to_azimuth_altitude.html.ini
vendored
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
[pointerevent_tiltX_tiltY_to_azimuth_altitude.html]
|
||||||
|
[tiltX,tiltY to azimuth/altitude when tiltX=0 and tiltY=0]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[tiltX,tiltY to azimuth/altitude when tiltX=0 and tiltY=90]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[tiltX,tiltY to azimuth/altitude when tiltX=0 and tiltY=-90]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[tiltX,tiltY to azimuth/altitude when tiltX=-90 and tiltY=0]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[tiltX,tiltY to azimuth/altitude when tiltX=0 and tiltY=45]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[tiltX,tiltY to azimuth/altitude when tiltX=0 and tiltY=-45]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[tiltX,tiltY to azimuth/altitude when tiltX=45 and tiltY=0]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[tiltX,tiltY to azimuth/altitude when tiltX=-45 and tiltY=0]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[tiltX/tiltY to azimuth/altitude when tiltX/tiltY are not populated]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[azimuth/altitude to tiltX/tiltY when azimuth=0 and altitude=0]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[azimuth/altitude to tiltX/tiltY when azimuth=0 and altitude=0.7853981633974483]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[azimuth/altitude to tiltX/tiltY when azimuth=1.5707963267948966 and altitude=0]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[azimuth/altitude to tiltX/tiltY when azimuth=1.5707963267948966 and altitude=0.7853981633974483]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[azimuth/altitude to tiltX/tiltY when azimuth=3.141592653589793 and altitude=0]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[azimuth/altitude to tiltX/tiltY when azimuth=3.141592653589793 and altitude=0.7853981633974483]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[azimuth/altitude to tiltX/tiltY when azimuth=4.71238898038469 and altitude=0]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[azimuth/altitude to tiltX/tiltY when azimuth=4.71238898038469 and altitude=0.7853981633974483]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[If only one of the values (tiltX, tiltY) or (azimuthAngle, altitudeAngle) is available the other one is set to the default value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[If one of the values in both sets is provided, the other value in the set is initialized with the default value]
|
||||||
|
expected: FAIL
|
9
tests/wpt/meta/pointerevents/pointerevent_touch-action-illegal.html.ini
vendored
Normal file
9
tests/wpt/meta/pointerevents/pointerevent_touch-action-illegal.html.ini
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
[pointerevent_touch-action-illegal.html]
|
||||||
|
['pan-x none' is corrected properly]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
['pan-y none' is corrected properly]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
['auto none' is corrected properly]
|
||||||
|
expected: FAIL
|
111
tests/wpt/meta/pointerevents/pointerevent_touch-action-verification.html.ini
vendored
Normal file
111
tests/wpt/meta/pointerevents/pointerevent_touch-action-verification.html.ini
vendored
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
[pointerevent_touch-action-verification.html]
|
||||||
|
[default]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[stylesheet-none]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-auto]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-x]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-left]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-right]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-y]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-up]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-down]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-x-pan-y]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-y-pan-x]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-left-pan-up]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-left-pan-down]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-right-pan-up]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-right-pan-down]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-up-pan-left]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-up-pan-right]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-down-pan-left]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-pan-down-pan-right]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-manipulation]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-none]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-1]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-2]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-3]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-4]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-5]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-6]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-7]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-8]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-9]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-10]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-11]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-12]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[explicit-invalid-13]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[not-inherited]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[inherit]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[initial]
|
||||||
|
expected: FAIL
|
2
tests/wpt/mozilla/meta/MANIFEST.json
vendored
2
tests/wpt/mozilla/meta/MANIFEST.json
vendored
|
@ -13495,7 +13495,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"interfaces.https.html": [
|
"interfaces.https.html": [
|
||||||
"dc853b1a823990fa2d1478533dc5bd17fb576a13",
|
"a70a25f44ce0c5aff0eac067afba5ac2d79141d6",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
|
|
@ -226,6 +226,7 @@ test_interfaces([
|
||||||
"PerformanceResourceTiming",
|
"PerformanceResourceTiming",
|
||||||
"Plugin",
|
"Plugin",
|
||||||
"PluginArray",
|
"PluginArray",
|
||||||
|
"PointerEvent",
|
||||||
"PopStateEvent",
|
"PopStateEvent",
|
||||||
"ProcessingInstruction",
|
"ProcessingInstruction",
|
||||||
"ProgressEvent",
|
"ProgressEvent",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue