Commit Graph

89 Commits

Author SHA1 Message Date
Kartikaya Gupta
5368ea5db7 Bug 1093686 - Add some debug logging code for PositionedEventTargeting.cpp. r=roc 2014-11-06 08:05:51 -05:00
Kartikaya Gupta
f80300970f Bug 1093686 - Ignore body-level touch/mouse listeners when assessing element clickability. r=roc
When walking up the content tree to assess if an element is contained inside a
clickable element, we should stop before hitting the body element. This is a
heuristic based on pages in the wild, because a lot of pages have mouse/touch
listeners on the body. Without this patch all elements end up getting treated
as clickable which makes the event retargeting code useless.
2014-11-06 08:05:51 -05:00
Kartikaya Gupta
34df777ecb Bug 1078029 - Add code to reposition input event coordinates into the target frame. r=roc
The PositionedEventTargeting code allows input events to be dispatched to a
target not directly under the input event point. However, the coordinates of the
input event can then end up outside the bounding rect of the event target. This
state is generally unexpected by web content and may cause compatibility issues.
Fennec's front-end code used to deal with this by repositioning the input event
coordinates to be inside the bounding rect; now that Fennec is using the shared
C++ code we need to have that code here. This behaviour is guarded by a pref and
disabled by default (but enabled on Fennec).
2014-11-04 09:52:16 -05:00
Kartikaya Gupta
73f1236da5 Bug 1092139 - Make the PositionedEventTargeting code respect the flag to ignore root scroll frames. r=roc
The ignore-root-scroll-frame flag is used on mobile platforms in order to allow
hit-testing outside the viewport area. This is needed because the user can zoom
out and make visible an area larger than the viewport (i.e. the displayport) but
layout generally restricts hit-testing to the viewport. The code to retarget
events to nearby clickable elements also needs to respect this flag, otherwise
the retargeting fails to work outside the viewport area.
2014-11-03 09:43:52 -05:00
Masayuki Nakano
aef16cc9e8 Bug 1046101 part.18 Rename NS_TOUCH_EVENT to eTouchEventClass r=smaug 2014-08-04 14:28:53 +09:00
Masayuki Nakano
a2b2e249bb Bug 1046101 part.11 Rename NS_MOUSE_EVENT to eMouseEventClass r=smaug 2014-08-04 14:28:50 +09:00
Masayuki Nakano
5dac7e446a Bug 1046101 part.1 Rename nsEventStructType to mozilla::EventClassID r=smaug 2014-08-04 14:28:46 +09:00
Masayuki Nakano
00dfc5e0a9 Bug 989212 Rename nsEventStates to mozilla::EventStates r=smaug 2014-04-03 13:18:36 +09:00
Masayuki Nakano
e8acfb8a92 Bug 981261 part.5 Rename nsEventListenerManager to mozilla::EventListenerManager r=smaug 2014-03-17 15:56:53 +09:00
Ryan VanderMeulen
073d8ecb29 Bug 981651 - Remove unused presShell variable to fix Werror bustage. r=kats
CLOSED TREE
2014-03-11 11:35:32 -04:00
Kartikaya Gupta
4afb551b20 Bug 981651 - Don't scale the touch radius up by the resolution amount since it is usually canceled by layer transforms. r=roc 2014-03-11 11:14:51 -04:00
Etienne Segonzac
47bd1a1438 Bug 961776 - Add role=key to the event fluffing heuristics. r=roc 2014-02-26 09:03:32 -05:00
"Kan-Ru Chen (陳侃如)"
a3a351931d Bug 950225 - Restrict event fluffing in visible area with test case. r=roc 2014-01-29 21:54:25 +08:00
Phil Ringnalda
337e8da51a Back out 7bfec63e417b (bug 950225) for test failures
CLOSED TREE
2014-01-27 23:12:54 -08:00
"Kan-Ru Chen (陳侃如)"
89dc05bec5 Bug 950225 - Restrict event fluffing in visible area with test case. r=roc 2014-01-28 11:37:36 +08:00
Alexandre Lissy
84dd6a185b Bug 921928 - Make <iframe mozbrower remote> a preferred target when fluffing r=roc
In bug 921928, the user places a call and then tries to do other actions
(calls, SMS, contacts, ...) with actions very close to the attention
screen. When trying to do those other actions, event fluffing is
prioritizing the attention screen rather than user apps.
---
 layout/base/PositionedEventTargeting.cpp           |  10 ++
 layout/base/tests/Makefile.in                      |   2 +
 .../bug921928_event_target_iframe_apps_oop.html    |   8 +
 .../base/tests/test_event_target_iframe_oop.html   | 178 +++++++++++++++++++++
 4 files changed, 198 insertions(+)
 create mode 100644 layout/base/tests/bug921928_event_target_iframe_apps_oop.html
 create mode 100644 layout/base/tests/test_event_target_iframe_oop.html
2013-10-28 11:38:03 -07:00
Kyle Huey
e97138cd15 Bug 915757: Split GetListenerManager into two functions for more const-correctness. r=smaug 2013-10-23 07:32:04 +08:00
Masayuki Nakano
385d2f53af Bug 920425 part.28 Use mozilla::WidgetEvent::AsMouseEvent() r=smaug 2013-10-22 17:55:20 +09:00
Alexandre Lissy
5f4adab055 Bug 926389 - Add touch event handling during fluffing. r=roc 2013-10-17 14:42:48 -04:00
Masayuki Nakano
ed3fbdf704 Bug 920377 part.32 Get rid of nsMouseEvent r=roc 2013-10-02 15:38:27 +09:00
Masayuki Nakano
8c4ece5434 Bug 920377 part.30 Get rid of nsGUIEvent r=roc 2013-10-02 12:46:03 +09:00
Ehsan Akhgari
6cf84bf2d9 Bug 921876 - Stop #including nsIFrame.h in nsLayoutUtils.h; r=roc
This patch does the following:
* Move nsIFrame::IntrinsicSize to mozilla::IntrinsicSize so that it can
  be forward-declared.
* Move a number of templated inline nsLayoutUtils methods to nsIFrame.
* Use mozilla::layout::FrameChildListID instead of the
  nsIFrame::ChildListID typedef in nsLayoutUtils.h.
* Move nsReflowFrameRunnable to its only user, nsProgressMeterFrame.cpp.
* Make a number of functions requiring nsIFrame.h out-of-line.
* Remove the nsIFrame.h #include from nsLayoutUtils.h and add it to the
  places which require it implicitly.
2013-09-30 17:26:04 -04:00
Masayuki Nakano
c23797df63 Bug 912956 part.18 Remove nsGUIEvent.h r=roc 2013-09-25 20:21:22 +09:00
Masayuki Nakano
4a5dc45e59 Bug 912956 part.14 mozilla/MouseEvents.h should be included directly r=roc 2013-09-25 20:21:18 +09:00
Ehsan Akhgari
30faed685a Bug 919355 - Part 2: Don't #include nsDeviceContext.h in Units.h; r=roc 2013-09-23 07:55:35 -04:00
Ehsan Akhgari
f08491b636 Bug 908778 - Don't #include nsRegion.h in nsIFrame.h; r=mats 2013-08-23 18:16:38 -04:00
Vivien Nicolas
3f4b04f907 Bug 873418 - ContentEditable elements are ignored when fluffing is activated. r=roc 2013-08-06 12:33:29 +02:00
Wes Johnston
b88282080a Bug 901117 - Positioned event targetting should fluff even if there are body event listeners. r=tn 2013-08-05 11:25:27 -07:00
Timothy Nikkel
d3e9298f32 Bug 901175. Properly handle when the frame has an empty intersection with the exposed region for events. r pending roc 2013-08-03 00:46:19 -05:00
Timothy Nikkel
c6ac86b5d2 Bug 837242. Part 3. Keep track of what area is exposed to events so that covered frames don't get events. r=roc 2013-07-30 11:22:46 -05:00
Robert O'Callahan
4b152a7976 Bug 837242. Part 1: Convert bool parameters to flags. r=mats 2013-07-26 14:31:41 +12:00
Carsten "Tomcat" Book
69378e9760 Backed out changeset 44c751cee3b1 (bug 837242) for suspicion of causing OSX Bustage CLOSED TREE 2013-07-26 09:25:03 +02:00
Robert O'Callahan
7d4df08dfc Bug 837242. Part 1: Convert bool parameters to flags. r=mats 2013-07-26 14:31:41 +12:00
Daniel Holbert
723a4f151a Bug 843719: Reorder params in Margin constructors and SizeTo() methods to match CSS's top,right,bottom,left ordering. r=seth 2013-03-06 00:05:55 -08:00
Matt Brubeck
aaea0fda23 Bug 832101 - Don't fluff out click targets for events from non-touch input [r=roc] 2013-01-24 06:53:18 -08:00
Mats Palmgren
7532b4e736 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Masayuki Nakano
79dfaa9ad6 Bug 812427 part.2 Make event struct type named enumeration r=roc+smaug 2012-11-20 15:05:56 +09:00
Jim Mathies
2d9c7c2260 Bug 726615 - Completely remove MozTouch event support from mc. r=smaug 2012-09-22 14:28:08 -05:00
Robert O'Callahan
83199d7fbc Bug 780847. Built-in support for mouse/touch events targeting nodes within a certain radius via heuristics. r=mats,smaug 2012-08-20 12:02:42 +12:00