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

77 Коммитов

Автор SHA1 Сообщение Дата
Masayuki Nakano c92ba85982 Bug 1261880 NativeKey should decide printable KeyboardEvent.key value of keydown and keypress events with following WM_CHAR message of WM_KEYDOWN r=m_kato
Some special keyboard layout may use a key as a non-lockable modifier key even if the key isn't a non-lockable modifier key (e.g., CapsLock key of 'Neo' for German). In such case, KeyboardLayout class cannot initialize NativeKey::mCommittedCharsAndModifiers with actual input character properly because KeyboardLayout class doesn't support such eccentric keyboard layouts.

For preventing this issue, NativeKey should overwrite mCommittedCharsAndModifiers with following WM_CHAR message when it handles WM_KEYDOWN and should handle with following WM_CHAR message.  However, we should ignore following WM_CHAR message if the character is a control character which shouldn't be inputted into focused text editor.

MozReview-Commit-ID: Ax01nnaRXek

--HG--
extra : rebase_source : fd802e868db8990481873ee8eb98375a50efa47a
2016-05-11 16:47:38 +09:00
Masayuki Nakano 4b0070a96d Bug 1263389 NativeKey should initialize WidgetKeyboardEvent::mKeyValue of WM_KEYDOWN of VK_PACKET with following char message r=m_kato
TextEventDispatcher initializes charCode value with mKeyValue (and mKeyNameIndex) of WidgetKeyboardEvent.  Therefore, NativeKey needs to initialize mKeyValue properly at handling WM_KEYDOWN message of VK_PACKET.  However, nobody initializes mCommittedCharsAndModifiers value of VK_PACKET.  Additionally, KeyboardLayout::ConvertNativeKeyCodeToKeyNameIndex() returns KEY_NAME_INDEX_Unidentified for it too.

Therefore, this patch creates a path for handling VK_PACKET.  First, makes KeyboardLayout::ConvertNativeKeyCodeToKeyNameIndex() returns KEY_NAME_INDEX_USE_STRING.  Next, the constructor of NativeKey initializes mCommittedCharsAndModifiers with following char message.  Additionally, makes sure that VK_PACKET is always handled with following char message even if there is no char message.
2016-04-25 16:42:59 +09:00
Masayuki Nakano 0b9b9bf032 Bug 1257759 part.9 Implement nsWindow::OnKeyEventInPluginProcess() on Windows r=jimm
Implementing nsWindow::OnWindowedPluginKeyEvent() on Windows.  This patch makes NativeKey class dispatches eKeyDownOnPlugin and eKeyUpOnPlugin when the method is called.

MozReview-Commit-ID: L8yRZvDaQKR

--HG--
extra : rebase_source : 387ce72dcea23a92bd8c774fc54a8bff8da6c844
2016-04-15 17:02:36 +09:00
Masayuki Nakano 8a8e89ac9b Bug 1257759 part.3 ModifierKeyState should be available in plugin module r=jimm
Before posting native key message from PluginInstanceChild, we need to check if the key combination could be a shortcut key, i.e., we need to check if Ctrl or Alt key is pressed.  ModifierKeyState is a good class for checking it but it should be defined in an independent header file.

This patch separates the definition of ModifierKeyState to mozilla/widget/WinModifierKeyState.h and implement MaybeMatchShortcutKey() for PluginInstanceChild.

MozReview-Commit-ID: ZjLnJx02Ou

--HG--
rename : widget/windows/KeyboardLayout.h => widget/windows/WinModifierKeyState.h
extra : rebase_source : 66e9351a36dfa88f080ea78972ac0cb347bb174d
2016-04-09 15:45:06 +09:00
Jonathan Watt 05a14131e5 Bug 1265953, part 2 - Convert much of the rest of the widget code from nsAutoPtr to UniquePtr. r=mstange 2016-04-19 21:51:25 +01:00
Masayuki Nakano bd594893c8 Bug 1137561 part.8 Implement WinTextEventDispatcherListener::WillDispatchKeyboardEvent() r=m_kato 2016-03-16 13:47:49 +09:00
Masayuki Nakano 697c992f55 Bug 1137561 part.7 Rename whole members added by the previous patch r=m_kato 2016-03-16 13:47:49 +09:00
Masayuki Nakano 1728345f86 Bug 1137561 part.6 Store some strings which may be inputted by the key with some modifier state before dispatching keydown event r=m_kato 2016-03-16 13:47:49 +09:00
Masayuki Nakano 2b2851d542 Bug 1137561 part.4 Make NativeKey use TextEventDispatcher r=m_kato 2016-03-16 13:47:49 +09:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Masayuki Nakano ba5b3f3fe6 Bug 895274 part.11 Rename NS_KEY_DOWN to eKeyDown r=smaug 2015-08-29 08:58:27 +09:00
Andrea Marchesini ade2831035 Bug 1156632 - Remove unused forward class declarations - patch 6 - the rest of the tree, r=ehsan 2015-04-22 08:29:24 +02:00
Jacek Caban eec0326676 Bug 1153829 - Don't use MOZ_ALWAYS_INLINE for non-inline functions. r=jimm 2015-04-14 18:06:58 +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
Masayuki Nakano 7fd8ddebc2 Bug 865561 Dispatch key events when WM_APPCOMMAND is fired for a keypress r=jimm+smaug 2014-12-30 10:47:56 +09:00
Masayuki Nakano dc1f8cc2f6 Bug 1015028 Compute scan code value from virtual keycode if a keydown/keyup message doesn't have proper scancode value r=jimm 2014-06-01 11:32:08 +09:00
Masayuki Nakano a699e5cbbf Bug 865649 part.2 Set KeyboardEvent.code value on Windows r=smaug+jimm 2014-05-25 11:08:59 +09:00
Masayuki Nakano 3598ca34d9 Bug 981960 Retry to remove found char message with GetMessage() when PeekMessage() fails to remove the message from the queue r=jimm 2014-03-12 20:04:17 +09:00
Masayuki Nakano f73beb507a Bug 962140 When PeekMessage() fails to remove found char message, just ignore it (not to dispatch keyprese event) r=jimm 2014-03-04 10:34:27 +09:00
Masayuki Nakano ad71ce4872 Bug 962140 Remove following char message of keydown message with found message r=jimm 2014-02-11 14:29:17 +09:00
Masayuki Nakano 825a645a66 Bug 962140 Use PeekMessage() instead of GetMessage() in KeyboardLayout.cpp r=jimm 2014-02-01 01:31:01 +09:00
Ehsan Akhgari 1b83407ce9 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.h \
         -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 PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Jacek Caban 54f8cc293a Bug 944894 - Fix char16_t/wchar_t mismatch in widget/windows/. r=jimm
--HG--
extra : rebase_source : 829390ff7e6f4eb71dcd32c9d1aa27f61baa6653
2013-12-03 16:12:57 +01:00
Masayuki Nakano 193fd83275 Bug 600117 part.2 Implement KeyboardEvent.repeat on Windows r=jimm 2013-11-07 20:17:32 +09:00
Masayuki Nakano f135c17228 Bug 602787 part.9 Don't implement methods which need BasicEvents.h or TextEvents.h in windows/KeyboardLayout.h r=jimm 2013-10-22 22:27:36 +09:00
Masayuki Nakano e73dea32d8 Bug 602787 part.8 Don't implement nsWindowBase::DispatchPluginEvent() in windows/nsWindowBase.h r=jimm 2013-10-22 22:27:35 +09:00
Wes Kocher e3f57c4d94 Backed out 9 changesets (bug 602787) on suspicion of breaking mochitest-metro on a CLOSED TREE
Backed out changeset 1730bcae2c45 (bug 602787)
Backed out changeset 70606b9b1e42 (bug 602787)
Backed out changeset 57ca2861ea30 (bug 602787)
Backed out changeset 3b9f1062d915 (bug 602787)
Backed out changeset 3ee56eacc84b (bug 602787)
Backed out changeset 1c35693be3d3 (bug 602787)
Backed out changeset ef095c3aef98 (bug 602787)
Backed out changeset 4827bdae97fd (bug 602787)
Backed out changeset fa0f355e7871 (bug 602787)
2013-10-22 13:11:53 -04:00
Masayuki Nakano 1aaa1d8c9f Bug 602787 part.9 Don't implement methods which need BasicEvents.h or TextEvents.h in windows/KeyboardLayout.h r=jimm 2013-10-22 22:27:36 +09:00
Masayuki Nakano 8086dafaf2 Bug 602787 part.8 Don't implement nsWindowBase::DispatchPluginEvent() in windows/nsWindowBase.h r=jimm 2013-10-22 22:27:35 +09:00
Masayuki Nakano 84078f9904 Bug 920377 part.26 Get rid of nsInputEvent r=roc 2013-10-01 16:23:02 +09:00
Masayuki Nakano 3a0b655e5a Bug 920377 part.17 Get rid of nsKeyEvent r=roc 2013-10-01 16:22:58 +09:00
Masayuki Nakano 0fbfe07d7e Bug 912956 part.2 Rename nsEvent.h to mozilla/EventForwards.h and sort out it r=roc
--HG--
rename : widget/nsEvent.h => widget/EventForwards.h
2013-09-24 19:04:14 +09:00
Masayuki Nakano 8d50fcdfab Bug 907657 Don't store following char message because it may be removed during dispatching keydown event r=jimm 2013-08-27 21:34:57 +09:00
Masayuki Nakano 890fa71e70 Bug 892606 part.3 FakeCharMsg should be marked as consumed and only non-consumed char message should be synthesized r=jimm 2013-08-14 11:09:38 +09:00
Masayuki Nakano f29b3580a9 Bug 892606 part.2 Fix scancode value in lParam generated by KeyboardLayout::SynthesizeNativeKeyEvent() r=jimm 2013-08-14 11:09:38 +09:00
Masayuki Nakano 33a5b971f9 Bug 501496 part.1 Don't dispatch keypress events if defaultPrevent() of the keydown event is called on Windows r=smaug+jimm 2013-07-25 15:09:28 +09:00
Masayuki Nakano e07e1329ce Bug 896362 part.1 Support VK_ABNT_C1 and VK_ABNT_C2 (keyCode and location) r=jimm+smaug 2013-07-25 15:04:17 +09:00
Masayuki Nakano 5aaae31bae Bug 891292 r=jimm 2013-07-10 00:54:41 +09:00
Justin Lebar 051c5b560a Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else

This is a mechanical change made with sed.  Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Jacek Caban 95dd1b74cc Bug 855975 - Include typo fix. 2013-05-30 11:52:14 +02:00
Masayuki Nakano a0dfbbe736 Bug 855975 part.22 Move sModifierKeyMap from nsWindowDefs.h to KeyboardLayout.h r=jimm 2013-05-29 15:34:49 +09:00
Masayuki Nakano 04f15faf88 Bug 855975 part.21 Rename nsFakeCharMessage with widget::NativeKey::FakeCharMsg r=jimm 2013-05-29 15:34:49 +09:00
Masayuki Nakano a077030500 Bug 855975 part.20 Sort out the scope of the methods of widget::NativKey r=jimm 2013-05-29 15:34:49 +09:00
Masayuki Nakano 3a5490f2b4 Bug 855975 part.19 Move nsWindow::SynthesizeNativeKeyEvent() to widget::KeyboardLayout::SynthesizeNativeKeyEvent() r=jimm 2013-05-29 15:34:49 +09:00
Masayuki Nakano c9d8a4d90f Bug 855975 part.18 Merge widget::NativeKey::DispatchKeyDown() into widget::NativeKey::HandleKeyDown() r=jimm 2013-05-29 15:34:49 +09:00
Masayuki Nakano 22ab5a3d5b Bug 855975 part.17 Move nsWindow::OnKeyDown() to widget::NativeKey::HandleKeyDownMessage() r=jimm 2013-05-29 15:34:49 +09:00
Masayuki Nakano 544e9ff0bb Bug 855975 part.16 Move keydown message redirect manager from nsWindow to widget::RedirectedKeyDownMessageManager r=jimm 2013-05-29 15:34:49 +09:00
Masayuki Nakano 60c98c8f62 Bug 855975 part.15 Use widget::NativeKey::mCommittedCharsAndModifiers directly in the methods of widget::NativeKey r=jimm 2013-05-29 15:34:48 +09:00
Masayuki Nakano 9b75f6917d Bug 855975 part.14 Move following WM_*CHAR message handler from nsWindow::OnKeyDown() to widget::NativeKey::DispatchKeyPressEventForFollowingCharMessage() r=jimm 2013-05-29 15:34:48 +09:00
Masayuki Nakano 31dd337bab Bug 855975 part.13 widget::NativeKey should manage following WM_*CHAR message if it's initialized with WM_*KEYDOWN r=jimm 2013-05-29 15:34:48 +09:00