Граф коммитов

153 Коммитов

Автор SHA1 Сообщение Дата
Masayuki Nakano 5533f095cb Bug 1377653 - part3: WidgetEvent::mFlags should have a bool flag if it's been posted to at least one remote process r=smaug
Currently, it's not been managed yet that whether an event is posted to at least one remote process.  So, for managing the state, BaseEventFlags should have a new bool flag and WidgetEvent and BaseEventFlags should have helper methods for it.

Additionally, this fixes a bug of nsGUIEventIPC.h. In a lot of ParamTraits, static_cast<Foo> is used for using base class's ParamTraits.  However, it causes creating temporary instance with copy constructor.  Therefore, WidgetEvent::MarkAsPostedToRemoteProcess() call in ParamTraits<mozilla::WidgetEvent>::Write() didn't work as expected.

MozReview-Commit-ID: DdafsbVfrya

--HG--
extra : rebase_source : 94205f3a7b36455c3c9f607c35866be033e627c1
2017-07-05 18:59:44 +09:00
Masayuki Nakano 57f359b0de Bug 1377653 - part2: Add helper methods to WidgetEvent and BaseEventFlags to manage propagation state between parent process and remote process r=smaug
Currently, we have 2 bool flags (and optional 2 bool flags with related purpose) for managing propagation state between parent process and remote process.  However, it's really complicated.  Actually, setting these flags and referring the flags is usually follow explanation.

So, for making simpler, WidgetEvent and BaseEventFlags should have some utility methods for making them as self documented code.

This patch moves WidgetKeyboardEvent::mIsReserved to BaseEventFlags::mIsReservedByChrome.  That allows us to manage the cross process event propagation state in same place.

MozReview-Commit-ID: IXEDQJ4GpAZ

--HG--
extra : rebase_source : 5b63ac4f1d15e40e8bfc88423e336de28caa8ab6
2017-07-05 13:58:41 +09:00
Ryan Hunt c1312e5abc Bug 1351783 part 12 - Create and sync focus sequence numbers. r=kats,botond,dvander
Focus can change at any moment in a document. This causes non-determinism and
correctness problems for doing keyboard apz scrolling. To get around this, we
will maintain deterministic behavior for focus changes initiated by input events
and see if we can get away with more non-determinism for things like `setTimeout`

In order to do this, we disable async keyboard scrolling when an input event is
processed that could have a event listener. We then attach a sequence number to
that input event and dispatch it to content. In content, we record the highest
sequence number that we have processed from an event, and send that on each focus
update. Using this, we can determine in APZ if we have a current focus target or
if we are still waiting for an input event to be processed and focus to be
reconfirmed.

MozReview-Commit-ID: CWcu8YEFQz4

--HG--
extra : rebase_source : 8c54a619bd4f5ee892f0cc8768a10f3e1e4e0b59
extra : histedit_source : 601ca293a028787883841adc6b40e62c0cc829e5
2017-06-05 19:45:31 -05:00
Michael Layzell b24cba603e Bug 1369627 - Part 2: Send DimensionInfo down to the content process synchronously when creating a new window, r=smaug
MozReview-Commit-ID: GlzJ491RLUE
2017-06-15 14:34:48 -04:00
Aryeh Gregor b03daa975a Bug 1314388 - Remove SVGZoomEvent; r=longsonr,smaug
Some code in SVGSVGElement.cpp might be unnecessary now, but Robert said
to leave it for a followup.

MozReview-Commit-ID: 8PpRGeGrREJ
2017-04-04 15:36:22 +03:00
Olli Pettay 92bb395acd Bug 1339758, click() and similar can return 0 from various coordinate properties, r=masayuki
--HG--
extra : rebase_source : 71547cc6655c39ffeba89676d315bdb9bacc5ff4
2017-03-23 12:57:44 +02:00
Masayuki Nakano 733c1003b2 Bug 1314053 part.5 WidgetEvent shouldn't mark event as consumed if it's not cancelable r=smaug
Currently, EventListenerManager calls WidgetEvent::PreventDefault() when the status is nsEventStatus_eConsumeNoDefault. That causes unexpected state of events.  So, WidgetEvent should do nothing when it's not cancelable but PreventDefault() is called.

MozReview-Commit-ID: AjuXCyQpBbi

--HG--
extra : rebase_source : 031c0e129f875b51c58a991b9da9db236ad53ff7
2017-01-12 21:14:43 +09:00
Masayuki Nakano 7ab96b2cef Bug 1314053 part.2 Change EditorBase::IsAcceptableInputEvent()'s argument from nsIDOMEvent* to WidgetGUIEvent* r=smaug
MozReview-Commit-ID: Jo6EwQubUAM

--HG--
extra : rebase_source : 098b23946f349bbe7641a2059538ffb20ae4f5bb
2017-01-17 17:17:06 +09:00
Masayuki Nakano 36ead639f1 Bug 1332191 Move CrossProcessSafeEvent() in EventStateManager.cpp to WidgetEvent::CanBeSentToRemoteProcess() r=smaug
It doesn't make sense to check this in a static method of EventStateManager.cpp.  Instead, it should be a class method of WidgetEvent.  Then, everybody can check this in everywhere.

This patch adds mFlags.mNoCrossProcessBoundaryForwarding because when it's true, any events shouldn't be sent to remote process.

MozReview-Commit-ID: oCuxAwotDA

--HG--
extra : rebase_source : 0de8d65f83924859a38c513aff8da17d8571774d
2017-01-19 16:46:59 +09:00
Kevin Wern b2052e9ddc Bug 1304044 - implement auxclick r=smaug
After click events with button 2 or 3 are fired, fire auxclick, a new
event intended to represent a non-primary mouse click. Because this
event, based on the design examples and blink's implementation, is
intended to be used with content listeners, always dispatch on content
listeners--not just those that force all events to be dispatched (i.e.
document/window). This diverges from the behavior of our click events
from non-primary buttons.

Eventually, we hope this will replace click events for non-primary
buttons. For now, leave those events for compatibility reasons.

Additionally, add handling of this new event, where necessary.

MozReview-Commit-ID: 8osozM4h6Ya

--HG--
extra : rebase_source : 558261dd0d0b9241efa84ca168c50455850af03a
2016-11-30 19:48:02 -05:00
Jessica Jong 8b1856afb0 Bug 1321245 - Request native key bindings for delayed keypress events. r=smaug
--HG--
extra : rebase_source : c273efdca1731a5b09b01c5848b7a34fd1a71e43
2016-12-02 00:41:00 -05:00
Jessica Jong 3f2c55024c Bug 1309587 - PreventDefault() on suppressed/delayed key events that are sent back to parent. r=smaug
--HG--
extra : rebase_source : 0762ef1284c063c9716a963bf40ff5cc82b48326
2016-11-21 06:55:00 -05:00
Stone Shih 5d6aec8c60 Bug 1315862 Part1: Stop dispatching pointer events in the system group. r=masayuki,smaug
MozReview-Commit-ID: 8Xqp3bxlRFt

--HG--
extra : rebase_source : 25afbefb19e5ae613e9e493ea2f275a36004d523
2016-11-11 18:02:37 +08:00
Stone Shih 6ec033ea44 Bug 1303704 Part1: [Pointer Event] Implement prevent default behavior of pointerdown. r=masayuki
MozReview-Commit-ID: AbO5cBjIwfJ

--HG--
extra : rebase_source : c11b3c0385c28665de20a8b69100ebc33e5b47de
2016-09-20 14:33:08 +08:00
Stone Shih ce7f1ca7af Bug 1292063 - Part 3: Add mComposedInNativeAnonymousContent to determine which events can cross the boundary of native anonymous content. r=smaug
--HG--
extra : rebase_source : 6b3fcc52b2a099944cc1a0427a36624394fb3b2e
2016-09-12 18:15:16 +08:00
Stone Shih d76caea5e4 Bug 1292063 - Part 1: Add Event.composed. r=smaug
--HG--
extra : rebase_source : 105f9cfddb083d48d3da25fa13bf9a3b4c2637f6
2016-08-31 11:16:11 +08:00
Masayuki Nakano 97735168f1 Bug 1297013 part.2 Implement some helper methods to log constants related to event handling r=smaug
This patch implements some helper methods to log constants related to event handling.

ToString(KeyNameIndex) and ToString(CodeNameIndex) converts the enum itmes to human readable string.  They use WidgetKeyboardEvent's helper class which returns Unicode text.  Therefore, this need to convert from UTF16 to UTF8.  That's the reason why these methods don't return |const char*|.

GetDOMKeyCodeName(uint32_t) returns DOM keycode name if it's defined.  Otherwise, returns hexadecimal value.  For generating switch-case statement, VirtualKeyCodeList.h shouldn't include ",".  Therefore, this patch removes "," from VirtualKeyCodeList.h and append it at defining NS_DEFINE_VK.  Additionally, the last item of enum and array should not end with ",".  Therefore, this adds dummy last item at each of them.  Finally, some of the keyCode values are shared between 2 keys.  Therefore, it needs to support NS_DISALLOW_SAME_KEYCODE for switch-case generator.  See the comment in the file for more detail.

GetModifiersName(Modifiers) returns all modifier names included in the given value.

MozReview-Commit-ID: 9i2ftFOTpDn

--HG--
extra : rebase_source : 458a4d28624dc10dd4454f2e7708d746d1fcb045
2016-09-15 00:48:47 +09:00
Michelangelo De Simone 0b2d2c0e55 Bug 1120059 - Remove unnecessary MOZ_EXPLICIT_CONVERSION macros. r=jwalden
MozReview-Commit-ID: 7CX1VnBRDpk

--HG--
extra : rebase_source : 36be7e6c91d2767c5a610a2806f89efa69ff1c74
2016-07-13 15:07:52 -07:00
Matt Woodrow 63c2013a9f Bug 1163212 - The resize event should not be cancelable. r=smaug
--HG--
extra : rebase_source : aef9af37dc8a1fdcc481ad9a69e4bf59a5e7a2bb
2016-05-27 10:35:48 +12:00
Kartikaya Gupta a412581b20 Bug 1266066 - Implement DOM support for the 'passive' event listener flag. r=smaug
MozReview-Commit-ID: EvSCDxYC7g6
2016-05-12 14:50:22 -04:00
L. David Baron 71a0554018 Bug 1270649 - Rename mExceptionHasBeenRisen to mExceptionWasRaised. r=smaug
risen is the past participle of rise; raised is the past participle of
raise, which is what is done to exceptions.

See:
https://en.wiktionary.org/wiki/rise#Verb
https://en.wiktionary.org/wiki/raise#Verb (definition 2, though not sure
  if the use for exceptions is from 2.3 or 2.5)

(I wonder if mExceptionRaised would be simpler, though.)

MozReview-Commit-ID: 8Ynup8aDcLT
2016-05-08 22:16:42 -07:00
Stone Shih 547b61eae3 Bug 386743 - Set default event bubbling/cancelable flags in the WidgetEvent constructor. r=smaug 2016-04-13 14:16:42 +08:00
Masayuki Nakano d2c8ff21a8 Bug 1257759 part.4 Rename WidgetGUIEvent::PluginEvent to NativeEventData for using this class to send native event from plugin process to content and/or chrome process r=smaug
PluginInstanceChild needs to send native key event to the chrome process via a content process.  So, IPC needs a platform independent class/struct which can store native event.  This purpose is exactly same as the purpose of WidgetGUIEvent::PluginEvent.  Therefore, we can use it for this case too.

This patch renames WidgetGUIEvent::PluginEvent to NativeEventData but this patch does NOT remove WidgetGUIEvent::PluginEvent.  Instead of that, it's defined as an alias of NativeEventData since PluginEvent is clearer name for the original purpose and it's used by plugin module.

MozReview-Commit-ID: 3nrHfb8gk8m

--HG--
extra : rebase_source : b0b5a863360bf0893b161d70124d3a83aa2c3386
2016-04-05 14:23:13 +09:00
Masayuki Nakano 9170348baf Bug 1259656 part.7 Rename WidgetEvent::originalTarget to WidgetEvent::mOriginalTarget r=smaug
MozReview-Commit-ID: G1WVCWkS0Lt

--HG--
extra : rebase_source : e4790266f4efa33269c073bca1d98f9e8e6c90d7
2016-04-19 01:33:23 +09:00
Masayuki Nakano 8caf2f2633 Bug 1259656 part.6 Rename WidgetEvent::currentTarget to WidgetEvent::mCurrentTarget r=smaug
MozReview-Commit-ID: 9UcpPbgEbB0

--HG--
extra : rebase_source : f044e89581d0591a87e4c459978cc4ca727d3303
2016-04-19 01:15:16 +09:00
Masayuki Nakano da3898bcb7 Bug 1259656 part.5 Rename WidgetEvent::target to WidgetEvent::mTarget r=smaug
MozReview-Commit-ID: L0GnVR6NcAe

--HG--
extra : rebase_source : a8784d4599dad317f8335477afac9a7d4b92918f
2016-04-19 00:46:00 +09:00
Masayuki Nakano 685463c488 Bug 1259656 part.4 Rename WidgetEvent::typeString to WidgetEvent::mSpecifiedEventTypeString r=smaug
MozReview-Commit-ID: CzduIuu8mig

--HG--
extra : rebase_source : 82217020ba58bf971a7d755d9c1a45f4de197a92
2016-04-19 00:10:17 +09:00
Masayuki Nakano e88a0f30fa Bug 1259656 part.3 Rename WidgetEvent::userType to WidgetEvent::mSpecifiedEventType r=smaug
MozReview-Commit-ID: 5ef5lEQ1fZJ

--HG--
extra : rebase_source : 0d0f8b7e29db15b41ff6ac68db24b3e7d3df6afc
2016-04-18 23:53:03 +09:00
Masayuki Nakano 7d1b358c67 Bug 1259656 part.2 Rename WidgetEvent::lastRefPoint to WidgetEvent::mLastRefPoint r=smaug
MozReview-Commit-ID: D5jK0bMzMx6

--HG--
extra : rebase_source : 0cb6af75c3925e9c28b9d36abf018bdaa4ed0a69
2016-04-18 23:28:22 +09:00
Masayuki Nakano cbe8f5268a Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug
MozReview-Commit-ID: ESWM5ZyBpSR

--HG--
extra : rebase_source : c5e1e3f60bcdde2a7f6c399e72430b29a3e552cd
2016-04-18 23:09:02 +09:00
Masayuki Nakano 07b6f24132 Bug 1259657 Rename WidgetGUIEvent::widget to WidgetGUIEvent::mWidget r=smaug
MozReview-Commit-ID: 167PQWJDEHW

--HG--
extra : rebase_source : 6cd44095b9f33e03190972f043087786cbd772f2
2016-04-14 17:03:14 +09:00
Masayuki Nakano e9a1bcb370 Bug 1259658 Rename WidgetInputEvent::modifiers to WidgetInputEvent::mModifiers r=smaug
MozReview-Commit-ID: 7avEiqKfaHA

--HG--
extra : rebase_source : ffb6fbe424a4d5c2799444223608e03237e7c7a2
2016-03-31 17:03:00 +09:00
Arata Furukawa 28360f6c90 Bug 1259655 - part 2 Rename WidgetEventTime::timeStamp to WidgetEventTime::mTimeStamp r=masayuki
MozReview-Commit-ID: LRgPxoynx0

--HG--
extra : source : 506d58da4e67501a00b676c99997597fa5fe5679
2016-03-28 13:49:02 +09:00
Arata Furukawa 676913b9bb Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki
MozReview-Commit-ID: 7lBCEVkanvF

--HG--
extra : source : d629f018d02594951b7deccf1e1fce279d04694c
2016-03-28 13:29:42 +09:00
Tetsuharu OHZEKI 8fe5a1b9d4 Bug 1259659 - rename from InternalUIEvent.detail to InternalUIEvent.mDetail. r=masayuki
MozReview-Commit-ID: FjqZ5D2NCFb

--HG--
extra : rebase_source : fad73cc04658b7891f6c5932f0da55db8ae1d615
2016-03-26 16:22:27 +09:00
Masayuki Nakano 399cac9177 Bug 1256589 part.7 Add PropagationStopped() to WidgetEvent r=smaug
MozReview-Commit-ID: 3eLDURWr6d9

--HG--
extra : rebase_source : 058ab0d76512622a63c792cb91eb83700743549a
extra : source : 5fda4309b3413d8227828dcfce585500290c0a04
2016-03-17 16:21:57 +09:00
Masayuki Nakano cea0b9cf02 Bug 1256589 part.6 Move the implementation of IsTrusted() from dom::Event to WidgetEvent r=smaug
MozReview-Commit-ID: 1SgMbTL8csl

--HG--
extra : rebase_source : 748fa8a594176edf7b2addd038b8031019d0dd35
extra : source : f4ce36e68ce06c405a6fab31facc120b94709aed
2016-03-17 16:01:30 +09:00
Masayuki Nakano 8c8cbe0e4c Bug 1256589 part.5 Add DefaultPrevented() and DefaultPreventedByContent() to WidgetEvent r=smaug
MozReview-Commit-ID: 5q3QUPTf12Z

--HG--
extra : rebase_source : 83ed946b44910713a61c80bd21202aba9430dd2a
extra : source : 4eb2193814ab1958a65add0c8c307d07c646d61c
2016-03-22 16:47:52 +09:00
Masayuki Nakano 6181d95afb Bug 1256589 part.4 Move the implementation of PreventDefault() and add PreventDefaultBeforeDispatch() from dom::Event to WidgetEvent r=smaug
mDefaultPreventedByChrome is hacky. When PresShell handles Escape key events in fullscreen mode, it prevents default of every Escape key events and dispatch it only into chrome. After that, it check mDefaultPreventedByChrome if at least one call of preventDefault() occurred in chrome. Therefore, if we shouldn't set both mDefaultPreventedByChrome and mDefaultPreventedByContent to true before dispatching an event. This the reason why we need a special method, PreventDefaultBeforeDispatch() is needed for setting only mDefaultPrevented to true.

MozReview-Commit-ID: BPSq68GnWw6

--HG--
extra : rebase_source : f2f963afeba6994cc090efedebc29c0d9334c96d
extra : source : 1012dc095cc1b7236991a7befdbfbf174dc1c1af
2016-03-22 16:26:27 +09:00
Masayuki Nakano 2748ab1e88 Bug 1256589 part.3 Move the implementation of StopCrossProcessForwarding() from dom::Event to WidgetEvent r=smaug
MozReview-Commit-ID: KXeVxCJ05Mo

--HG--
extra : rebase_source : 2f8d49412e32eec4a0a8f599984d057637f491a1
extra : source : a68c4bb4878612d61425d87a47b4eca78f271240
2016-03-22 16:01:46 +09:00
Masayuki Nakano 823c6c0373 Bug 1256589 part.2 Move the implementation of StopImmediatePropagation() from dom::Event to WidgetEvent r=smaug
MozReview-Commit-ID: ERTfIhS8bBi

--HG--
extra : rebase_source : e67b968789b51c08ca4b9ccbea37462d7b509f0c
extra : source : 501ec2dfd279deeb85fad3b843676496da6dff3c
2016-03-17 11:57:42 +09:00
Masayuki Nakano d185d40ab2 Bug 1256589 part.1 Move the implementation of StopPropagation() from dom::Event to WidgetEvent r=smaug
MozReview-Commit-ID: Br5eBgC8TbW

--HG--
extra : rebase_source : 0e5743583f80b3e9e09397f49bd438bfe0f49d06
extra : source : 745c9d855d209780a884bd7a3d2cd3cdc20632af
2016-03-17 11:17:42 +09:00
Masayuki Nakano eec8a32d3a Bug 1137572 part.8 Callers of methods to dispatch composition events of TextEventDispatcher should be able to specify specific time/timeStamp r=smaug 2016-03-16 13:47:48 +09:00
Masayuki Nakano 12a007fd7f Bug 1203059 part.2 When an event is reserved by chrome, it should be fired only on chrome r=smaug 2016-03-16 10:58:28 +09:00
Masayuki Nakano 86ac26d06f Bug 1203059 part.1 nsXBLWincowKeyHandler mark WidgetEvent::mFlags if it's reserved by chrome before the event is dispatched into the content r=smaug 2016-03-16 10:58:28 +09:00
Andrea Marchesini caa2f9b456 Bug 1231378 - part 4 - Fix uninitialized members of classes in netwerk/widget/storage/uriloader/memory/tools, r=smaug 2016-01-12 18:16:59 +00:00
Carsten "Tomcat" Book 3589aeeb8a Backed out changeset d6b0ffe1a7b3 (bug 1231378) 2016-01-12 15:48:54 +01:00
Andrea Marchesini 2609a149da Bug 1231378 - part 4 - Fix uninitialized members of classes in netwerk/widget/storage/uriloader/memory/tools, r=smaug 2016-01-12 13:57:37 +00:00
Kartikaya Gupta eee88093b7 Bug 1217818 - Add support for the mHandledByAPZ flag on touch events as well. r=botond
--HG--
extra : commitid : Dcfgar8CZOi
2015-10-28 12:53:34 -04:00
Masayuki Nakano 07adf60de2 Bug 1215434 part.1 If scroll target is a plugin frame, EventStateManager::PostHandleEvent() should send the wheel event to the plugin frame even if APZC already handled it r=smaug 2015-10-17 15:50:09 +09:00