If a mouse event is targeting an iframe, forward it to the iframe's inner window

Fixes #8759.

This adds a slow path for cases where the compositor's layer-based hit testing
is incorrect.  To optimize for this case, we could instead replace the
layer hit testing with display-list hit testing done in the paint task.
This commit is contained in:
Matt Brubeck 2015-12-01 14:22:15 -08:00
parent 8c4fed42b0
commit 9551363bfb
4 changed files with 57 additions and 4 deletions

View file

@ -7,6 +7,7 @@
use canvas_traits::CanvasMsg;
use compositor_msg::Epoch;
use euclid::point::Point2D;
use euclid::scale_factor::ScaleFactor;
use euclid::size::{Size2D, TypedSize2D};
use hyper::header::Headers;
@ -283,6 +284,10 @@ pub enum ScriptMsg {
Failure(Failure),
/// Notifies the constellation that this frame has received focus.
Focus(PipelineId),
/// Re-send a mouse button event that was sent to the parent window.
ForwardMouseButtonEvent(PipelineId, MouseEventType, MouseButton, Point2D<f32>),
/// Re-send a mouse move event that was sent to the parent window.
ForwardMouseMoveEvent(PipelineId, Point2D<f32>),
/// Requests that the constellation retrieve the current contents of the clipboard
GetClipboardContents(IpcSender<String>),
/// <head> tag finished parsing