aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/document.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/document.rs')
-rw-r--r--components/script/dom/document.rs23
1 files changed, 17 insertions, 6 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index 6673d14fe9a..de2ce3a4bc4 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -435,14 +435,25 @@ impl<'a> DocumentHelpers<'a> for JSRef<'a, Document> {
let doc = window.r().Document().root();
doc.r().begin_focus_transaction();
- let event = Event::new(GlobalRef::Window(window.r()),
- "click".to_owned(),
- EventBubbles::Bubbles,
- EventCancelable::Cancelable).root();
+ // https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#event-type-click
+ let x = point.x as i32;
+ let y = point.y as i32;
+ let event = MouseEvent::new(window.r(),
+ "click".to_owned(),
+ true,
+ true,
+ Some(window.r()),
+ 0i32,
+ x, y, x, y,
+ false, false, false, false,
+ 0i16,
+ None).root();
+ let event: JSRef<Event> = EventCast::from_ref(event.r());
+
// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#trusted-events
- event.r().set_trusted(true);
+ event.set_trusted(true);
// https://html.spec.whatwg.org/multipage/interaction.html#run-authentic-click-activation-steps
- el.authentic_click_activation(event.r());
+ el.authentic_click_activation(event);
doc.r().commit_focus_transaction();
window.r().flush_layout(ReflowGoal::ForDisplay, ReflowQueryType::NoQuery);