gecko-dev/dom/events
Masayuki Nakano 54e57600e1 Bug 1275906 part.2 TextComposition should use IMEContentObserver for sending NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED if the editor which has the composition is in the active IMEContentObserver r=smaug
For sending NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED after the other change notifications which was caused by the user input, we need to use IMEContentObserver::IMENotificationSender because it sends the notifications when it's safe to do it.

This patch makes TextComposition use IMEContentObserver to send the notification.  However, if there is no active IMEContentObserver, e.g., composition events are fired on unfocused window, TextComposition sends it by itself (same as current implementation).

If IMEContentObserver stops observing when it has pending NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED, it cannot send the notification (i.e., it is discarded completely in such case). However, in such case, IMEContentObserver sends NOTIFY_IME_OF_BLUR.  So, anyway, native IME handler should treat the blur notification as it including NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED.

On the other hand, we're buggy if composition events are fired in non-active window.  Even in such case, IMEContentObserver should be created for active editor in each document and it notifies IME of the changes. But this is out of the scope of this bug.

MozReview-Commit-ID: 7Q0ZsJTh4hX

--HG--
extra : rebase_source : 6417f991fa8c0fbe3f25b27bacf4257e5485aecc
2016-06-01 22:14:41 +09:00
..
crashtests
test Bug 1272099, Bug 1272101 - FlyWeb core implementation, DOM and Network changes. r=baku r=hurley 2016-06-02 02:47:00 -04:00
AnimationEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
AnimationEvent.h
AsyncEventDispatcher.cpp Bug 1263311: Part 1 - Change the nsICancelableRunnable interface. r=froydnj 2016-04-11 11:40:06 -07:00
AsyncEventDispatcher.h Bug 1263311: Part 3 - s/nsCancelableRunnable/CancelableRunnable/g. r=froydnj 2016-04-11 11:40:06 -07:00
BeforeAfterKeyboardEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
BeforeAfterKeyboardEvent.h
BeforeUnloadEvent.cpp
BeforeUnloadEvent.h
ClipboardEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
ClipboardEvent.h
CommandEvent.cpp Bug 1259669 Rename WidgetCommandEvent::command to WidgetCommandEvent::mCommand r=masayuki 2016-05-12 13:28:31 +09:00
CommandEvent.h
CompositionEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
CompositionEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
ContentEventHandler.cpp Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug 2016-04-18 23:09:02 +09:00
ContentEventHandler.h Bug 1261671 - ContentEventHandler::ConvertToRootRelativeOffset() should return the root-relative result in the frame's own appUnits, not the root's appUnits in the case when they're different. r=masayuki 2016-04-12 07:06:38 +01:00
CustomEvent.cpp Bug 1003432: Expose CustomEvent in Worker. r=smaug 2016-03-22 00:09:57 +08:00
CustomEvent.h Bug 1003432: Expose CustomEvent in Worker. r=smaug 2016-03-22 00:09:57 +08:00
DataContainerEvent.cpp Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
DataContainerEvent.h
DataTransfer.cpp Bug 1249522, when a file is present, only specify file type, r=smaug 2016-05-11 10:04:19 -04:00
DataTransfer.h Bug 1249522, when a file is present, only specify file type, r=smaug 2016-05-11 10:04:19 -04:00
DeviceMotionEvent.cpp Bug 1222098 - Devicemotion event timestamp should return values from Android sensor API and not Gecko. r:smaug 2016-04-04 12:22:59 -05:00
DeviceMotionEvent.h Bug 1222098 - Devicemotion event timestamp should return values from Android sensor API and not Gecko. r:smaug 2016-04-04 12:22:59 -05:00
DOMEventTargetHelper.cpp Bug 1026713 - Give DOMEventTargetHelper classes proper names in the CC log. r=smaug 2016-05-12 10:54:34 -07:00
DOMEventTargetHelper.h Bug 1266194 - Implement boolean or EventListenerOptions as 3rd param to addEventListener, r=smaug 2016-04-26 16:23:17 +08:00
DragEvent.cpp Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug 2016-04-18 23:09:02 +09:00
DragEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Event.cpp Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
Event.h Bug 1259656 part.4 Rename WidgetEvent::typeString to WidgetEvent::mSpecifiedEventTypeString r=smaug 2016-04-19 00:10:17 +09:00
EventDispatcher.cpp Bug 1266701 - some header missing in dom/events, r=jwatt 2016-04-22 15:37:28 +02:00
EventDispatcher.h Bug 1259656 part.5 Rename WidgetEvent::target to WidgetEvent::mTarget r=smaug 2016-04-19 00:46:00 +09:00
EventListenerManager.cpp Bug 1274520 followup - Make EventListenerOptions.mozSystemGroup option thread-safe. r=smaug 2016-06-02 20:15:23 +10:00
EventListenerManager.h Bug 1266066 - Ignore passive event listeners for APZ purposes. r=botond,smaug 2016-05-12 14:50:58 -04:00
EventListenerService.cpp Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
EventListenerService.h
EventNameList.h Bug 1265279 - Web Manifest: Implement window.oninstall. r=baku 2016-05-30 18:52:00 +02:00
EventStateManager.cpp Bug 931445 part 3 - Reset synth centering pointer when unlocking pointer. r=smaug 2016-05-27 17:13:05 +10:00
EventStateManager.h Bug 1101975, handle access keys in content process before menus, r=masayuki 2016-05-11 08:56:42 -04:00
EventStates.h Bug 1250767 - Reorder Gecko EventState to match Servo's ElementState, and add an API to let Servo access it. r=heycam,r=bz 2016-02-23 17:51:47 -08:00
EventTarget.cpp Bug 1266194 - Implement boolean or EventListenerOptions as 3rd param to addEventListener, r=smaug 2016-04-26 16:23:17 +08:00
EventTarget.h Bug 1266194 - Implement boolean or EventListenerOptions as 3rd param to addEventListener, r=smaug 2016-04-26 16:23:17 +08:00
FocusEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
FocusEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
ImageCaptureError.cpp
ImageCaptureError.h
IMEContentObserver.cpp Bug 1275906 part.2 TextComposition should use IMEContentObserver for sending NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED if the editor which has the composition is in the active IMEContentObserver r=smaug 2016-06-01 22:14:41 +09:00
IMEContentObserver.h Bug 1275906 part.2 TextComposition should use IMEContentObserver for sending NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED if the editor which has the composition is in the active IMEContentObserver r=smaug 2016-06-01 22:14:41 +09:00
IMEStateManager.cpp Bug 1275906 part.2 TextComposition should use IMEContentObserver for sending NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED if the editor which has the composition is in the active IMEContentObserver r=smaug 2016-06-01 22:14:41 +09:00
IMEStateManager.h Bug 1275906 part.2 TextComposition should use IMEContentObserver for sending NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED if the editor which has the composition is in the active IMEContentObserver r=smaug 2016-06-01 22:14:41 +09:00
InputEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
InputEvent.h
InternalMutationEvent.h
JSEventHandler.cpp Bug 1272813 - part 3 - try to take advantage of string sharing in JSEventHandler::HandleEvent; r=peterv 2016-06-01 16:26:59 -04:00
JSEventHandler.h summary: Bug 1231378 - part 5 - Fix uninitialized members of classes in dom/{workers,events,media,canvas}, r=smaug 2016-01-12 18:16:59 +00:00
KeyboardEvent.cpp Bug 1254755 part.4 Rename WidgetKeyboardEvent::location to WidgetKeyboardEvent::mLocation r=smaug 2016-05-12 18:17:22 +09:00
KeyboardEvent.h Bug 1110030 - part5 - Expose KeyboardEventInit dictionary. r=masayuki, r=smaug 2016-03-15 13:46:29 +08:00
KeyNameList.h Bug 1277234 - Rename key name VolumeUp to AudioVolumeUp. r=masayuki 2016-06-02 15:55:53 +02:00
MessageEvent.cpp Bug 1247679, part 3 - Replace NS_IMPL_CYCLE_COLLECTION_TRACE_JSVAL_MEMBER_CALLBACK with JS_MEMBER. r=smaug 2016-02-22 10:11:02 -08:00
MessageEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
MouseEvent.cpp Bug 1259661 part.9 Rename WidgetMouseEvent::clickCount to WidgetMouseEvent::mClickCount r=smaug 2016-05-10 23:29:14 +09:00
MouseEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
MouseScrollEvent.cpp Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug 2016-04-18 23:09:02 +09:00
MouseScrollEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
moz.build Bug 1272513 - Part 1: Suppress -Wshadow warnings-as-errors in some directories. r=glandium 2016-05-11 00:00:01 -07:00
MutationEvent.cpp Bug 1260871 - Remove do_GetAtom() and rename NS_NewAtom() as NS_Atomize(). r=erahm. 2016-03-29 10:09:43 +11:00
MutationEvent.h
NotifyPaintEvent.cpp Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
NotifyPaintEvent.h Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
nsIEventListenerService.idl
PaintRequest.cpp
PaintRequest.h
PhysicalKeyCodeNameList.h
PointerEvent.cpp Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug 2016-04-18 23:09:02 +09:00
PointerEvent.h
ScrollAreaEvent.cpp Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
ScrollAreaEvent.h Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
SimpleGestureEvent.cpp Bug 1259667 - part5: rename WidgetSimpleGestureEvent.delta to mDelta. r=masayuki 2016-05-10 04:16:55 +09:00
SimpleGestureEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
SpeechRecognitionError.cpp
SpeechRecognitionError.h
StorageEvent.cpp
StorageEvent.h
TextComposition.cpp Bug 1275906 part.2 TextComposition should use IMEContentObserver for sending NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED if the editor which has the composition is in the active IMEContentObserver r=smaug 2016-06-01 22:14:41 +09:00
TextComposition.h Bug 1275906 part.2 TextComposition should use IMEContentObserver for sending NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED if the editor which has the composition is in the active IMEContentObserver r=smaug 2016-06-01 22:14:41 +09:00
Touch.cpp Bug 1234656 - Add TouchEvent ctor, r=mbrubeck 2015-12-29 15:46:18 +02:00
Touch.h Bug 1234656 - Add TouchEvent ctor, r=mbrubeck 2015-12-29 15:46:18 +02:00
TouchEvent.cpp Bug 1203140 - Add a pref cache for the touch events pref, as it can get called a lot. r=smaug 2016-05-24 11:24:30 -04:00
TouchEvent.h Bug 1188539 - Remove the deprecated TouchList::identifiedTouch method; r=jst 2015-08-12 20:57:58 -05:00
TransitionEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
TransitionEvent.h
UIEvent.cpp Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
UIEvent.h Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
VirtualKeyCodeList.h
WheelEvent.cpp Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug 2016-04-18 23:09:02 +09:00
WheelEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
WheelHandlingHelper.cpp Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug 2016-04-18 23:09:02 +09:00
WheelHandlingHelper.h
XULCommandEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
XULCommandEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00