diff options
author | Paul Rouget <me@paulrouget.com> | 2016-03-18 08:57:20 +0100 |
---|---|---|
committer | Paul Rouget <me@paulrouget.com> | 2016-04-05 18:42:28 +0800 |
commit | df6e7394d42595f34fa64dea01bb485c64589c73 (patch) | |
tree | 4e8b1e9845ecce90b33c37b976bceaad234cff7a /components/script/script_thread.rs | |
parent | 05a4dcdc3b38c0222ac417f826e06ce9d47068b2 (diff) | |
download | servo-df6e7394d42595f34fa64dea01bb485c64589c73.tar.gz servo-df6e7394d42595f34fa64dea01bb485c64589c73.zip |
forcetouch events support
This enables Apple forcetouch DOM events. It requires the preference dom.forcetouch.enabled.
The DOM events are described here:
- https://developer.apple.com/library/mac/documentation/AppleApplications/Conceptual/SafariJSProgTopics/RespondingtoForceTouchEventsfromJavaScript.html
The Cocoa mechanism is documented here:
- https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSEvent_Class/#//apple_ref/doc/uid/20000016-SW274
Diffstat (limited to 'components/script/script_thread.rs')
-rw-r--r-- | components/script/script_thread.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 5cd38e80532..6726a6ca4e2 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -79,7 +79,7 @@ use parse::xml::{self, parse_xml}; use profile_traits::mem::{self, OpaqueSender, Report, ReportKind, ReportsChan}; use profile_traits::time::{self, ProfilerCategory, profile}; use script_traits::CompositorEvent::{KeyEvent, MouseButtonEvent, MouseMoveEvent, ResizeEvent}; -use script_traits::CompositorEvent::{TouchEvent}; +use script_traits::CompositorEvent::{TouchEvent, TouchpadPressureEvent}; use script_traits::{CompositorEvent, ConstellationControlMsg, EventResult}; use script_traits::{InitialScriptState, MouseButton, MouseEventType, MozBrowserEvent, NewLayoutInfo}; use script_traits::{LayoutMsg, OpaqueScriptLayoutChannel, ScriptMsg as ConstellationMsg}; @@ -1969,6 +1969,12 @@ impl ScriptThread { } } + TouchpadPressureEvent(point, pressure, phase) => { + let page = get_page(&self.root_page(), pipeline_id); + let document = page.document(); + document.r().handle_touchpad_pressure_event(self.js_runtime.rt(), point, pressure, phase); + } + KeyEvent(key, state, modifiers) => { let page = get_page(&self.root_page(), pipeline_id); let document = page.document(); |