Commit Graph

744 Commits

Author SHA1 Message Date
Masayuki Nakano
02b84cd916 Bug 1300937 part.1 Check KeyboardEvent.key and KeyboardEvent.code in test_keycodes.xul r=smaug
MozReview-Commit-ID: AntOqvmTCcW
2016-09-13 21:48:45 +09:00
Masayuki Nakano
f5f3710548 Bug 1291172 Add eQueryTextRectArray tests which compare with eQueryTextRect result r=smaug
eQueryTextRect is used by widget and eQueryTextRectArray is used by ContentCacheInChild.  So, matching their result guarantees that widget can get same result both in non-e10s mode and e10s mode.  So, the matching should be tested.

MozReview-Commit-ID: 6GfbyvZ9X7H
2016-09-06 18:59:40 +09:00
Masayuki Nakano
7ddaabf5d6 Bug 1300319 part.0 Add automated tests for Ctrl+Backspace, Alt+Backspace, Ctrl+Enter and Alt+Enter because Backspace and Enter are handled with special path in mozilla::widget::NativeKey on Windows r=m_kato
MozReview-Commit-ID: 8LuYx65I5kY
2016-09-05 16:10:46 +09:00
Masayuki Nakano
c6cba09889 Bug 1293638 NativeKey::WillDispatchKeyboardEvent() should set alternative charCode values properly when other shift state inputs longer text r=m_kato
There are 2 bugs and this patch fixes them once.

First, NativeKey::WillDispatchKeyboardEvent() is used to setting alternative charCode values for every eKeyPress event.  However, for supporting "reserved" shortcut keys, now, it sets alternative charCode values to eKeyDown too.  However, they are really different.  eKeyPress events are fired for every character to be inputted by a key press sequence.  On the other hand, eKeyDown event is fired only once for a key sequence.  Therefore, now, NativeKey::WillDispatchKeyboardEvent() needs to set alternative charCode values for all characters inputted by the key sequence to eKeyDown event.

The other is not a new bug.  NativeKey::WillDispatchKeyboardEvent() sets the last eKeyPress event's special alternative charCode values, such as unshifted Latin character, shifted Latin character and some character which can be computed from virtual keycode.  This is performed when given index is the last index of the longest input string of the key.  However, the value includes different shift key state.  I.e., when different shift key causes longer text input, NativeKey::WillDispatchKeyboardEvent() won't set the special alternative charCode values to any eKeyPress events.  For example, when Ctrl+T is pressed with Arabic keyboard layout, its unshifted input string length is 1 but shifted input string length is 2.  Then, eKeyPress event is fired only once, but NativeKey::WillDispatchKeyboardEvent() waits second eKeyPress event.

Therefore, this patch makes the method append alternative charCodes for all remaining characters and detect the last event correctly with mCommittedCharsAndModifiers (it's used for KeyboardEvent.key value of eKeyDown event and the count of eKeyPress events is same as the value's length).

MozReview-Commit-ID: 6adUnmi5KYy
2016-09-01 14:26:02 +09:00
Masayuki Nakano
1687125091 Bug 1293505 part.3 Fix wrong key emulation in test_keycodes.xul r=m_kato
Some tests in test_keycodes.xul emulate native key event with printable character even when Ctrl or Alt key is pressed.

With en-US keyboard layout, Ctrl+[A-Z] causes a control character's WM_CHAR message. However, the other OEM keys and numeric keys don't cause WM_CHAR message when Ctrl is pressed.  So, we need to fix some wrong emulations in it now.

MozReview-Commit-ID: bhF5XeClnd
2016-08-31 17:36:53 +09:00
Ou Shinjo
6c9ee905ce Bug 1274484 Removing TestWinTSF.cpp r=masayuki
Since TestWinTSF.cpp isn't available for long time, we should remove it.

Although, we need to create automated tests for native IME handlers, but we should do it in another bug and new frame works should be writable by JS for easier to write tests.
2016-08-31 09:31:51 +09:00
Aryeh Gregor
a297c86b1c Bug 1271115 - Merge ChromeUtils.js into EventUtils.js; r=jmaher
This allows plain mochitests to use the functions as well, which is
necessary to get them to work with e10s.

MozReview-Commit-ID: J4um2mliJcZ
2016-08-25 16:57:09 +03:00
Masayuki Nakano
95d73d797e Bug 1286464 part.0 Add eQueryTextRect tests for line breakers r=smaug
MozReview-Commit-ID: 2SxNlyjc4KM
2016-07-30 22:00:30 +09:00
Nicholas Nethercote
1f65390cc9 Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.
2016-08-08 12:18:10 +10:00
Decky Coss
14fa144b3b Bug 1287655 - place textarea/input cursor at end of text when initialized; r=smaug
MozReview-Commit-ID: 2srGXFmla07
2016-07-21 14:52:49 -04:00
Tom Tromey
1b5a2bdb96 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx
2016-07-14 10:16:42 -06:00
Masayuki Nakano
41dbfd716c Bug 1275528 part.1 Support a way to query content relative to insertion point r=smaug
Native IME handler may want to query content relative to start of selection (or composition if there is it). Additionally, in e10s mode, insertion point in actual content may be different from the cache in parent.  Therefore, in some cases, it does make sense to query content with offset relative to start of selection or composition.

This patch implements it simply and only in non-e10s mode.

Additionally, this fixes a bug of nsQueryContentEventResult::GetOffset() which hasn't been accepted its calls even if the event message is valid (eQueryTextContent, eQueryTextRect and eQueryCaretRect).

MozReview-Commit-ID: 34I7vyTUAgO
2016-06-16 14:10:49 +09:00
Masayuki Nakano
dcb055c942 Bug 1275914 part.7 Add automated tests to query IME selections r=smaug
MozReview-Commit-ID: GwBU6Evcpfa
2016-06-20 16:31:29 +09:00
Joel Maher
aadfd37353 Bug 1270962 - move tests which access the clipboard to subsuite 'clipboard'. r=bgrins,ryanvm,armenzg a=merge
MozReview-Commit-ID: IZziPmwFtHj
2016-05-25 15:28:24 -04:00
Ryan VanderMeulen
9026b4fefd No bug - Re-enable some more tests that were disabled on e10s without a tracking bug. 2016-04-25 21:45:46 -04:00
Kyle Huey
a9cf047227 Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Timothy Nikkel
128fe9b38b Bug 1199023. Fix expectations of widget/tests/test_native_key_bindings_mac.html when a scrollbar is added to the iframe it is run in. r=jryans
The scrollbar changes when the test wraps, and so an operation that deletes text until the end of line deletes a different amount of text, and thus affects where the end of line is after the delete.
2016-04-11 22:19:45 -05:00
Peter Van der Beken
52321d522c Bug 1251361 - "Assertion failure: cache->PreservingWrapper()" with <marquee>, navigation, adoptNode. r=smaug.
Remove explicit calls to ReleaseWrapper and rely on cycle collection.
2016-03-04 17:54:10 +01:00
Wes Kocher
fbe760c236 Backed out changeset 54ee322b50cf (bug 1251361) for apparently causing a bunch of OSX m(bc) leaks
MozReview-Commit-ID: 8v0LiT3sA15
2016-04-04 12:32:42 -07:00
Peter Van der Beken
1972e35fe2 Bug 1251361 - "Assertion failure: cache->PreservingWrapper()" with <marquee>, navigation, adoptNode. r=smaug.
Remove explicit calls to ReleaseWrapper and rely on cycle collection.
2016-03-04 17:54:10 +01:00
Masayuki Nakano
c3fa3a4bf1 Bug 1154183 part.7 Don't dispatch preceding keydown events of reserved keypress events on content in the default event group r=smaug
MozReview-Commit-ID: 5zdkdfNxbxb
2016-03-22 15:05:25 +09:00
Jim Chen
a10cfd3f29 Bug 1254629 - Let query events fail when content root is wrong; r=masayuki
Make query events fail (including when caching selection) if the queried
content root is different from what we expected.

Also, introduce a fix-up to the selection fix in test_imestate.html.
2016-03-16 14:20:30 -04:00
Carsten "Tomcat" Book
94c01ced67 Backed out changeset 0359d3b3dc55 (bug 1254629) for rc4 perma failures 2016-03-16 10:29:10 +01:00
Jim Chen
1896e03bc5 Bug 1254629 - Let query events fail when content root is wrong; r=masayuki
Make query events fail (including when caching selection) if the queried
content root is different from what we expected.

Also, introduce a fix-up to the selection fix in test_imestate.html.
2016-03-16 02:16:56 -04:00
Masayuki Nakano
3582ca47f4 Bug 1249184 Dead key shouldn't cause keypress event on Mac OS X r=smaug+m_kato 2016-03-16 13:50:01 +09:00
Masayuki Nakano
5fe3688488 Bug 1137563 part.5 Set charCode of dead key's keypress event on Mac to the dead char r=m_kato 2016-03-16 13:47:50 +09:00
Masayuki Nakano
0d76420890 Bug 1137563 part.4 Implement IMEInputHandler::WillDispatchKeyboardEvent() r=m_kato 2016-03-16 13:47:50 +09:00
Masayuki Nakano
47b2ebbe91 Bug 1203059 part.4 Update test_keycodes.xul for the new behavior r=smaug 2016-03-16 10:58:28 +09:00
Masayuki Nakano
ddf44d3ce1 Bug 1203059 part.2 When an event is reserved by chrome, it should be fired only on chrome r=smaug 2016-03-16 10:58:28 +09:00
Xidorn Quan
054c3a98fc Bug 1255659 part 2 - Add 'fullscreen' tag to tests which ever put window into fullscreen. r=smaug
MozReview-Commit-ID: EBynEGbpYQU
2016-03-11 10:45:00 +08:00
Wes Kocher
74afd82800 Backed out changeset fd7564bd9998 (bug 1254629) for windows failures in test_windowless_ime.html
MozReview-Commit-ID: IEl8esnckqP
2016-03-11 14:05:08 -08:00
Jim Chen
be0eba5a48 Bug 1254629 - Let query events fail when content root is wrong; r=masayuki
Make query events fail (including when caching selection) if the queried
content root is different from what we expected.

Also, introduce a fix-up to the selection fix in test_imestate.html.
2016-03-11 13:47:22 -05:00
Drew Willcoxon
f26de82fa3 Bug 1253479 - [e10s] Make widget/tests/test_assign_event_data.html work under e10s. r=masayuki 2016-03-10 16:56:13 -08:00
Drew Willcoxon
c341173124 Bug 1253713 - [e10s] Make widget/tests/test_plugin_scroll_invalidation.html work under e10s. r=mccr8
MozReview-Commit-ID: AZ7MZWHoWhr
2016-03-04 16:57:04 -08:00
Jim Chen
b5111c248b Bug 1248459 - Don't query out-of-bounds selection; r=masayuki
During a query selection event, fail if the selection is outside of the
editor's root content. This can happen if the placeholder text in an
input field is somehow selected. The placeholder is in a separate
element outside of the root content.

Also fix a bug in test_imestate, where the selection was not properly
reset at the start of a test.
2016-03-03 13:10:07 -05:00
Masayuki Nakano
b4eacf2d09 Bug 1240336 Setting same value to either <input> or <textarea> shouldn't cause committing existing composition r=ehsan 2016-01-21 16:52:27 +09:00
Jonathan Griffin
ebdb6b8c29 Bug 1232780 - Disable mochitests which fail on e10s so we can get that suite running, a=test-only 2016-01-05 12:02:47 -08:00
Markus Stange
b7d7c15fe9 Bug 1209970 - Fire scroll events early in the refresh tick. r=mats
With APZ we want to be firing scroll events to content more consistently, so
we tie them to the refresh driver tick rather than firing them on paint or
haphazardly on the next spin of the event loop.

Patch by Markus Stange, test fixes by Kartikaya Gupta
2015-12-17 17:19:30 -05:00
Masayuki Nakano
3b4597536d Bug 1213589 part.9 ContentEventHandler::ShouldBreakLineBefore() should return false if the content is unknown HTML element r=smaug 2015-12-02 13:20:01 +09:00
Masayuki Nakano
d3b43a8bd7 Bug 1213589 part.8 When there are no nodes causing text, ContentEventHandler should set start of the editor root to start of the range r=smaug 2015-12-02 13:20:01 +09:00
Masayuki Nakano
293181dc6f Bug 1213589 part.7 Add new testcases to runSetSelectionEventTest() and runQueryTextContentEventTest() for checking the behavior with open tag r=smaug 2015-12-02 13:20:01 +09:00
Masayuki Nakano
d513bc5da0 Bug 1213589 part.6 ContentEventHandler should insert line breaks at open tag of elements except non-replaced inline elements r=smaug 2015-12-02 13:20:00 +09:00
Masayuki Nakano
2c69c6e315 Bug 1213589 part.5 Redesign the rules to create range in ContentEventHandler::SetRangeFromFlatTextOffset() r=smaug 2015-12-02 13:20:00 +09:00
Chris Peterson
dd01a5abee Bug 1223258 - Fix -Wunreachable-code warnings in widget. r=masayuki
widget/tests/TestAppShellSteadyState.cpp:397:5: warning: code will never be executed [-Wunreachable-code]
widget\widgetutils.cpp(95) : warning C4702: unreachable code
widget\mouseevents.h(97) : warning C4702: unreachable code
widget\textevents.h(492) : warning C4702: unreachable code
2015-11-08 22:46:00 -08:00
Masayuki Nakano
f36080c521 Bug 1218032 part.3 IMEContentObserver should notify IME of anything without script runner r=smaug 2015-11-10 11:49:05 +09:00
Masayuki Nakano
3da4fb8d9c Bug 1215517 part.3 Test the result of eQuerySelectedText in runSetSelectionEventTest() for checking the behavior of ContentEventHandler::GetFlatTextOffsetOfRange() rs=smaug 2015-10-20 14:14:17 +09:00
Masayuki Nakano
c00757a746 Bug 1215517 part.2 Add tests for eQueryTextContent event in rich text editor r=smaug 2015-10-20 14:14:17 +09:00
Masayuki Nakano
e6990cddbb Bug 1215517 part.1 Add tests for eSetSelection event in rich text editor rs=smaug 2015-10-20 14:14:17 +09:00
Nathan Froyd
4e6d8f6705 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
2015-10-18 01:24:48 -04:00
Felipe Gomes
a32648fc2c Bug 605813 - Re-enable test_taskbar_progress.xul on Windows. r=me 2015-10-15 18:39:28 -03:00