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

41 Коммитов

Автор SHA1 Сообщение Дата
Masayuki Nakano cee96a2b9a Bug 1337718 part.7 Make IMEStateManager::OnMouseButtonEventInEditor() take WidgetMouseEvent* instead of nsIDOMMouseEvent r=m_kato
MozReview-Commit-ID: FDselwSymZq

--HG--
extra : rebase_source : 211e4f91075d0a93bf10fd82273856010957b3ee
2017-02-08 22:02:49 +09:00
Randell Jesup 8f96069cc5 Bug 1298169: use StaticRefPtr r=masayuki 2016-09-20 01:12:09 -04:00
Masayuki Nakano f8210c2a4e Bug 1275918 part.2 Update TextComposition::mCompositionStartOffset when it's modified in the remote process r=m_kato
MozReview-Commit-ID: H1SJTWWav6G

--HG--
extra : rebase_source : 6d7d79e7d4d719b720bed4f4c20196079fb8b5fb
2016-06-14 21:06:34 +09:00
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
Masayuki Nakano a58a540708 Bug 1251063 PuppetWidget should cache InputContext which is set with SetInputContext() and use it in GetInputContext() only when it is the widget which has active input context in the process r=smaug
PuppetWidget::GetInputContext() needs to communicate with its parent process with synchronous IPC. This is very expensive for focus move.

Currently, IMEStateManager uses nsIWidget::GetInputContext() only for checking the IME enabled state.  Therefore, it's enough to cache input context when nsIWidget::SetInputContext() is called.  Then, we can avoid to communicate with synchronous IPC with PuppetWidget::GetInputContext() in most cases.

This patch makes IMEStateManager stores the last widget which sets input context.  When PuppetWidget uses its input context cache, it should check if it is the last widget to set input context with IMEStateManager since an input context may be shared with other widgets and another one may have update the input context.  I.e., PuppetWidget's input context cache may be already outdated after IMEStateManager sets input context with another widget.

This patch gives up to support retrieving IME open state from child process. However, perhaps, this is not necessary for everybody including add-on developers because the only user of IME open state in child process is nsIDOMWindowUtils. So, add-ons can send IME open state from chrome process instead.  If this decision is wrong, unfortunately, we should support it again in another bug.  It's easy to support with creating another nsIWidget::GetInputContext() or adding additional argument to it.

MozReview-Commit-ID: B2d2CCTsPKj

--HG--
extra : rebase_source : 4117330ba7871753176da960063b612e96f11752
2016-05-28 11:27:56 +09:00
Masayuki Nakano 4d21fa83d0 Bug 1179632 part.6 KeyboardEvent.isComposing shouldn't expose IME state on different document r=smaug 2015-12-04 18:50:43 +09:00
Masayuki Nakano 3d27dcecfa Bug 1179632 part.5 WidgetCompositionEvent::mNativeIMEContext should be used at looking for a TextComposition instance for a WidgetCompositionEvent r=smaug 2015-12-04 18:50:34 +09:00
Robert O'Callahan 7739604da7 Bug 1222092. Don't let sFocusedIMEWidget keep an nsIWidget alive during shutdown. r=masayuki
--HG--
extra : commitid : GsPzx7tAfKb
extra : rebase_source : e202fd334b43956966daa1c7e9297d12c822dfd4
2015-11-13 17:05:54 +13:00
Masayuki Nakano 6a5c380903 Bug 1176955 part.1 TextComposition should guarantee that WidgetSelectionEvent should be handled by same content as the target of composition events when there is a composition r=smaug 2015-07-17 11:25:00 +09:00
Masayuki Nakano b577b3a7ed Bug 1179122 TextComposition should manage a composition which is even in a child process r=smaug 2015-07-03 11:49:36 +09:00
Masayuki Nakano 9ce25e1e4d Bug 1053053 part.5 Make IMEStateManager::sActiveIMEContentObserver StaticRefPtr r=smaug 2015-07-01 22:19:11 +09:00
Masayuki Nakano 38e32ac3ff Bug 1053053 part.4 Make IMEStateManager::sContent StaticRefPtr r=smaug 2015-07-01 22:19:11 +09:00
Masayuki Nakano 3e2c998faa Bug 1053053 part.3 Notify child process's IMEStateManager of menu key event listener being installed r=smaug 2015-07-01 22:19:11 +09:00
Masayuki Nakano 3a23696fda Bug 1053053 part.2 Notify child process's IMEStateManager of that it should stop manageing IME state r=smaug 2015-07-01 22:19:11 +09:00
Masayuki Nakano 66a78db644 Bug 1053053 part.1 Active TabParent should be managed by IMEStateManager r=smaug 2015-07-01 22:19:11 +09:00
Masayuki Nakano a6bad653ec Bug 1175392 part.2 IMEStateManager should manage notifications to IME especially delayed notifications from remote process r=smaug 2015-06-27 09:23:31 +09:00
Masayuki Nakano 3dd4837286 Bug 1175392 part.1 IMEContentObserver and TabParent should use IMEStateManager::NotifyIME() r=smaug 2015-06-27 09:23:31 +09:00
Jim Chen ada45abfc5 bug 1112212 - Set flag in InputContext for IME-unaware webapps; r=masayuki 2015-06-16 19:02:39 -04:00
Masayuki Nakano 29e56f5a88 Bug 1162818 part.6 Don't notify IME of anything during reframing the editor r=smaug 2015-06-05 02:06:10 +09:00
Masayuki Nakano 91298b51a5 Bug 1167022 part.4 Get rid of MozIMEFocus(In|Out) events r=smaug 2015-05-26 16:45:26 +09:00
Masayuki Nakano f9ae17caea Bug 1167022 part.2 IMEStateManager::UpdateIMEState() should try to restart to observe focused editor when it's reframed r=smaug+nchen 2015-05-26 16:45:26 +09:00
Phil Ringnalda 53b4601f96 Back out 4 changesets (bug 1167022) for reftest-e10s bustage
CLOSED TREE

Backed out changeset de4013b979a7 (bug 1167022)
Backed out changeset b97f76c4be1c (bug 1167022)
Backed out changeset cbc7f8b88a46 (bug 1167022)
Backed out changeset 00b1c04181d3 (bug 1167022)
2015-05-23 21:40:21 -07:00
Masayuki Nakano bdb3dae876 Bug 1167022 part.4 Get rid of MozIMEFocus(In|Out) events r=smaug 2015-05-24 10:11:37 +09:00
Masayuki Nakano bbfdde48f6 Bug 1167022 part.2 IMEStateManager::UpdateIMEState() should try to restart to observe focused editor when it's reframed r=smaug+nchen 2015-05-24 10:11:37 +09:00
Andrew McCreight 9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Andrea Marchesini 789ad8312d Bug 1156632 - Remove unused forward class declarations - patch 3 - dom/{events,xbl,xslt,xul} and others, r=ehsan 2015-04-22 08:29:18 +02:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Kartikaya Gupta d8cde2ed0d Bug 1121430 - Back out 4 csets from bug 1112212 for breaking backspace on Android. r=backout 2015-01-15 10:52:05 -05:00
Jim Chen 3817965035 bug 1112212 - Set flag in InputContext for IME-unaware webapps; r=masayuki 2015-01-10 12:41:57 -05:00
Masayuki Nakano 020fd43d35 Bug 1047588 - IMEContentObserver::Init() should take nsIEditor because nsDocShell sometimes hasn't been initialized and nsContentEditor::GetHTMLEditor() fails. r=smaug 2014-11-05 08:12:44 -05:00
Wes Kocher e005079968 Backed out changeset f86dbba73d43 (bug 1047588) under suspicion of adding a hazard on a CLOSED TREE 2014-11-04 20:25:47 -08:00
Masayuki Nakano a75c24771c Bug 1047588 IMEContentObserver::Init() should take nsIEditor because nsDocShell sometimes hasn't been initialized and nsContentEditor::GetHTMLEditor() fails r=smaug 2014-11-05 10:36:37 +09:00
Masayuki Nakano 2be456d529 Bug 960871 part.10 Some methods which took both WidgetCompositionEvent and WidgetTextEvent should take only WidgetCompositionEvent r=smaug 2014-10-07 19:01:49 +09:00
Masayuki Nakano 09a5b86212 Bug 960871 part.4 Rename NS_TEXT_TEXT to NS_COMPOSITION_CHANGE and fix comments which mention text events r=smaug 2014-10-07 19:01:47 +09:00
Masayuki Nakano 0cecd2284c Bug 1065835 part.4 Destroy TextComposition instance after handling synthesized compositionend event when synthesized events for a request to commit or cancel is caused by PresShell discarding native compositionend event r=smaug 2014-09-26 09:05:12 +09:00
Masayuki Nakano 345fc83f18 Bug 1065835 part.1 Synthesize composition events for committing composition string if requesting to commit of IME isn't performed synchronously r=smaug 2014-09-26 09:05:11 +09:00
Masayuki Nakano 93cf48640e Bug 826657 part.2 Implement NOTIFY_IME_OF_MOUSE_BUTTON_EVENT in XP part r=smaug+ehsan 2014-08-29 19:08:43 +09:00
Masayuki Nakano bc12cdb1f0 Bug 1037346 IMEStateManager should ignore a call of UpdateIMEState() which is caused by a call of nsIContent::GetDesiredIMEState() r=smaug 2014-07-17 14:08:44 +09:00
Masayuki Nakano 05c7d9794b Bug 1038089 IMEStateManager should log its behavior r=smaug 2014-07-16 14:13:28 +09:00
Masayuki Nakano 65cfda3094 Bug 983049 part.4 Rename nsDispatchingCallback to mozilla::EventDispatchingCallback r=smaug 2014-03-18 13:48:20 +09:00
Masayuki Nakano b51ee921de Bug 978023 part.3 Rename nsIMEStateManager to mozilla::IMEStateManager r=smaug
--HG--
rename : dom/events/nsIMEStateManager.cpp => dom/events/IMEStateManager.cpp
rename : dom/events/nsIMEStateManager.h => dom/events/IMEStateManager.h
2014-03-08 10:20:07 +09:00