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

166 Коммитов

Автор SHA1 Сообщение Дата
Gregory Pappas 47a1fa0853 Bug 1846476 - Remove ui.osk.require_win10 pref r=rkraesig,Gijs,settings-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D185199
2023-08-03 19:07:25 +00:00
Masatoshi Kimura 9ec38aeba1 Bug 1844908 - Remove pre-Win10-specific codepath from widget/. r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D184307
2023-07-26 08:52:54 +00:00
Natalia Csoregi 72a7b95555 Backed out 19 changesets (bug 1844908) for causing win bustage on AvailableMemoryTracker.cpp. CLOSED TREE
Backed out changeset 44c66f2233cf (bug 1844908)
Backed out changeset a8010ff534bf (bug 1844908)
Backed out changeset 225dc3aeb220 (bug 1844908)
Backed out changeset a1414db64e33 (bug 1844908)
Backed out changeset 7f1e0a527839 (bug 1844908)
Backed out changeset 6dc7646d1ffa (bug 1844908)
Backed out changeset 8d715131510f (bug 1844908)
Backed out changeset 4b6fe8a4e7db (bug 1844908)
Backed out changeset 2b419fabf1e8 (bug 1844908)
Backed out changeset af84e701d616 (bug 1844908)
Backed out changeset 2fa203969ec5 (bug 1844908)
Backed out changeset 2b3d2df94db3 (bug 1844908)
Backed out changeset 7eca452f5fd7 (bug 1844908)
Backed out changeset 3d961cf25afe (bug 1844908)
Backed out changeset 3c59143f8dd7 (bug 1844908)
Backed out changeset ab50c6c5425a (bug 1844908)
Backed out changeset b2c5636df673 (bug 1844908)
Backed out changeset e9a0f1c6760c (bug 1844908)
Backed out changeset 945ccbedde0b (bug 1844908)
2023-07-25 19:55:35 +03:00
Masatoshi Kimura 07e5081a48 Bug 1844908 - Remove pre-Win10-specific codepath from widget/. r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D184307
2023-07-25 14:41:05 +00:00
Masayuki Nakano a7a7af15f2 Bug 1796044 - part 15: Make `intl.tsf.support_imm` a static pref r=m_kato
This pref is used for behavior check of how newer TSF behave without IMC.
Therefore, this shouldn't be used by users.  However, like bug 1367692 and
bug 1409155, this may be useful when we meet a critical bug of old IME in
newer Windows.  Thus we should keep this pref.

Depends on D159817

Differential Revision: https://phabricator.services.mozilla.com/D159818
2022-10-25 07:07:00 +00:00
Masayuki Nakano 4deece589a Bug 1796044 - part 14: Get rid of `intl.tsf.associate_imc_only_when_imm_ime_is_active` r=m_kato
It's introduced in bug 1367692 to make it possible to test the bug of old
MS-IME on Windows 10 with later versions.  Now, the bug and the old versions
have gone.  Therefore, we don't need this pref anymore.

Depends on D159816

Differential Revision: https://phabricator.services.mozilla.com/D159817
2022-10-25 07:07:00 +00:00
Masayuki Nakano b224ff9c39 Bug 1796044 - part 13: Make `intl.tsf.hack.atok.search_input_scope_disabled` a static pref r=m_kato
Depends on D159815

Differential Revision: https://phabricator.services.mozilla.com/D159816
2022-10-25 07:06:59 +00:00
Masayuki Nakano 725ca35ef4 Bug 1792515 - Rename `InputContext::mHTMLInputInputmode` to `mHTMLInputMode` r=m_kato,geckoview-reviewers
Now, `inputmode` attribute (`inputMode` in the DOM interface) is a global
attribute for `contenteditable`.  Therefore, `Input` is not necessary and
`Inputmode` should be `InputMode`.

Differential Revision: https://phabricator.services.mozilla.com/D158244
2022-09-29 14:06:03 +00:00
Sandor Molnar 8df3106ce1 Backed out changeset a00513981ecf (bug 1792515) for causing bug 1792767 CLOSED TREE 2022-09-29 04:56:22 +03:00
Masayuki Nakano f247c5278d Bug 1792515 - Rename `InputContext::mHTMLInputInputmode` to `mHTMLInputMode` r=m_kato,geckoview-reviewers
Now, `inputmode` attribute (`inputMode` in the DOM interface) is a global
attribute for `contenteditable`.  Therefore, `Input` is not necessary and
`Inputmode` should be `InputMode`.

Depends on D157894

Differential Revision: https://phabricator.services.mozilla.com/D158244
2022-09-28 23:55:23 +00:00
Mike Hommey e55237be4d Bug 1766377 - Fix sign-compare warnings related to Windows constants. r=rkraesig,gfx-reviewers,sotaro
obj-build/dist/include/gtest/gtest.h(1354,11): error: comparison of integers of different signs: 'const unsigned long' and 'const long' [-Werror,-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
obj-build/dist/include/gtest/gtest.h(1373,12): note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<unsigned long, long>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
toolkit/components/maintenanceservice/tests/gtest/ServiceStartInteractiveOnly.cpp(51,3): note: in instantiation of function template specialization 'testing::internal::EqHelper::Compare<unsigned long, long, nullptr>' requested here
  ASSERT_EQ(GetLastError(), ERROR_ACCESS_DENIED);
  ^
obj-build/dist/include/gtest/gtest.h(1871,31): note: expanded from macro 'ASSERT_EQ'
                              ^
obj-build/dist/include/gtest/gtest.h(1855,54): note: expanded from macro 'GTEST_ASSERT_EQ'
  ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
                                                     ^
obj-build/dist/include/gtest/gtest.h(1354,11): error: comparison of integers of different signs: 'const unsigned long' and 'const long' [-Werror,-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
obj-build/dist/include/gtest/gtest.h(1373,12): note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<unsigned long, long>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
toolkit/library/gtest/TestUCRTDepends.cpp(52,5): note: in instantiation of function template specialization 'testing::internal::EqHelper::Compare<unsigned long, long, nullptr>' requested here
    EXPECT_EQ(GetLastError(), ERROR_FILE_NOT_FOUND);
    ^
obj-build/dist/include/gtest/gtest.h(1842,54): note: expanded from macro 'EXPECT_EQ'
  EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
                                                     ^
ipc/chromium/src/base/thread_local_win.cc(18,14): error: comparison of integers of different signs: 'base::ThreadLocalPlatform::SlotType' (aka 'int') and 'DWORD' (aka 'unsigned long') [-Werror,-Wsign-compare]
  CHECK(slot != TLS_OUT_OF_INDEXES);
        ~~~~ ^  ~~~~~~~~~~~~~~~~~~

ipc/glue/WindowsMessageLoop.cpp(381,44): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'int' [-Werror,-Wsign-compare]
        if (objId == OBJID_CLIENT || objId == MOZOBJID_UIAROOT) {
                                     ~~~~~ ^  ~~~~~~~~~~~~~~~~
ipc/glue/WindowsMessageLoop.cpp(381,19): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'LONG' (aka 'long') [-Werror,-Wsign-compare]
        if (objId == OBJID_CLIENT || objId == MOZOBJID_UIAROOT) {
            ~~~~~ ^  ~~~~~~~~~~~~
obj-build/dist/include/gtest/gtest.h(1354,11): error: comparison of integers of different signs: 'const unsigned long' and 'const long' [-Werror,-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
obj-build/dist/include/gtest/gtest.h(1373,12): note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<unsigned long, long>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
xpcom/tests/windows/TestPoisonIOInterposer.cpp(108,5): note: in instantiation of function template specialization 'testing::internal::EqHelper::Compare<unsigned long, long, nullptr>' requested here
    EXPECT_EQ(::GetLastError(), ERROR_IO_PENDING);
    ^
obj-build/dist/include/gtest/gtest.h(1842,54): note: expanded from macro 'EXPECT_EQ'
  EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
                                                     ^
gfx/thebes/gfxGDIFont.cpp(454,13): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'HRESULT' (aka 'long') [-Werror,-Wsign-compare]
    if (ret == E_PENDING) {
        ~~~ ^  ~~~~~~~~~
accessible/windows/msaa/Compatibility.cpp(120,21): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'HRESULT' (aka 'long') [-Werror,-Wsign-compare]
  if (exceptionCode == RPC_E_CANTCALLOUT_ININPUTSYNCCALL && NS_IsMainThread()) {
      ~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
widget/windows/WinIMEHandler.cpp(166,35): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'LONG' (aka 'long') [-Werror,-Wsign-compare]
      static_cast<DWORD>(aLParam) == OBJID_CARET) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~
widget/windows/nsWindow.cpp(541,37): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'LONG' (aka 'long') [-Werror,-Wsign-compare]
        static_cast<DWORD>(aLParam) != OBJID_CLIENT ||
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~

Differential Revision: https://phabricator.services.mozilla.com/D144692
2022-04-29 09:14:11 +00:00
Norisz Fay 6e06e2da92 Backed out 4 changesets (bug 1766377) for causing mochitest failures on HyperTextAccessible.cpp CLOSED TREE
Backed out changeset 6335511477a4 (bug 1766377)
Backed out changeset e8108d6fab9f (bug 1766377)
Backed out changeset 80d16d55c490 (bug 1766377)
Backed out changeset 1a6583d6e52e (bug 1766377)
2022-04-29 07:35:11 +03:00
Mike Hommey c7ad9c4633 Bug 1766377 - Fix sign-compare warnings related to Windows constants. r=rkraesig,gfx-reviewers,sotaro
obj-build/dist/include/gtest/gtest.h(1354,11): error: comparison of integers of different signs: 'const unsigned long' and 'const long' [-Werror,-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
obj-build/dist/include/gtest/gtest.h(1373,12): note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<unsigned long, long>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
toolkit/components/maintenanceservice/tests/gtest/ServiceStartInteractiveOnly.cpp(51,3): note: in instantiation of function template specialization 'testing::internal::EqHelper::Compare<unsigned long, long, nullptr>' requested here
  ASSERT_EQ(GetLastError(), ERROR_ACCESS_DENIED);
  ^
obj-build/dist/include/gtest/gtest.h(1871,31): note: expanded from macro 'ASSERT_EQ'
                              ^
obj-build/dist/include/gtest/gtest.h(1855,54): note: expanded from macro 'GTEST_ASSERT_EQ'
  ASSERT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
                                                     ^
obj-build/dist/include/gtest/gtest.h(1354,11): error: comparison of integers of different signs: 'const unsigned long' and 'const long' [-Werror,-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
obj-build/dist/include/gtest/gtest.h(1373,12): note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<unsigned long, long>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
toolkit/library/gtest/TestUCRTDepends.cpp(52,5): note: in instantiation of function template specialization 'testing::internal::EqHelper::Compare<unsigned long, long, nullptr>' requested here
    EXPECT_EQ(GetLastError(), ERROR_FILE_NOT_FOUND);
    ^
obj-build/dist/include/gtest/gtest.h(1842,54): note: expanded from macro 'EXPECT_EQ'
  EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
                                                     ^
ipc/chromium/src/base/thread_local_win.cc(18,14): error: comparison of integers of different signs: 'base::ThreadLocalPlatform::SlotType' (aka 'int') and 'DWORD' (aka 'unsigned long') [-Werror,-Wsign-compare]
  CHECK(slot != TLS_OUT_OF_INDEXES);
        ~~~~ ^  ~~~~~~~~~~~~~~~~~~

ipc/glue/WindowsMessageLoop.cpp(381,44): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'int' [-Werror,-Wsign-compare]
        if (objId == OBJID_CLIENT || objId == MOZOBJID_UIAROOT) {
                                     ~~~~~ ^  ~~~~~~~~~~~~~~~~
ipc/glue/WindowsMessageLoop.cpp(381,19): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'LONG' (aka 'long') [-Werror,-Wsign-compare]
        if (objId == OBJID_CLIENT || objId == MOZOBJID_UIAROOT) {
            ~~~~~ ^  ~~~~~~~~~~~~
obj-build/dist/include/gtest/gtest.h(1354,11): error: comparison of integers of different signs: 'const unsigned long' and 'const long' [-Werror,-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
obj-build/dist/include/gtest/gtest.h(1373,12): note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<unsigned long, long>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
xpcom/tests/windows/TestPoisonIOInterposer.cpp(108,5): note: in instantiation of function template specialization 'testing::internal::EqHelper::Compare<unsigned long, long, nullptr>' requested here
    EXPECT_EQ(::GetLastError(), ERROR_IO_PENDING);
    ^
obj-build/dist/include/gtest/gtest.h(1842,54): note: expanded from macro 'EXPECT_EQ'
  EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
                                                     ^
gfx/thebes/gfxGDIFont.cpp(454,13): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'HRESULT' (aka 'long') [-Werror,-Wsign-compare]
    if (ret == E_PENDING) {
        ~~~ ^  ~~~~~~~~~
accessible/windows/msaa/Compatibility.cpp(120,21): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'HRESULT' (aka 'long') [-Werror,-Wsign-compare]
  if (exceptionCode == RPC_E_CANTCALLOUT_ININPUTSYNCCALL && NS_IsMainThread()) {
      ~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
widget/windows/WinIMEHandler.cpp(166,35): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'LONG' (aka 'long') [-Werror,-Wsign-compare]
      static_cast<DWORD>(aLParam) == OBJID_CARET) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~
widget/windows/nsWindow.cpp(541,37): error: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'LONG' (aka 'long') [-Werror,-Wsign-compare]
        static_cast<DWORD>(aLParam) != OBJID_CLIENT ||
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~

Differential Revision: https://phabricator.services.mozilla.com/D144692
2022-04-29 00:43:31 +00:00
Emilio Cobos Álvarez 4f96521a7c Bug 1757647 - Simplify WindowsUIUtils tablet mode stuff. r=saschanaz
No need for it to use so much XPCOM.

Differential Revision: https://phabricator.services.mozilla.com/D139986
2022-03-02 12:02:00 +00:00
Chris Martin 63ca6a38f3 Bug 1756621 - Remove nsWindowBase r=handyman
It looks like it was added to abstract commonalities between Win32 and
WinRT. But we dropped support for WinRT a long time ago, and there hasn't been
any work on this area of code in 8 years. In the meantime, it just adds an
extra layer of indirection that doesn't need to exist.

Differential Revision: https://phabricator.services.mozilla.com/D139771
2022-02-28 15:08:03 +00:00
Daisuke Akatsuka 236b747761 Bug 1748128: Avoid sending 'search' input scope when ATOK is active. r=masayuki
When "search" is set to the input scope, there is a case ATOK stop their
suggestions depending on thire setting. To resolve the issue, we need to avoid
sending "search" input scope when ATOK is active. If using the touch keyboard
for touch screens, this change makes user cannot access some specific features
for a "search" input field. Therefore, we introduce a new pref
`intl.tsf.hack.atok.search_input_scope_disabled`, make user can control this
feature.

Differential Revision: https://phabricator.services.mozilla.com/D136448
2022-01-20 07:54:55 +00:00
Hiroyuki Ikezoe 6b5874286f Bug 1348786 - Move nsChildView::DispatchWindowEvent(WidgetGUIEvent&) into nsBaseWidget. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D134359
2022-01-05 09:08:04 +00:00
Gabriele Svelto b49d7a0b90 Bug 1722208 - Fix automatically displaying the on-screen keyboard on Windows 11 when running on convertible slates r=cmartin
This fix simply ignores tablet mode when running on Windows 11. The
reasoning behind this is that per Microsoft documentation tablet mode
is specific to Windows 10 and not supported anymore on Windows 11. This
seems consistent in the behavior of the APIs we use to detect the
presence of a keyboard: Windows 10-specific APIs return unexpected
results while APIs that predate them return values that seem consistent
and reliable.

Differential Revision: https://phabricator.services.mozilla.com/D128229
2021-10-28 21:08:12 +00:00
Makoto Kato 84efb6b5bb Bug 1700029 - Part 3. Move VR's software keyboard code to own class. r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D109261
2021-03-26 05:42:47 +00:00
Makoto Kato 9361d2cfbc Bug 1700029 - Part 2. Move TabTip code to own class. r=masayuki
TabTip's on screen keyboard is for old Windows 10. So I would like to
move this and related code to own class.

Differential Revision: https://phabricator.services.mozilla.com/D109260
2021-03-26 05:42:47 +00:00
Makoto Kato 385dacadfb Bug 1700029 - Part 1. Clean up MaybeShowOnScreenKeyboard. r=masayuki
For bug 1670539, I would like to move each on software keyboard code to
own class at first.

Actually, MaybeShowOnScreenKeyboard handels VR keyboard if VR mode. But
I would like to move VR code to ShowOnScreenKeyboard or own class.

Differential Revision: https://phabricator.services.mozilla.com/D109259
2021-03-26 05:42:47 +00:00
Masayuki Nakano 9e229babfa Bug 1683226 - part 11: Get rid of `IMEEnabled::Plugin` r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D100123
2020-12-21 08:26:24 +00:00
Masayuki Nakano 27565d419d Bug 1683226 - part 8: Make `IMEHandler` on Windows stop handling plugin cases r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D100120
2020-12-21 06:18:04 +00:00
Masayuki Nakano 942e0a3e09 Bug 1683226 - part 7: Get rid of remaining all IMM message handlers for plugin r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D100119
2020-12-21 06:17:36 +00:00
Masayuki Nakano deee66043a Bug 1683226 - part 6: Get rid of the path of `DefaultProcOfPluginEvent` r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D100118
2020-12-21 06:13:09 +00:00
Masayuki Nakano b20f4bb5c2 Bug 1683226 - part 5: Get rid of the path setting candidate window position from plugin on Windows r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D100117
2020-12-21 06:03:33 +00:00
Masayuki Nakano d27602eee6 Bug 1683226 - part 1: Make `IMEState::Enabled` an enum class r=m_kato,geckoview-reviewers
Before deleting `IMEState::Enabled::PLUGIN`, let's make it an enum class
for making the change safer.  Almost all of this change is done by
"replace" of VSCode.

Differential Revision: https://phabricator.services.mozilla.com/D100100
2020-12-21 05:52:03 +00:00
Masayuki Nakano 912a5bc76d Bug 1678553 - part 13: Make `WidgetQueryContentEvent` use `Maybe` to store some data r=m_kato,geckoview-reviewers
Sorry for this big patch.

This makes `WidgetQueryContentEvent::Reply` is stored with `Maybe` to get
rid of `WidgetQueryContentEvent`.  And `Reply` stores offset and string
with `Maybe` and ``OffsetAndData<uint32_t>`, and also tentative caret offset
with `Maybe`.  Then, we can get rid of `WidgetQueryContentEvent::NOT_FOUND`.

Note that I tried to make `OffsetAndData` have a method to create `NSRange`
for cocoa widget.  However, it causes the column limit`to 100 or longer
and that causes unrelated changes in `TextEvents.h` and `IMEData.h`.
Therefore, I create an inline function in `TextInputHandler.mm` instead.

Differential Revision: https://phabricator.services.mozilla.com/D98264
2020-12-02 05:32:19 +00:00
Kagami Sascha Rosylight 8dde7f4f23 Bug 1121822 - Remove NS_ENABLE_TSF r=m_kato,masayuki
Differential Revision: https://phabricator.services.mozilla.com/D95037
2020-10-29 01:46:05 +00:00
Simon Giesecke de7bab0f06 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Makoto Kato 61c5bb1a5e Bug 1648534 - Read HKLM's EnableDesktopModeAutoInvoke entry if no entry in HKCU. r=masayuki
This is regression by bug 1618759 and bug 1197722.

By bug 1197722, we use registry value whether opening software keyboard even if
desktop mode. But this fix isn't enough.

Also, before landing bug 1618759, since TSF manages software keyboard state on
newer Windows 10 version such as Windows 10 RS1, bug 1197722's fix isn't used.
Then, after landing bug 1618759, since we use `EnableDesktopModeAutoInvoke`
again, this issue occurs.

Since `EnableDesktopModeAutoInvoke` is available if in HKLM, we should read
HKLM's key too.

Differential Revision: https://phabricator.services.mozilla.com/D83489
2020-07-17 03:02:15 +00:00
Simon Giesecke cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Makoto Kato 04158012da Bug 1618759 - Part 6. Don't open on-screen keyboard when inputmode is none. r=masayuki
`inputmode=none` means that OSK is closed.

`SetInputContext` doesn't call `DismissOnScreenKeyboard` directly since
`DismissOnScreenKeyboard` has no hack of Firefox VR.

Depends on D68316

Differential Revision: https://phabricator.services.mozilla.com/D68317

--HG--
extra : moz-landing-system : lando
2020-04-07 22:31:16 +00:00
Makoto Kato cb21fe6467 Bug 1618759 - Part 5. Lazy check whether OSK is closed. r=masayuki
As long as I test on my environment, bug 1226148 isn't fixed. Since native
message queue has high priority, Gecko may check whether focus is changed
before changing focus to another.

So we shouldn't use native message queue for this. It is better to use idle
queue instead.

Depends on D68315

Differential Revision: https://phabricator.services.mozilla.com/D68316

--HG--
extra : moz-landing-system : lando
2020-04-07 22:30:58 +00:00
Makoto Kato 8a25b6b137 Bug 1618759 - Part 4. Use InputPane to open on-screen keyboard for Windows 10 RS1+. r=masayuki
Unfortunately, current on-screen keyboard (OSK) code in Gecko doesn't work on
current Windows 10. Actually, Windows automatically control OSK when getting
focus. But this isn't good for web browser since `inputmode` spec can close
OSK by `none` value.

Windows 10 RS1 has new API (IInputPane [*1]) to control software keyboard. So
we have to use it if OS is RS1 or later.

TSF has new flag as `TS_SD_INPUTPANEMANUALDISPLAYENABLE` not to control OSK by
TSF. We should use it.

IMM doesn't have this feature to manage OSK. This will become a limitation for
`inputmode` implementation.

[*1] https://docs.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.inputpane

Depends on D68314

Differential Revision: https://phabricator.services.mozilla.com/D68315

--HG--
extra : moz-landing-system : lando
2020-04-07 22:30:37 +00:00
Makoto Kato 5010b729b6 Bug 1618759 - Part 3. Allow inputmode for non-input element. r=masayuki
Current WHATWG spec is that `inputmode` attribute supports non-input element.
I would like to remove input element check for bug 142484 that is
contenteditable support.

Microsoft IME, Google IME and etc refer 1st input scope that they support, so
we will add both input scopes from `type` and `inputmode`.

Depends on D68313

Differential Revision: https://phabricator.services.mozilla.com/D68314

--HG--
extra : moz-landing-system : lando
2020-04-07 22:30:30 +00:00
Makoto Kato 3b55303417 Bug 1618759 - Part 2. Support decimal and search value for inputmode. r=masayuki
Current WHATWG spec means that `numeric` is `IS_DIGITS` and `decimal` is
`IS_NUMBER`.

Depends on D68312

Differential Revision: https://phabricator.services.mozilla.com/D68313

--HG--
extra : moz-landing-system : lando
2020-04-07 22:30:24 +00:00
Makoto Kato 7045529ab7 Bug 1618759 - Part 1. Use common method to set input scope. r=masayuki
Gecko has duplicated code for input scope support, so I would like to clean up
this.

Differential Revision: https://phabricator.services.mozilla.com/D68312

--HG--
extra : moz-landing-system : lando
2020-04-07 22:30:19 +00:00
Mihai Alexandru Michis 2e69b21372 Backed out 6 changesets (bug 1618759) for causing mingw bustages on TSFTextStore.cpp
CLOSED TREE

Backed out changeset 77a93a01f924 (bug 1618759)
Backed out changeset f06a8ee813cf (bug 1618759)
Backed out changeset 020258996c4a (bug 1618759)
Backed out changeset 0e3a40bf9ba8 (bug 1618759)
Backed out changeset a4dcd48616d9 (bug 1618759)
Backed out changeset 010d99db9abd (bug 1618759)
2020-04-07 16:55:00 +03:00
Makoto Kato adc03fb040 Bug 1618759 - Part 6. Don't open on-screen keyboard when inputmode is none. r=masayuki
`inputmode=none` means that OSK is closed.

`SetInputContext` doesn't call `DismissOnScreenKeyboard` directly since
`DismissOnScreenKeyboard` has no hack of Firefox VR.

Depends on D68316

Differential Revision: https://phabricator.services.mozilla.com/D68317

--HG--
extra : moz-landing-system : lando
2020-04-07 13:29:28 +00:00
Makoto Kato 697c8ef8d4 Bug 1618759 - Part 5. Lazy check whether OSK is closed. r=masayuki
As long as I test on my environment, bug 1226148 isn't fixed. Since native
message queue has high priority, Gecko may check whether focus is changed
before changing focus to another.

So we shouldn't use native message queue for this. It is better to use idle
queue instead.

Depends on D68315

Differential Revision: https://phabricator.services.mozilla.com/D68316

--HG--
extra : moz-landing-system : lando
2020-04-07 13:28:11 +00:00
Makoto Kato 1b72c87658 Bug 1618759 - Part 4. Use InputPane to open on-screen keyboard for Windows 10 RS1+. r=masayuki
Unfortunately, current on-screen keyboard (OSK) code in Gecko doesn't work on
current Windows 10. Actually, Windows automatically control OSK when getting
focus. But this isn't good for web browser since `inputmode` spec can close
OSK by `none` value.

Windows 10 RS1 has new API (IInputPane [*1]) to control software keyboard. So
we have to use it if OS is RS1 or later.

TSF has new flag as `TS_SD_INPUTPANEMANUALDISPLAYENABLE` not to control OSK by
TSF. We should use it.

IMM doesn't have this feature to manage OSK. This will become a limitation for
`inputmode` implementation.

[*1] https://docs.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.inputpane

Depends on D68314

Differential Revision: https://phabricator.services.mozilla.com/D68315

--HG--
extra : moz-landing-system : lando
2020-04-07 13:27:33 +00:00
Makoto Kato 9621dd2ac9 Bug 1618759 - Part 3. Allow inputmode for non-input element. r=masayuki
Current WHATWG spec is that `inputmode` attribute supports non-input element.
I would like to remove input element check for bug 142484 that is
contenteditable support.

Microsoft IME, Google IME and etc refer 1st input scope that they support, so
we will add both input scopes from `type` and `inputmode`.

Depends on D68313

Differential Revision: https://phabricator.services.mozilla.com/D68314

--HG--
extra : moz-landing-system : lando
2020-04-07 13:25:02 +00:00
Makoto Kato ea43168d9c Bug 1618759 - Part 2. Support decimal and search value for inputmode. r=masayuki
Current WHATWG spec means that `numeric` is `IS_DIGITS` and `decimal` is
`IS_NUMBER`.

Depends on D68312

Differential Revision: https://phabricator.services.mozilla.com/D68313

--HG--
extra : moz-landing-system : lando
2020-04-07 13:23:25 +00:00
Makoto Kato f71b23fdfc Bug 1618759 - Part 1. Use common method to set input scope. r=masayuki
Gecko has duplicated code for input scope support, so I would like to clean up
this.

Differential Revision: https://phabricator.services.mozilla.com/D68312

--HG--
extra : moz-landing-system : lando
2020-04-07 13:23:12 +00:00
Tom Ritter 53d43ca329 Bug 1598346 - Remove MinGW conditionals for IS_PRIVATE r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D55995

--HG--
extra : moz-landing-system : lando
2019-12-10 04:53:41 +00:00
Makoto Kato 546edaf1e6 Bug 1549394 - Part 2. Set IS_PRIVATE input scope in private browsing. r=masayuki
Microsoft IME on Windows 10 20H1 (build 19025+) supports IME private mode by
input scope. Although previous Windows version uses undocumented API for
Edge and IE only, next Windows will use public API for it.

So let's use IS_PRIVATE input scope in private browsing mode.

Differential Revision: https://phabricator.services.mozilla.com/D53918

--HG--
extra : moz-landing-system : lando
2019-11-21 06:23:40 +00:00
Makoto Kato fe859b69f4 Bug 1549394 - Part 1. Clean up input scope support for IMM32. r=masayuki
Use AutoTArray to set input scope.

Differential Revision: https://phabricator.services.mozilla.com/D53917

--HG--
extra : moz-landing-system : lando
2019-11-21 06:23:40 +00:00
Brindusan Cristian 7a6e373ea1 Backed out 2 changesets (bug 1549394) for MinGW bustages at TSFTextStore.cpp. CLOSED TREE
Backed out changeset 5da3dcd12b69 (bug 1549394)
Backed out changeset fb2f4ca36af4 (bug 1549394)
2019-11-21 05:37:04 +02:00
Makoto Kato 2fa6c3bce0 Bug 1549394 - Part 2. Set IS_PRIVATE input scope in private browsing. r=masayuki
Microsoft IME on Windows 10 20H1 (build 19025+) supports IME private mode by
input scope. Although previous Windows version uses undocumented API for
Edge and IE only, next Windows will use public API for it.

So let's use IS_PRIVATE input scope in private browsing mode.

Depends on D53917

Differential Revision: https://phabricator.services.mozilla.com/D53918

--HG--
extra : moz-landing-system : lando
2019-11-20 05:08:09 +00:00