gecko-dev/dom
Masayuki Nakano 0ed11cb188 Bug 1453629 - nsIWidget::GetNativeIMEContext() should return pseudo IME context if TextInputProcessor has a composition on the widget r=m_kato
Key of TextCompositionArrary to search composition on widget is native IME
context.  However, if TextInputProcessor dispatches composition events via
TextEventDispatcher, TextEventDispatcher::InitEvent() sets native IME context
of dispatching composition events to pseudo IME context (that's raw pointer
of TextEventDispatcher and process ID).

IMEStateManager::DispatchCompositionEvent() looks for existing TextComposition
with native IME context stored in WidgetCompositionEvent before dispatching
an event.  However, after dispatching it, it looks for remaining TextComposition
instance with widget stored in WidgetCompositionEvent.  Then,
TextCompositionArrary::IndexOf(nsIWidget*) will look for an instance with
the result of nsIWidget::GetNativeIMEContext() and this never returns actual
native IME context.  Therefore, IMEStateManager::DispatchCompositionEvent()
always fails to remove TextComposition instance from the array even after
a test composition is finished.

This patch moves nsIWidget::GetNativeIMEContext() to nsBaseWidget to refer
nsBaseWidget::mTextEventDispatcher makes it return pseudo IME context if
TextInputProcessor has input transaction.  Therefore, IMEStateManager becomes
always removes TextComposition from the array when every composition ends.

MozReview-Commit-ID: H1PCtPjBYJR

--HG--
extra : rebase_source : cbb3f3aae9954d65135d3840be8974fa30c4f7ff
2018-07-17 22:31:51 +09:00
..
abort Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
animation Bug 1471814 - Add a preference for {Document,Element}.getAnimations(); r=bz,hiro 2018-07-14 09:23:03 +09:00
asmjscache Bug 1453795 - DOM - Initialize member fields in classes/ structures. r=peterv 2018-06-16 17:21:46 +03:00
audiochannel
base Bug 1453629 - nsIWidget::GetNativeIMEContext() should return pseudo IME context if TextInputProcessor has a composition on the widget r=m_kato 2018-07-17 22:31:51 +09:00
battery Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
bindings Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
broadcastchannel Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
browser-element Bug 1472424 - BrowserElementParent should use IsInComposedDoc, r=mrbkap 2018-07-03 18:08:19 +03:00
cache Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
canvas Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
chrome-webidl Merge inbound to mozilla-central. a=merge 2018-07-13 11:52:00 +03:00
clients Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
commandhandler Bug 1475461 - part 2: Make callers of PLDHashTable::Search() const methods if possible r=Ehsan 2018-07-13 19:01:53 +09:00
console Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
credentialmanagement Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
crypto Bug 1453795 - DOM/Crypto - Initialize member fields in classes/ structures. r=mt 2018-07-11 10:37:57 +03:00
encoding Bug 1473631: Part 0a - Make preference callbacks typesafe. r=njn 2018-07-06 12:24:41 -07:00
events Bug 1473587 - CSP Violation events should have the correct sample for inline contexts, r=jorendorff, r=ckerschb 2018-07-16 17:58:04 +02:00
fetch Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
file Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
filehandle
filesystem Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
flex Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
gamepad Bug 1473193 - Don't use dom/gamepad/linux on non-Linux OSes. r=qdot 2018-07-03 17:54:32 -07:00
geolocation Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
grid Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
html Bug 1468648 - Skip file_fullscreen-scrollbar.html test in headless mode. r=jrmuizel 2018-07-16 11:27:03 +10:00
imptests
indexedDB Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
interfaces Bug 1475065 part 13. Remove nsIDOMOfflineResourceList. r=nika 2018-07-13 15:42:08 -07:00
ipc Bug 1475382 - Turn off async content process launching, pending better error handling. r=spohl 2018-07-13 15:20:25 -06:00
jsurl Bug 1418236 - Correct EventTarget for CSP violation events, r=ckerschb 2018-07-10 17:40:21 +02:00
locales Bug 1471502 - Misleading console error message fixed r=ckerschb 2018-07-08 02:16:12 +03:00
manifest
mathml Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
media Bug 1474658 - P3 - Expect RTCRtpStreamStats.ssrc to be an unsigned long in mochitests r=mjf 2018-07-12 13:52:20 -07:00
messagechannel Bug 1470306 - Ensure MessagePort is in the right state if the connection to PBackground fails, r=qdot 2018-07-17 07:14:06 +02:00
midi Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
network Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
notification Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
offline Bug 1475065 part 13. Remove nsIDOMOfflineResourceList. r=nika 2018-07-13 15:42:08 -07:00
payments Bug 1468356 - Implement onpaymentmethodchange attribute. r=mrbkap 2018-06-30 10:11:00 +03:00
performance Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
permission Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
plugins Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
power
presentation Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
promise Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
push Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-03 00:59:47 +03:00
quota Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
res
script Backed out 7 changesets (bug 1475228) for causing Spidermonkey rust failures on Linux x64 debug 2018-07-17 17:57:55 +03:00
security Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
serviceworkers Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
smil Bug 1471814 - Add a preference for {Document,Element}.getAnimations(); r=bz,hiro 2018-07-14 09:23:03 +09:00
storage Bug 1473217 - Part 2: dom: Fix misc-unused-raii warnings. r=baku 2018-07-03 22:09:54 -07:00
svg Bug 1286882 - Make SVG basic shape elements unselectable. r=dholbert 2018-07-13 18:01:48 +00:00
system Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
tests Bug 1476158 - Enable dom.animations-api.core.enabled on beta/release; r=bz 2018-07-18 10:46:38 +09:00
u2f Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
url Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
vr Bug 1470527 - Implement Controller support for gfxVRExternal and VRServiceOpenVR,r=daoshengmu 2018-07-11 12:20:51 -07:00
webauthn Bug 1474273 - Add xpc::CurrentNativeGlobal and use it instead of NativeGlobal(JS::CurrentGlobalOrNull(cx)). r=bz 2018-07-11 14:07:02 +02:00
webbrowserpersist Bug 1473509 - store principal information with the URIs to avoid having to locate documents after the fact, r=mccr8 2018-07-06 17:27:17 +01:00
webgpu Bug 1469376 - Initial stubs for WebGPU sketch API. - r=kvark,qdot 2018-06-13 10:43:48 -07:00
webidl Bug 1476158 - Guard CSSAnimation and CSSTransition interfaces behind getAnimations() pref; r=bz 2018-07-18 10:32:33 +09:00
websocket Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
workers Bug 1432010 - Failures in PBackground channel creation must result in a error event in Web Workers, r=mrbkap 2018-07-18 12:07:14 +02:00
worklet Bug 1471843: Remove audioWorklet attribute from Window. r=baku,karlt 2018-07-03 16:58:16 +02:00
xbl Bug 1472555 - Part 1 - Remove listbox crashtests and reftests. r=bz 2018-07-07 12:45:55 +01:00
xhr Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
xml Bug 1418246 - Return valid columnNumber value in CSP violation events, r=ckerschb 2018-07-05 08:21:04 +02:00
xslt Bug 1471814 - Add a preference for Web Animations timelines; r=bz,hiro 2018-07-14 09:23:03 +09:00
xul Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-19 00:49:25 +03:00
jar.mn
moz.build Bug 1475065 part 13. Remove nsIDOMOfflineResourceList. r=nika 2018-07-13 15:42:08 -07:00