Commit Graph

882 Commits

Author SHA1 Message Date
Xidorn Quan
5d2f11ce8d Bug 1464722 part 6 - Enable scrollbar colors test on mac. r=spohl
MozReview-Commit-ID: IfBhLvGzr5u

--HG--
extra : rebase_source : 088455347ba1975bcec946bba5dc2a40892d0faf
2018-06-25 10:16:25 +10:00
Masayuki Nakano
2c6512d478 Bug 900750 - part 6: Rename |name| in test_keycodes.xul to |currentTestName| r=smaug
|name| is too generic but the scope is too wide in test_keycodes.xul.
So, let's rename it to |currentTestName|.

MozReview-Commit-ID: JvEDhRhKYCU

--HG--
extra : rebase_source : 15e06fabddeddb8e79198aa9f135e2951976aa8e
2018-06-04 20:41:43 +09:00
Masayuki Nakano
ec7dded4eb Bug 900750 - part 5: Make NativeKey set KeyboardEvent.key value of AltRight key to "AltGraph" when active keyboard layout has AltGr key r=m_kato,smaug
When AltGr key is pressed, following messages come:

1. WM_KEYDOWN for ControlLeft
2. WM_KEYDOWN for AltLeft
3. WM_SYSKEYUP for ControlLeft
4. WM_KEYUP for AltLeft

In these key sequence, KeyboardEvent.key value of keydown event at #2 and keyup
event at #4 should be "AltGraph".  This patch fixes the key value and
adding new test into test_keycodes.xul to check the behavior with
SynthesizeNativeKey().

MozReview-Commit-ID: JZ6WednB8la

--HG--
extra : rebase_source : 596371ede89e90c23f7e842b26ec8155b911fe60
2018-05-31 18:36:33 +09:00
Masayuki Nakano
cccab7b98a Bug 900750 - part 4: Make NativeKey replaces MODIFIER_CONTROL and MODIFIER_ALT of mModKeyState with MODIFIER_ALTGRAPH if user emulates AltGr key press with pressing both Ctrl and Alt keys and current keydown produces character(s) r=m_kato,smaug
Users can emulate AltGr key with pressing both Ctrl key and Alt key on Windows
since AltGr is represented as so in Windows and physical keyboard may not have
AltRight key.

If user emulates AltGr key, we should set MODIFIER_ALTGRAPH to a set of
keyboard events for printable keys only when the key press produces
character(s) or a dead key.  For example:

1. ControlLeft keydown event should make ctrlKey true.
2. AltLeft keydown event should make altKey true (not AltGraph state).
3. ctrlKey and altKey of printable keydown, keypress and keyup events should be
   set to false, but getModifierState("AltGraph") should return true.
4. AltLeft keyup event should make altKey false.
5. ControlLeft keyup event should make ctrlKey false.

(If AltLeft key is pressed first, altKey of AltLeft keydown is true and
both altKey and ctrlKey of the following ControlLeft keydown are true as
usual.)

MozReview-Commit-ID: 8Km8GXPDQw1

--HG--
extra : rebase_source : f4924f075c68361c8ce563910280ea24774c519f
2018-06-04 14:45:28 +09:00
Masayuki Nakano
8fc19f6752 Bug 900750 - part 2: Make ModifierKeyState and VirtualKey treat AltGraph as new modifier and won't set Control and Alt state while AltGraph is active r=m_kato,smaug
By the proposal from Google, <https://github.com/w3c/uievents/issues/147>,
Chromium treat AltRight key as "AltGraph" modifier if the keyboard layout
has AltGr key.

When AltRight key is pressed with a keyboard layout which has AltGr key,
modifiers should as following:

1. "keydown" for ControlLeft:
  ctrlKey:  true, altKey: false, getModifierState("AltGraph"): false
2. "keydown" for AltRight:
  ctrlKey: false, altKey: false, getModifierState("AltGraph"): true
3. Some "keydown", "keypress" and "keyup" events:
  ctrlKey: false, altKey: false, getModifierState("AltGraph"): true
4. "keyup" for ControlLeft:
  ctrlKey: false, altKey: false, getModifierState("AltGraph"): true
5. "keyup" for AltRight:
  ctrlKey: false, altKey: false, getModifierState("AltGraph"): false

So, only when the preceding "keydown" event for ControlLeft, ctrlKey should
be set to true as usual.  However, after AltRight key is pressed actually,
we should treat "AltGraph" modifier is true and both ctrlKey and altKey
should be set to false for web apps can handle text input normally.

So, MODIFIER_ALTGRAPH and MODIFIER_CONTROL/MODIFIER_ALT should not be set
at the same time.

This patch makes ModifierKeyState have only MODIFIER_ALTGRAPH or
MODIFIER_CONTROL/MODIFIER_ALT.

Additionally, this patch makes VirtualKey::ShiftState treat "AltGraph" as a
modifier.  So, now, VirtualKey needs to convert ShiftState to index value when
it accesses its mShiftStates array.  Therefore, this patch adds
VirtualKey::ToIndex() and make each VirtualKey method use it before
accessing mShiftStates.

Note that this patch also fixes bug of WinUtils::SetupKeyModifiersSequence().
The constructor of KeyPair takes 2 keycode values, but the second virtual
keycode can have scancode to distinguish if the key is left or right.
However, WinUtils::SetupKeyModifiersSequence() never sets scancode to
KeyPair.  Therefore, it fails to dispatch AltRight key event.

MozReview-Commit-ID: 7ealxJH9KlZ

--HG--
extra : rebase_source : 761bc4416222def020a0731d6ae7940ef074ebe0
2018-05-30 17:27:31 +09:00
Xidorn Quan
7038d5f944 Bug 1463917 part 2 - Have windows widget render scrollcorner. r=jimm
MozReview-Commit-ID: K4Cu1mL6xvH

--HG--
extra : rebase_source : 01a9c544b918c1be4002535b1a09c5980022bd9d
2018-05-11 10:21:22 +10:00
Joel Maher
50b91c0a14 Bug 1405428 - skip-if = verify on mochitests which do not pass test-verify. r=gbrown 2018-06-10 05:01:47 -04:00
Boris Zbarsky
c7f378d7ab Bug 1465875 part 1. Eliminate pointless QIs to nsIDOMNSEditableElement. r=qdot
We expose the relevant APIs on textarea and input elements anyway
(chromeonly).  The QIs will throw on a non-input or non-textarea element, but
none of these consumers expect that to happen.
2018-06-01 22:35:22 -04:00
Xidorn Quan
661ed3d065 Bug 1463993 - Add a rendering test for scrollbar color properties. r=heycam
MozReview-Commit-ID: 442pfDQUUUs

--HG--
extra : rebase_source : 6e336c36f61d7772023e641ca84751c7ddd2b018
2018-05-29 16:37:35 +10:00
Masayuki Nakano
80b5c54449 Bug 1464016 - TextInputHandler should not clear alt/ctrl/meta modifiers of eKeyPress event before sending TextEventDispatcher r=m_kato
If a key combination causes text input, we need to dispatch keypress
events without alt/ctrl/meta modifiers since TextEditor won't handle
keyepress events whose altKey, ctrlKey or metaKey is true as inputting
text.

Currently, TextEventDispatcher sets mCharCode of eKeyPress event from
mKeyValue.  Then, when altKey, ctrlKey or metaKey is true, it'll call
WillDispatchKeyboardEvent() and then, TextInputHandler needs to reset
the charCode value from native event information.

However, the problem is, TextInputHandler::InsertText() is called
with control character when control key is pressed and InsertText()
clears the modifier information before sending eKeyPress event to
TextEvenDispatcher so that TextEventDispatcher won't call
WillDispatchKeyboardEvent() even though control key is actually
pressed.  Therefore, TextInputHandler cannot adjust charCode value
and modifier flags in some cases such as control + option + 'a'.

This patch makes InsertText() stop clearing the modifiers and
makes WillDispatchKeyboardEvent() do it instead.  This procedure
is expected by TextEventDispatcher.

MozReview-Commit-ID: Ig6qgRBeQDh

--HG--
extra : rebase_source : 446e8af0e921946f3409d26ede70446248317673
2018-05-24 20:59:48 +09:00
Masayuki Nakano
1d38d6b282 Bug 1458845 - Make TextEventDispatcher dispatch keypress event even if altKey is true on macOS r=smaug
On macOS, option key is mapped to alt key, and it works like AltGr key on
the other platforms.  Since our editor doesn't accept keypress events as
typing printable character if one of altKey, ctrlKey and metaKey of the
events is true, widget for macOS sets those attributes to false when an
editor has focus.  On the other hand, if no editor has focus, our widget
does not do this hack so that altKey and ctrlKey values of keypress events
are always same as actual user operation and this is same behavior as the
other browsers.  Therefore, we need to keep setting altKey of keypress
events to true if no editor has focus but we need to dispatch keypress
events even on content unless the charCode is 0.

So, only on macOS, WidgetKeyboardEvent::IsInputtingText() does not need
to check altKey state.

MozReview-Commit-ID: 4DMgdOfLqvQ

--HG--
extra : rebase_source : 18db91c0d77c6910a206e6c767e6f3b5cfd1c2ab
2018-05-23 22:27:17 +09:00
Kris Maglione
6b12d08f7d Bug 1462937: Update callers to use nsIFile::GetDirectoryEntries as a nsIDirectoryEnumerator. r=froydnj
MozReview-Commit-ID: Iv4T1MVAF5

--HG--
extra : rebase_source : 1c518883d082884db7f9323a5acc20361228c26b
extra : histedit_source : 70a73c23d1199d3bfbb5379c78930401166c094b
2018-05-19 20:17:45 -07:00
Noemi Erli
fa0c01fc6b Bug 1456811 - disabled test_taskbar_progress.xul for frequent failures on Windows 10 !ccov. r=jmaher
--HG--
extra : rebase_source : 45c6884e30a4a5df545b66d7bac6c03f71cdff39
extra : histedit_source : e40f4ff6fad7ad1fef8bab8efd6db9cee6e8ca35
2018-05-14 01:27:00 +03:00
Stefan Hindli
0c522a46ca Bug 1457329 - disabled test_taskbar_jumplistitems.js on Windows 10 for frequent falures. r=jmaher
--HG--
extra : rebase_source : 08458db8e4b571a0ea3e549ba8c4e82d256b022a
extra : histedit_source : 06adf817214d155539edf235e0a9471b4d761a91
2018-05-14 02:19:00 +03:00
Mark Banner
9c03ace970 Bug 1458235 - Fix various cases where Assert.ok or Assert.equal have been called wrongly. r=Gijs
MozReview-Commit-ID: Br3lKpKNVQJ

--HG--
extra : rebase_source : 972c69ecf63bb522b0f368e3c388f4eff558bbe3
2018-05-01 22:15:43 +01:00
Dale Harvey
2beab3540e Bug 1455310 - Add title data and activity to sharing. r=mstange
MozReview-Commit-ID: IL4sqvRwSwu

--HG--
extra : rebase_source : ff973f92552931c725a81c177c02fcbd5c6aab63
2018-04-25 08:23:32 +01:00
Neil Deakin
cf9835ac8b Bug 1446961, remove obsolete calls to showPopup and replace usages of the popup box object with the same methods defined on popups, r=paolo 2018-04-27 11:04:36 -04:00
Timothy Guan-tin Chien
aaebd8920d Bug 1431246 - Create and update scrollbar markup in nsScrollbarFrame r=enndeakin+6102
nsScrollbarFrame::CreateAnonymousContent() would create the children
markup originally created by XBL. The attributes updated by XBL attribute
inheritance is updated by nsScrollbarFrame::UpdateChildrenAttributeValue().

This removes the XBL part of the scrollbar implementation.

MozReview-Commit-ID: FWi3HR2qkwF

--HG--
extra : rebase_source : c0b1b2ddbccb1d8e9d523db91a5b81fbcfa328e9
2018-04-09 22:01:02 +08:00
Dale Harvey
b6759085c8 Bug 1455304 - Filter unwanted sharing providers. r=mstange
MozReview-Commit-ID: 5FKHWzcJDYk

--HG--
extra : rebase_source : 6b997c83596fdd2a5ff294f38fb45d90d67209a7
2018-04-21 09:01:09 +01:00
Boris Zbarsky
5415ab3858 Bug 1455052 part 13. Remove nsIDOMEvent. r=masayuki
MozReview-Commit-ID: 3gmGy4URet3
2018-04-20 12:55:31 -04:00
Boris Zbarsky
b7f2b6976a Bug 1429903 part 3. Remove C++ uses of nsIDOMEventTarget. r=mccr8
MozReview-Commit-ID: 4NdssvnWn0H
2018-04-20 00:49:30 -04:00
Boris Zbarsky
01d792d54e Bug 1455055 part 7. Clean up remaining HandleEvent implementations. r=masayuki
MozReview-Commit-ID: LezJYKK74H5
2018-04-20 00:49:30 -04:00
Boris Zbarsky
2b6097ae6d Bug 1455055 part 1. Convert nsIDOMEventListener to taking an Event, not an nsIDOMEvent. r=masayuki
This does no cleanup other than what's needed to compile.  Cleanup coming up in
later patches.

MozReview-Commit-ID: 3sOnkj71n09
2018-04-20 00:49:29 -04:00
Dale Harvey
5aeada7d94 Bug 1363168 - Add support for OSX Share feature. r=Gijs,mstange
MozReview-Commit-ID: sJXl2If9Ou

--HG--
extra : rebase_source : b88ff89e1d28bab28c3575c2f7f30c91bd584aea
2018-03-12 09:16:51 +00:00
Zhang Junzhi
1f63801545 Bug 1358017 - Part 9: Updates some existing mochitests which are not meant to test default actions for wheel events but are affected by auto-dir scrolling. r=masayuki
Some mochitests are not meant to test default actions for wheel events, but they
assume audo-dir is disabled when doing tests for their purposes, so this commit
disables auto-dir for those mochitests.

MozReview-Commit-ID: 5ZQIxgRVpj5

--HG--
extra : rebase_source : a185a2f65179ec9162ec04209b4eb29e8c04125b
2018-04-03 20:23:19 +08:00
Boris Zbarsky
060ebf9b50 Bug 1448398 followup to fix Windows-only test. r=kmag pending
This is a chrome test, so it doesn't need to play SpecialPowers games.

MozReview-Commit-ID: 8DG4lZ5OfbE
2018-03-26 16:42:01 -04:00
Tim Nguyen
e002c63fa4 Bug 1444760 - Combine loadURIWithFlags and loadURI methods. r=dao
MozReview-Commit-ID: 5dsyKwvjYht

--HG--
extra : rebase_source : 881e10f2987606e84e55c267260661c0f7b3b746
2018-03-16 23:21:46 +00:00
Margareta Eliza Balazs
27703664b0 Backed out 2 changesets (bug 1444760) for ES lint failure in /builds/worker/checkouts/gecko/browser/base/content/browser.js on a CLOSED TREE
Backed out changeset 71f61091a716 (bug 1444760)
Backed out changeset 4956db1e9bdd (bug 1444760)
2018-03-25 15:29:54 +03:00
Tim Nguyen
e2ed0b5dfb Bug 1444760 - Combine loadURIWithFlags and loadURI methods. r=dao
MozReview-Commit-ID: 5dsyKwvjYht

--HG--
extra : rebase_source : 8e9f24d20829021db2239435c7d8d0db08e28bf9
2018-03-16 23:21:46 +00:00
Andreea Pavel
d9d9517a78 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-03-20 00:42:18 +02:00
Boris Zbarsky
5f74b75e04 Bug 1446850. Get rid of nsIDOMMouseScrollEvent. r=qdot
MozReview-Commit-ID: ZT9E3Fhtw0
2018-03-19 15:50:56 -04:00
Masayuki Nakano
1c1a60c08d Bug 1446253 - Make EventUtils.synthesizeComposition() dispatch keydown and keyup event in default r=smaug
We'll start to dispatch keydown event and keyup event even during composition.
So, for testing those events won't break our UI, we should make
EventUtils.synhtesizeComposition() and EventUtils.synthesizeCompositionChange()
dispatch keydown event and keyup event even if callers don't specify keyboard
event explicitly.

Typically, "keydown" event is marked as "processed by IME", i.e., keyCode
value is set to DOM_VK_PROCESSKEY and key is set to "Process", with our
widget which handles native IME and key input.  On the other hand, "keyup"
is NOT marked as so.

Therefore, this patch makes TextInputProcessor emulates this behavior without
any new special flags.  And for making possible to emulate special cases,
this patch adds two flags to nsITextInputProcessor.  One is
KEY_DONT_MARK_KEYDOWN_AS_PROCESSED.  The other is KEY_MARK_KEYUP_AS_PROCESSED.
Unfortunately, those flags have opposite meaning but this must be better than
making necessary to one flag for emulating usual keydown/keyup events.

Finally, this makes some tests specify better keyboard information to
synthesizeComposition() and synthesizeCompositionChange() to emulate
actual keyboard events during composition.

MozReview-Commit-ID: ItYaXILkNQE

--HG--
extra : rebase_source : e50cc77c1efbc12686d7ea334d41926c7392b30d
2018-03-16 22:35:07 +09:00
Valentin Gosu
af5eeff2e3 Bug 1442239 - Make URI deserialization (nsISerializable.read) happen via nsIURIMutator only r=mayhemer
* Deserialization now only happens via a mutator
* The CID for URI implementations actually returns the nsIURIMutator for each class
* The QueryInterface of mutators implementing nsISerializable will now act as a finalizer if passed the IID of an interface implemented by the URI it holds

MozReview-Commit-ID: H5MUJOEkpia

--HG--
extra : rebase_source : 01c8d16f7d31977eda6ca061e7889cedbf6940c2
2018-03-19 20:22:32 +01:00
Masayuki Nakano
8bd493dbc3 Bug 1343451 - part 2: KeyboardLayout and NativeKey should use native key code value to check if the key event was handled by IME r=m_kato
On Windows, VK_PROCESSKEY key message is sent if the key event is handled by
IME (in IMM mode or IMM-IME).  Therefore, we can set
WidgetKeyboardEvent::mKeyCode to NS_VK_PROCESSKEY and
WidgetKeyboardEvent::mKeyNameIndex to KEY_NAME_INDEX_Process simply when
we receive VK_PROCESSKEY.

MozReview-Commit-ID: 9B8Q7rwfXYD

--HG--
extra : rebase_source : f1ed228b295e6c4bd41192bc773b8118a28db6bc
2017-03-01 15:58:50 +09:00
Cosmin Sabou
462b445081 Backed out 6 changesets (bug 1343451) for mochitest android perma failures on testInputConnection.
Backed out changeset e07105d9698e (bug 1343451)
Backed out changeset dc4a2a5932c3 (bug 1343451)
Backed out changeset 9561ed261d04 (bug 1343451)
Backed out changeset 84a5ec921442 (bug 1343451)
Backed out changeset b34d48936db8 (bug 1343451)
Backed out changeset 4dce7ab14f71 (bug 1343451)
2018-03-12 18:07:46 +02:00
Masayuki Nakano
2b972e10f7 Bug 1343451 - part 2: KeyboardLayout and NativeKey should use native key code value to check if the key event was handled by IME r=m_kato
On Windows, VK_PROCESSKEY key message is sent if the key event is handled by
IME (in IMM mode or IMM-IME).  Therefore, we can set
WidgetKeyboardEvent::mKeyCode to NS_VK_PROCESSKEY and
WidgetKeyboardEvent::mKeyNameIndex to KEY_NAME_INDEX_Process simply when
we receive VK_PROCESSKEY.

MozReview-Commit-ID: 9B8Q7rwfXYD

--HG--
extra : rebase_source : a15105e3b6acf1f1911a8299911353dc4179e2c0
2017-03-01 15:58:50 +09:00
Rob Wu
2209797ba5 Bug 1433030 - Initialize nsTransferable::mPrivateData with false r=jdm
Initialize mPrivateData to false by default again, because the
change that changed the default value from true to false, i.e.
https://hg.mozilla.org/mozilla-central/rev/9e19b58d6494
prevented the clipboard from being backed by the filesystem,
as shown at https://bugzilla.mozilla.org/show_bug.cgi?id=1433030#c7

MozReview-Commit-ID: DEw5ETVqab8

--HG--
extra : rebase_source : 0d15a91c28ae3dee9c7e767a5b2c959574610b0f
2018-03-07 10:21:50 +01:00
Rob Wu
7b7f160bef Bug 335545 - Add test to verify that overflowing clipboard data survives r=mstange
I accidentally broke the ability to retrieve a big string from the
clipboard, and there was no test that failed. So this provides a new
test that does the following:

1. Store a big string in a nsTransferable.
2. Copy it to the clipboard.
3. Create a new nsTransferable, initialize with small data.
4. Populate the nsTransferable with (big) data from the clipboard.
5. Populate the nsTransferable with small data.

After each step, the test checks whether the transferable holds the
expected data and length, and (on non-Windows) checks that the big
data is backed by a file, and small data is not.

MozReview-Commit-ID: 9yuXZxVqD6R

--HG--
extra : rebase_source : 6cec638c59e8ce5a18adbb642779c1dcd457cc5b
2018-02-25 19:08:12 +01:00
Rob Wu
57cfe68440 Bug 335545 - Count FD instead of looking for clipboardcache in test_bug1123480.xul r=mstange
- Count open file descriptors instead of testing the existence of a file
  (because the clipboard is now only reachable through file descriptors,
  and not through a file path).

- Use a fixed string instead of a random string. The previous way of
  generating a string was non-deterministic, and there was a very small
  chance that the generated string was not large enough to trigger the
  cache-to-disk-mode.

- Use "text/unicode" instead of "text/plain", because JavaScript strings
  use two bytes, not one bytes each.

- The cache file is already created when the Transferable is created, so
  check the cache file after assigning data to the nsITransferable, but
  before copying it to the clipboard.

MozReview-Commit-ID: KOkYOm280Oh

--HG--
extra : rebase_source : 3515ff55a316720b87f2473a1450e5d8304728e8
2018-02-25 17:30:13 +01:00
Masayuki Nakano
01d9c81bcf Bug 1440189 - part 2: Make test_assign_event_data.html aware of strict keypress event dispatching mode r=smaug
This a remaining issue of bug 1435180. We need to skip keypress event check of
non-printable key operation in the test.

MozReview-Commit-ID: InobZCbrzWL

--HG--
extra : rebase_source : 9f17cd04500f4ef31c3674087188ec6ee157173b
2018-02-26 18:30:29 +09:00
Florian Quèze
6df7549a3e Bug 1433175 - semi-automated indent fix, r=Mossop. 2018-02-28 18:51:34 +01:00
Florian Quèze
c714053d73 Bug 1433175 - scripted patch to replace Components.classes[, Components.interfaces.nsI, Components.utils. and Components.results. with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:33 +01:00
Masayuki Nakano
ed18f14624 Bug 1036008 - Use alternative ASCII capable keyboard layout information to decide keyCode even if the key produces an ASCII punctuation character r=smaug
Gecko decides keyCode from an ASCII character which is produced by the key
by itself or with Shift on active keyboard layout or alternative ASCII capable
keyboard layout if active keyboard layout isn't ASCII capable.  However, we've
ignored alternative ASCII capable keyboard layout's character if both the
key itself and with Shift don't produce ASCII alphabet nor ASCII numeral,
i.e., ASCII punctuation characters are not used in alternative ASCII capable
keyboard layout because of avoiding mapping a keyCode value to 2 or more keys.

However, setting 0 to keyCode value makes Firefox unusable with some web
applications which are aware of neither KeyboardEvent.key nor
KeyboardEvent.code.  So, even if we map same keyCode value to a key, we should
avoid setting keyCode value to 0 as far as possible.

This patch's approach is, we behave same keyCode value as the alternative ASCII
capable keyCode is selected when computed keyCode value of active keyboard
layout is 0.  This means that we will make some language users whose keyboard
layout for their language is not ASCII capable can use global web services
which support US keyboard layout of Firefox since the new keyCode values
are mostly computed with US layout on Windows or actual alternative ASCII
capable keyboard layout on macOS and Linux.  In other words, we cannot improve
compatibility with web applications which don't support Firefox  by this patch
since our keyCode values are really different from Chrome's.  So, unfortunately,
if we'd use exactly same keyCode computation as Chromium, we'd break
compatibility with existing web applications which are aware of Firefox since
it's necessary to check UA name or something before using keyCode values.

Note that the most important difference between Windows and the others is,
such keyCode value is computed with alternative ASCII capable keyboard
layout on macOS and Linux but only on Windows, it's computed with OEM virtual
keycode.  This means that only on Windows, the keyCode value may be different
from actual alternative ASCII capable keyboard layout's keyCode.

MozReview-Commit-ID: As289r9wp6i

--HG--
extra : rebase_source : 66181403dbe8ca8dab893edc8f4eec1991d544d0
2018-02-16 15:54:07 +09:00
Masayuki Nakano
cf83ee7bb4 Bug 1438157 - part 2: Remove unnecessary second argument of EventUtils.synthesizeKey() r=smaug
Note that this patch also replaces legacy VK_* with KEY_*, and replaces
synthesizeKey() for inputting some characters with sendString() because
it's better and clearer what it does and it sets shiftKey state properly.

MozReview-Commit-ID: De4enbjux3T

--HG--
extra : rebase_source : 2296b84bff8e22f01eeb48cd8614fac5db11136a
2018-02-15 04:15:39 +09:00
Dorel Luca
4234703a53 Merge mozilla-inbound to mozilla-central a=merge 2018-02-15 00:23:02 +02:00
Arthur Edelstein
7d2a9476f0 Bug 1433030 - Stop nsTransferable writing to /tmp in PB windows r=jdm
We shouldn't assume it's safe to write to /tmp unless we know
for sure we are not in a private browsing window. So
use mPrivateData = true as default.

Based on a patch by Neill Miller:
https://trac.torproject.org/projects/tor/ticket/21830
2018-02-12 10:34:00 +02:00
Boris Zbarsky
fce30e834b Bug 1436508 part 10. Remove use of nsIDOMKeyEvent in JS. r=masayuki
MozReview-Commit-ID: GGciORX62Yh
2018-02-09 11:17:09 -05:00
Andrew McCreight
5dec0e0beb Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian
This patch was autogenerated by my decomponents.py

It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.

It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.

It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)

MozReview-Commit-ID: DeSHcClQ7cG

--HG--
extra : rebase_source : d9c41878036c1ef7766ef5e91a7005025bc1d72b
2018-02-06 09:36:57 -08:00
Florian Quèze
2b1c8dccb6 Bug 1339461 - script-generated patch to convert foo.indexOf(...) == -1 to foo.includes(), r=Mossop. 2018-02-01 20:45:22 +01:00
Kris Maglione
918ed6c474 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl

--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
extra : intermediate-source : 34c999fa006bffe8705cf50c54708aa21a962e62
extra : histedit_source : b2be2c5e5d226e6c347312456a6ae339c1e634b0
2018-01-29 15:20:18 -08:00
Cosmin Sabou
9a65a40178 Backed out 3 changesets (bug 1431533) for Android mochitest failures on testEventDispatcher on a CLOSED TREE
Backed out changeset a1eca62826a1 (bug 1431533)
Backed out changeset 34c999fa006b (bug 1431533)
Backed out changeset e2674287e57f (bug 1431533)
2018-01-30 07:17:48 +02:00
Kris Maglione
6476f95b13 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl

--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
2018-01-29 15:20:18 -08:00
Brindusan Cristian
af8879d1eb Backed out 2 changesets (bug 1431533) for ESlint failures on a CLOSED TREE
Backed out changeset 6e56f4c8843e (bug 1431533)
Backed out changeset 12fc4dee861c (bug 1431533)
2018-01-30 02:32:43 +02:00
Kris Maglione
c276bb9375 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl

--HG--
extra : rebase_source : c004a023389f1f6bf3d2f3efe93c13d423b23ccd
2018-01-29 15:20:18 -08:00
Masayuki Nakano
8917ac460f Bug 1436926 - part 2: Remove unnecessary KeyboardEvent.code specification of callers of EventUtils.synthesizeKey() r=smaug
Now, callers of EventUtils.synthesizeKey() don't need to specify
KeyboardEvent.code value anymore if they assume that active keyboard layout
is US keyboard layout.

Note that this patch changes the meaning of only test_bug551434.html.
Some callers in it don't match the key value and code value but that looks
like that they don't checking such odd keyboard events.  So, they must be
bug of the test.

MozReview-Commit-ID: Itxo7yZ9rkK

--HG--
extra : rebase_source : 856ef3715c924ca16e993ea57d92d1243b5cc6be
2018-02-09 19:17:26 +09:00
Chris Peterson
37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Valentin Gosu
f943b98a02 Bug 1426501 - Change JS code to use nsIURIMutator instead of the nsIURI.spec setter r=mayhemer
MozReview-Commit-ID: FI6WrsQT2ke

--HG--
extra : rebase_source : 2b286c47c19ebd112a0c47fbe0a4c23bdb04755f
2018-01-08 15:20:29 +01:00
Florian Quèze
0f55cd45be Bug 1421992 - script-generated patch to replace do_execute_soon, do_print and do_register_cleanup with executeSoon, info and registerCleanupFunction, rs=Gijs. 2017-12-21 11:10:23 +01:00
Florian Quèze
032c961e0a Bug 1421992 - script-generated patch to replace do_check_* functions with their Assert.* equivalents, rs=Gijs. 2017-12-21 11:08:17 +01:00
Stone Shih
39bc975ceb Bug 1421482 Part2: Replace test utility synthesizePointer with synthesizeMouse. r=smaug.
We should follow the real use cases to synthesize mouse or touch events to generate pointer events so that the related logic is covered by these test cases.

MozReview-Commit-ID: 9xSgjSL0Azt
2017-11-24 07:50:12 +08:00
Sebastian Hengst
9d920555ec Backed out 2 changesets (bug 1421482) for failing modified mochitest layout/base/tests/test_bug1078327.html. r=backout a=backout
Backed out changeset a8701e1bd012 (bug 1421482)
Backed out changeset d774f5fe6e94 (bug 1421482)
2017-12-12 19:03:49 +02:00
Stone Shih
841f50b537 Bug 1421482 Part2: Replace test utility synthesizePointer with synthesizeMouse. r=smaug.
We should follow the real use cases to synthesize mouse or touch events to generate pointer events so that the related logic is covered by these test cases.

MozReview-Commit-ID: 9xSgjSL0Azt
2017-11-24 07:50:12 +08:00
Joel Maher
eb7c7c286f Bug 1417653 - clean up a few moz.build files that have typos. r=gbrown 2017-11-16 08:56:51 -05:00
Stone Shih
f6e7906317 Bug 1407839 - Various test permafails due to IsPointerEventEnabled(). f=RyanVM. r=smaug.
Push pointer event pref before testing test_assign_event_data.html and remove redundant assertions since the pushed pref will be restore after testing.

MozReview-Commit-ID: 22nTMLGoMFj
2017-10-12 09:25:10 +08:00
Wes Kocher
b3c0b118ec Backed out 3 changesets (bug 335545) for asan failures in test_bug1123480.xul a=backout
Backed out changeset 25a686779a94 (bug 335545)
Backed out changeset b83ddb70c8b5 (bug 335545)
Backed out changeset ea69ee15ed90 (bug 335545)

MozReview-Commit-ID: LkJgt3eSs2J
2017-09-26 15:26:07 -07:00
Rob Wu
d8350dcc59 Bug 335545 - Count FD instead of looking for clipboardcache in test_bug1123480.xul r=mstange
- Count open file descriptors instead of testing the existence of a file
  (because the clipboard is now only reachable through file descriptors,
  and not through a file path).

- Use a fixed string instead of a random string. The previous way of
  generating a string was non-deterministic, and there was a very small
  chance that the generated string was not large enough to trigger the
  cache-to-disk-mode.

MozReview-Commit-ID: KOkYOm280Oh

--HG--
extra : rebase_source : 32f1eb0c5beb4f8ebb1728bda481ded21247e0ec
2017-09-21 14:17:27 +02:00
Eric Rahm
a33f11e0f5 Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.

--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299
2017-08-16 16:48:52 -07:00
Eric Rahm
0938982c90 Bug 1389598 - Part 4: Remove remaining gonk refs. r=froydnj
--HG--
extra : rebase_source : 063c7f95dda063eafabfa1921366bd1957b8fe73
2017-08-11 17:45:18 -07:00
Nicholas Nethercote
a83fefd956 Bug 1390036 (part 1) - Remove most remaining uses of nsXPIDLString. r=erahm.
CompareCacheHashEntry::mCrit[] is the only case where the nsXPIDLString-ness
was important. The patch adds an explicit SetIsVoid() call to that class's
constructor and changes some null checks to IsVoid() checks.

--HG--
extra : rebase_source : e68befcde4dd098bac2a550bc666eaf3bf1298d7
2017-08-11 18:31:22 +10:00
Yoshi Huang
60b7d9f697 Bug 1390398: fix failures on windows for new data: URI inheritance model. r=smaug 2017-08-15 18:09:28 +08:00
Stone Shih
55c5359fa6 Bug 1351148 Part4: Revise those test cases that have some tasks have to be processed before or after the synthesized key events. r=smaug.
Make sure input events are processed before or after the dependent tasks.

MozReview-Commit-ID: 8KfZnT2wjJR
2017-06-07 14:28:16 +08:00
Stone Shih
665fb7cd54 Backed out changeset de4929e39b7e (bug 1351148) 2017-08-11 15:19:30 +08:00
Stone Shih
b27577d8d6 Bug 1351148 Part4: Revise those test cases that have some tasks have to be processed before or after the synthesized key events. r=smaug.
Make sure input events are processed before or after the dependent tasks.

MozReview-Commit-ID: 8KfZnT2wjJR
2017-06-07 14:28:16 +08:00
Carsten "Tomcat" Book
0f16d437cc merge mozilla-inbound to mozilla-central a=merge 2017-08-08 13:18:14 +02:00
Christoph Kerschbaumer
28e9ff9691 Bug 1388028 - Update tests within widget/tests to comply with new data: URI inheritance model. r=smaug 2017-08-07 20:13:12 +02:00
Masatoshi Kimura
e1f76e8883 Bug 1387802 - Remove [deprecated] methods from nsITaskbarPreviewController. r=jimm
MozReview-Commit-ID: 25cdKHqVLSh

--HG--
extra : rebase_source : f2dc739ad0f132cb1cc764cfa3ec11e83cbfa0c3
2017-08-06 13:35:02 +09:00
Nicholas Nethercote
73558eac3d Bug 1384834 (part 2) - Remove remaining uses of nsAdoptingCString. r=erahm.
--HG--
extra : rebase_source : 70a385a0a06bc88e728d51459e7460a68f15f7fb
2017-07-28 11:21:47 +10:00
Nicholas Nethercote
d18fdecf67 Bug 1384834 (part 1) - Remove remaining uses of nsAdoptingString. r=erahm.
--HG--
extra : rebase_source : c81ee11b9d08198a000979760a8e29a01e9498d0
2017-07-28 11:21:45 +10:00
Carsten "Tomcat" Book
2ff6df9177 Backed out changeset 5198322f7a62 (bug 1351148) 2017-07-28 09:20:20 +02:00
Stone Shih
a5bccae405 Bug 1351148 Part4: Revise those test cases that have some tasks have to be processed before or after the synthesized key events. r=smaug.
Make sure input events are processed before or after the dependent tasks.

MozReview-Commit-ID: 8KfZnT2wjJR
2017-06-07 14:28:16 +08:00
Jim Chen
8b6bd21a0b Bug 1351170 - 2. Notify selection listeners after adjusting range offsets; r=smaug
`nsRange` registers mutation observers to adjust the range when content
changes. However, there are some cases where we adjust the start and/or
end offsets but don't notify selection listeners (i.e. we don't call
`nsRange::DoSetRange` to set the new range points, contrary to what the
comment above `nsRange::DoSetRange` says). This patch makes us call
`nsRange::DoSetRange` in those cases. The patch adds a testcase in
test_selectevents.html, and changes a few unexpected-pass cases in
test_composition_text_querycontent.xul that this patch fixed.

MozReview-Commit-ID: 73D8RYMS3MS

--HG--
extra : rebase_source : da0cc3073e4b8ad23c6f6eab42da5aa8b269cae9
2017-07-19 14:29:59 -04:00
Jim Chen
41148177ef Bug 1351170 - 1. Correctly calculate start offset for non-text nodes; r=masayuki
When the start node is a non-container node (i.e. <br>), and the start
offset is 0, we should not include a newline character for the node. For
example, for this range,

> <br/>hello
>  \___/

the start node/offset is (<br/>, 0) and end node/offset is ("hello", 1).
The calculated range offset should be 0, and the range length should be
2: 1 for the <br/> newline character plus 1 for "h".

The patch also ensures this behavior for pre-mode nsContentIterator, for
both start and end node adjustments. For start nodes, we include any
non-container nodes with offset 0 in the range. For end node, we exclude
any non-container nodes with offset 0 from the range.

MozReview-Commit-ID: Lt2tCLbapq7

--HG--
extra : rebase_source : 7d86b6cf04581f1cd71fa85f8c8586541b3a84e9
2017-07-19 14:29:59 -04:00
Christoph Kerschbaumer
148ee91dd2 Bug 1380641 - Convert test_input_events_on_deactive_window.xul to comply with new data: URI inheritance model. r=smaug 2017-07-14 12:17:13 +02:00
Masayuki Nakano
179e1ee17e Bug 1375825 - part1: Create test for querying text rect in a non-editable element in a contenteditable element r=smaug
This patch adds some automated tests for reproducing bug 1375825 and makes nsQuetyContentEventResult::GetText() work with eQueryTextRect event because ContentEventHandler sets it to the text which was used for computing the rect.

MozReview-Commit-ID: Gk8IV2Vln6V

--HG--
extra : rebase_source : 2d7127c09713358cf9a69fbbc180c325981794b2
2017-06-23 22:36:05 +09:00
Nicholas Nethercote
fe9268c4cd Bug 1374580 (part 2) - Remove nsAFlat{,C}String typedefs. r=froydnj.
All the instances are converted as follows.

- nsAFlatString  --> nsString
- nsAFlatCString --> nsCString

--HG--
extra : rebase_source : b37350642c58a85a08363df2e7c610873faa6e41
2017-06-20 19:19:05 +10:00
Greg Mierzwinski
add4e2d809 Bug 1374057 - Catch more preceding position-change notifications and prevent post-test position change notifications. r=jmaher
This patch fixes failures for widget/tests/test_composition_text_querycontent.xul when it is run on ubuntu 16.04. It adds some missing handling for pre-test position change notifications and also adds some handling for after-test position change notifications.

MozReview-Commit-ID: 1t8NuxJqkOo

--HG--
extra : rebase_source : ddae0da39a087c5742e31fbae9d7930b95695f1e
2017-06-18 10:03:04 -04:00
Wei-Cheng Pan
fafefc69a1 Bug 1354143 - Commit jump list on lazy idle thread. r=florian,jimm
Since committing will do IO on the main thread, it would be better to do it on
an idle thread instead. We have to change JavaScript code too because now the
API is asynchrous.

This patch also updates its xpcshell test.

Now mozilla::widget::AsyncDeleteAllFaviconsFromDisk will get profile directory
on the main thread to prevent it happens on off-main-threads, thus prevents
off-main-thread assertion.

MozReview-Commit-ID: CWcR0B2BC3n

--HG--
extra : rebase_source : 3685a07f9f4476bc94bdf92937734b78fb3fe309
2017-05-24 16:38:57 +08:00
Masayuki Nakano
696e4cb85a Bug 1250823 part 2 - IMEContentObserver should cache adding ranges as a range during document change r=smaug
Between nsIDocumentObserver::BeginUpdate() and nsIDocumentObserver::EndUpdate(), IMEContentObserver can cache added nodes as a range if they are consecutive nodes.  Even if a node is removed, a data node is changed or attribute is changed unexpectedly, IMEContentObserver can post text change of the added node range and handle it normally.

MozReview-Commit-ID: IttDHBkr92Y

--HG--
extra : rebase_source : f0849d5fab0b28bdfa311cf833a216d43b9215d2
2017-06-08 11:24:58 +09:00
Masayuki Nakano
d457e48592 Bug 1217700 part.4 Add automated tests for IMEContentObserver r=m_kato
IMEContentObserver notifies IME of 3 notifications at most when editor is changed.

The order is:
1. text change (with merged range if 2 or more change occurred during an edit transaction)
2. selection change (only the latest selection change. other changes occurred before that during an editor transaction are ignored)
3. position change (scrolled, resized, window moved, etc)

This does not check the behavior in designMode because some operation in testWithHTMLEditor() causes unexpected behavior, e.g., moving focus. It *might* be bug of design mode.  However, it doesn't matter for this bug.  The important thing of this bug is, there should be automated tests for IMEContentObserver.  And fortunately, IMEContentObserver does not check the type of editor.  So, it's enough to test only contenteditable element for HTMLEditor at least for now.  Therefore, I gave up to test it in designMode for now.

MozReview-Commit-ID: 7L6ZlbVMU2P

--HG--
extra : rebase_source : 8282fe7aa2f4d405f2576f05d46b60b044223855
2017-04-19 21:57:58 +09:00
Florian Queze
37f2343b9a Bug 1356569 - Remove appendElement's last parameter when it is false, r=jaws. 2017-04-14 21:51:39 +02:00
Florian Queze
37ff4fc7cc Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Sebastian Hengst
a07223d699 Backed out changeset 322fde2d53bf (bug 1356569) so bug 1355161 can be backed out. r=backout 2017-04-14 23:39:22 +02:00
Sebastian Hengst
9e0ecf32c5 Backed out changeset e1f191aad863 (bug 1356569) 2017-04-14 23:39:17 +02:00
Florian Queze
93a734a3ce Bug 1356569 - Remove appendElement's last parameter when it is false, r=jaws. 2017-04-14 21:51:39 +02:00
Florian Queze
95d4d20c17 Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Joel Maher
99137683e9 Bug 1355089 - add BUG_COMPONENT to widget/* files. r=mstange,jimm
MozReview-Commit-ID: 49Ug2HTqHnf
2017-04-14 05:54:36 -04:00
Dan Banner
cdf987089d Bug 1107904 - Remove packed.js and references to it as it is unused. r=standard8
MozReview-Commit-ID: K5TLF92pHq4

--HG--
extra : rebase_source : 295bf325a07fa8ec4c55a8babf5418588308dca6
2017-04-12 11:10:00 +01:00
Masayuki Nakano
fd9e71872c Bug 1347835 NativeKey should dispatch keypress events even if WM_KEYDOWN is processed by IME but followed by printable WM_(SYS)CHAR messages r=m_kato
Some IME may handle WM_KEYDOWN message before application and may set the keycode value to VK_PROCSSKEY but not do actually. Similarly, IME may handle WM_KEYDOWN message and replace following WM_CHAR messages with different characters.
Therefore, even if WM_KEYDOWN message comes with VK_PROCESSKEY, NativeKey shouldn't stop dispatching keypress events if it detects following printable char messages.

MozReview-Commit-ID: DcC2qgcLDrQ

--HG--
extra : rebase_source : 85c6a5dd5700b4032d1a21ed28b25c313cefa5cd
2017-04-10 15:32:02 +09:00
Masayuki Nakano
c038f800f7 Bug 1339331 TextEventDispatcher should replace \r in composition string with \n and TextComposition should allow to input \n with composition events r=m_kato
According to ATOK's behavior, IME may send different line breaker from its platform's standard.  Therefore, we should treat \r as \n too.

Additionally, currently, TextComposition doesn't allow to input \n with composition.  However, this was added for preventing to see odd control characters as boxes with code point.  Therefore, we should allow \n for IMEs. (It was allowed, this limitation is unexpected when I reviewed the patch to reject control characters in TextComposition.)

MozReview-Commit-ID: DzGSMgp89Av

--HG--
extra : rebase_source : 0644e5941a080583af8701546111fbf46ec646ec
2017-03-16 16:26:43 +09:00
Masayuki Nakano
eec9e38f44 Bug 1347433 part.4 Add automated tests to check if \n and \r\n in composition string are treated as expected r=m_kato
Although, TextComposition's bug, those tests are not checked with expected values, we should fix them later.

MozReview-Commit-ID: 89jehNqMnCH

--HG--
extra : rebase_source : 2c622396edef067b92393f1e5e5291db9105417a
2017-03-15 21:32:49 +09:00