Commit Graph

7709 Commits

Author SHA1 Message Date
Masayuki Nakano
87c78a5bfb Bug 1337718 part.2 Make EditorEventListener::ShouldHandleNativeKeyBindings() take WidgetKeyboardEvent* instead of nsIDOMKeyEvent* r=m_kato
MozReview-Commit-ID: 4JS2yJ6iXgY

--HG--
extra : rebase_source : 30cbcab74da7731e446329a3263dd82cd16fdfab
2017-02-08 19:47:05 +09:00
Masayuki Nakano
c4cea9a380 Bug 1337718 part.1 Make EditorBase::HandleKeyPressEvent() take WidgetKeyboardEvent* instead of nsIDOMKeyEvent* r=m_kato
MozReview-Commit-ID: 8QUiHPRf9AH

--HG--
extra : rebase_source : d9a531248f4e72dfb501146976af7efd64d1e122
2017-02-08 20:18:17 +09:00
Masayuki Nakano
5442d350f3 Bug 1337739 Create an enum eKeyLocation* for avoiding to use nsIDOMKeyEvent::DOM_KEY_LOCATION_* r=smaug
Currently, we use alias NS_VK_* for WidgetKeyboardEvent::mKeyCode.  Similarly, we should create alias enum for nsIDOMKeyEvent::DOM_KEY_LOCATION_*.  Then, we can reduce the length and avoid to include nsIDOMKeyEvent in some cpp files.

MozReview-Commit-ID: 5cs4zQ061Lc

--HG--
extra : rebase_source : e6a6edd27718b9e3d4a40b07902d029791876999
2017-02-08 21:04:22 +09:00
Wes Kocher
d3307f19d5 Merge inbound to central, a=merge
MozReview-Commit-ID: 9TTIrjfNKZm

--HG--
rename : dom/base/test/test_bug1263696.html => testing/web-platform/tests/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2.html
rename : dom/base/test/test_bug1263696.html => testing/web-platform/tests/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2.html
2017-02-09 17:01:39 -08:00
Carsten "Tomcat" Book
e2a2f8d124 merge mozilla-inbound to mozilla-central a=merge 2017-02-09 16:04:14 +01:00
Carsten "Tomcat" Book
ffe70d35b2 Merge mozilla-central to mozilla-inbound 2017-02-09 11:38:08 +01:00
Makoto Kato
894130bddc Bug 1337698 - Part 3. TypeInState should use UniquePtr. r=masayuki
MozReview-Commit-ID: K9UY83Nx1v3

--HG--
extra : rebase_source : e9177c1c31805288e04270b589300c8e49d59940
extra : amend_source : 91bea4e023031b1c1594799b8dbe70dc3fb5b6ed
extra : histedit_source : 2ee5b839c0f8019d18586a1b07e06e122e7780ee
2017-02-08 18:14:53 +09:00
Makoto Kato
d84f1fef72 Bug 1337698 - Part 2. HTMLEditor should use UniquePtr. r=masayuki
MozReview-Commit-ID: 2O9f0K1RSU4

--HG--
extra : rebase_source : 966ffcf877756a876d72a0e09659dbeee406cddd
extra : histedit_source : 6eac1458a8f3826e73238cfbdbd03c1426a390be
2017-02-08 18:14:24 +09:00
Makoto Kato
b8d5c8b156 Bug 1337698 - Part 1. PlaceholderTransaction should use UniquePtr. r=masayuki
MozReview-Commit-ID: 8xqAKRcKCLb

--HG--
extra : rebase_source : d0a8d202e973d06c823cd5351d9561b9b5919f43
extra : histedit_source : 696ac1246fbb3691b2f042a0d16e438f37dcf64d%2C446038a833523fed82771c3c177811971679c269
2017-02-09 14:26:10 +09:00
Cameron McCormack
90e83367ae Bug 1334768 - stylo: Test expectation adjustments for for 2017-02-09 merge. r=me
MozReview-Commit-ID: AhvCAu3NYrb
2017-02-09 21:11:09 +08:00
Makoto Kato
6b3afdd60e Bug 1337273 - Don't use mTextEditor from HTMLEditRules. r=masayuki
HTMLEditRules can access both mTextEditor and mHTMLEditor, but we should use mHTMLEditor only on HTMLEditRules for readability.

MozReview-Commit-ID: HfzwAD554XQ

--HG--
extra : rebase_source : 7d722915a41eb878e2cd2ff711ac4925bd91d1d8
2017-02-08 18:32:32 +09:00
Masayuki Nakano
431e1a12b3 Bug 1336011 part.3 Create an alias of the type of mDocStateListeners r=smaug
MozReview-Commit-ID: L0TczDcH4t8

--HG--
extra : rebase_source : 0a250056797c6fb760e7aa674565d3e71df6f568
2017-02-07 22:52:23 +09:00
Masayuki Nakano
a5c23d8c73 Bug 1336011 part.2 Create an alias of the type of mEditorObservers r=smaug
MozReview-Commit-ID: 7LWl5F4C0Ge

--HG--
extra : rebase_source : 0393619ad8f3ea1090244db5eeb117f73afb47ea
2017-02-07 22:36:16 +09:00
Masayuki Nakano
36efe8eb2b Bug 1336011 part.1 EditorBase shouldn't refer mActionListeners directly in loops because it might be removed during a loop r=smaug
Items in mActionListeners may be removed during a call of a method of another item.  Therefore, all items should be copied to different array before each loop referring mActionListeners.

MozReview-Commit-ID: FA2xXdJ9SoR

--HG--
extra : rebase_source : 054a58f5a82df6911d42b17fdb3f11738ceab2af
2017-02-07 22:26:56 +09:00
Makoto Kato
78b1b5964b Bug 1336349 - Merge GetIsDocumentEditable implementation to EditorBase. r=masayuki
GetIsDocumentEditable is implemnted in EditorBase, TextEditor, and HTMLEditor.  This is virtual method, we won't use EditorBase::GetIsDocumentEditable.  Also, TextEditor::GetIsDocumentEditable and HTMLEditor::GetIsDocumentEditable are same implementation.  So we should merge this to EditorBase.

MozReview-Commit-ID: 62euqUaYAuY

--HG--
extra : rebase_source : 1a3025aeddc61d0ae3e0de334472ee8393893114
2017-02-03 16:22:50 +09:00
Phil Ringnalda
b1aadb3572 Backed out 5 changesets (bug 1285898) for causing the crashes of bug 1336242
Backed out changeset 15b3b9feb54f (bug 1285898)
Backed out changeset 1d0bfb02d6c0 (bug 1285898)
Backed out changeset bc99844772ee (bug 1285898)
Backed out changeset 8bbe285cf5c0 (bug 1285898)
Backed out changeset e56108122b90 (bug 1285898)
2017-02-02 22:02:24 -08:00
Wes Kocher
2dcccc4332 Merge inbound to central, a=merge
MozReview-Commit-ID: 9bhCPrArK3P
2017-02-02 16:39:24 -08:00
Boris Zbarsky
08d76ec702 Bug 1332812. Remove some more unused or nearly-unused nsIDOMElement bits. r=froydnj 2017-02-02 10:32:58 -05:00
Sebastian Hengst
4c5957bbd3 Backed out changeset c724fbd9c326 (bug 1332812) for build bustage. r=backout on a CLOSED TREE 2017-02-02 16:58:52 +01:00
Boris Zbarsky
b249de7c3a Bug 1332812. Remove some more unused or nearly-unused nsIDOMElement bits. r=froydnj 2017-02-02 10:32:58 -05:00
Makoto Kato
54208413e9 Bug 1335672 - Missing virtual keyword into HTMLEditor. r=masayuki
MozReview-Commit-ID: 9C9KMfs5GAF

--HG--
extra : rebase_source : 0e2dd971b4b7c77dea04a74b9b4af8e5a2c822c2
2017-02-01 17:09:54 +09:00
Andrea Marchesini
1e58b980f5 Bug 1285898 - [e10s-multi] Localstorage "storage" event is not fired with multiple content processes. r=asuth
--HG--
extra : rebase_source : 9968fd96960aecd516bfcc5c239b9de85280ab8a
extra : source : 6681b50c1f6d0d2d22d5f631234402e020c0b78a
2017-01-17 15:43:12 -05:00
Masayuki Nakano
6ec0bf9ddd Bug 1314053 part.4 EditorEventListener should grab mEditorBase in smaller scope as far as possible and shouldn't access it directly during handling an event r=smaug
So, EditorEventListener should grab mEditorBase in smaller scope as far as possible.  And each event listener method shouldn't access mEditorBase directly at calling its method since it might be changed to another instance.

MozReview-Commit-ID: IUCl5gbh4ut

--HG--
extra : rebase_source : 217d881923193a25db0649fc1f1a87bd43fa4d99
2017-01-17 19:30:39 +09:00
Masayuki Nakano
18382319ef Bug 1314053 part.3 EditorEventListener should check if it's removed during a call of editor's method r=smaug
EditorEventListener doesn't check if mEditorBase is available even after it's removed from the editor.  If it becomes nullptr, i.e., it's detached from editor, it shouldn't continue to handle event.

This patch changes some methods' nsIDOM*Event argument to WidgetEvent since it's simpler.

MozReview-Commit-ID: CI3U4pfVxtb

--HG--
extra : rebase_source : 7135c4615f6a1dd8bb4b6698261c75a9f8c70930
2017-01-21 00:13:45 +09:00
Masayuki Nakano
7ab96b2cef Bug 1314053 part.2 Change EditorBase::IsAcceptableInputEvent()'s argument from nsIDOMEvent* to WidgetGUIEvent* r=smaug
MozReview-Commit-ID: Jo6EwQubUAM

--HG--
extra : rebase_source : 098b23946f349bbe7641a2059538ffb20ae4f5bb
2017-01-17 17:17:06 +09:00
Masayuki Nakano
91360648d1 Bug 1314053 part.1 Change EditorBase::UpdateIMEComposition()'s argument from nsIDOMEvent* to WidgetCompositionEvent* r=smaug
Before cleaning up EditorEventListener, we need to make it use Widget*Event at each event method.

MozReview-Commit-ID: 482HHN0bCVV

--HG--
extra : rebase_source : a2f504ca931ec98945f7317b972b21d765304c92
2017-01-17 17:01:17 +09:00
Cameron McCormack
8731638062 Bug 1334768 - stylo: Adjust a bunch of reftest expectations. r=me on a CLOSED TREE
MozReview-Commit-ID: 1qa08cspl7o
2017-01-31 17:38:24 +01:00
Cameron McCormack
590058f927 Bug 1324669 - stylo: Downgrade SMIL assertion even further to a non-test-failing warning. r=me
MozReview-Commit-ID: 5fk6C9qaOgW
2017-01-31 17:37:08 +01:00
Sebastian Hengst
ed5bd31f9b Backed out changeset ad45a3da5e4a (bug 1324669) for Windows build bustage: OverflowChangedTracker.h(44). r=backout on a CLOSED TREE 2017-01-31 17:32:12 +01:00
Sebastian Hengst
79a42c161e Backed out changeset e3687105be00 (bug 1334768) 2017-01-31 17:30:16 +01:00
Cameron McCormack
0333846acf Bug 1334768 - stylo: Adjust a bunch of reftest expectations. r=me
MozReview-Commit-ID: 1qa08cspl7o
2017-01-31 23:36:46 +08:00
Cameron McCormack
946b5c3633 Bug 1324669 - stylo: Downgrade SMIL assertion even further to a non-test-failing warning. r=me
MozReview-Commit-ID: 5fk6C9qaOgW
2017-01-31 23:36:12 +08:00
Makoto Kato
e904b47a40 Bug 1328023 - Part 2. Add test for undo. r=masayuki
MozReview-Commit-ID: 6ZuluRWrYxb

--HG--
extra : rebase_source : 40a08dbc688ee7c862f716c643897c84e6e86fde
2017-01-30 17:27:26 +09:00
Makoto Kato
1f259574fb Bug 1328023 - Part 1. Don't use RangeUpdater except to composition transaction. r=masayuki
Part 3 fix of bug 1310912 is incorrect for not composition transaction.  PlaceholderTransation is for saving and restoring current selection for undo. So we shouldn't use range updater to normal transaction.

Composition transaction can modify multiple nodes and it merges text node for ime into single text node. So if current selection is into IME text node, it might be failed to restore selection by UndoTransaction. So we need update selection by range updater to work UndoTransaction.

Also, CompositionTransaction::UndoTransaction will set selection after committed text. So at finally, selection will set correct position that composition transaction wants.

MozReview-Commit-ID: 1NcH32YoKPQ

--HG--
extra : rebase_source : 8a29ef3d4d4c64997416a8f3c7fd174766764ad3
2017-01-30 17:25:43 +09:00
Phil Ringnalda
85843f4cff Backed out 4 changesets (bug 1285898) for browser_localStorage_e10s.js failure
Backed out changeset 9c6057cde326 (bug 1285898)
Backed out changeset bd68ebab64fa (bug 1285898)
Backed out changeset 6fdb24e1256d (bug 1285898)
Backed out changeset 6681b50c1f6d (bug 1285898)
2017-01-30 21:49:42 -08:00
Andrea Marchesini
db2311e1e0 Bug 1285898 - [e10s-multi] Localstorage "storage" event is not fired with multiple content processes. r=asuth 2017-01-30 22:47:06 -05:00
Wes Kocher
584127af5f Merge inbound to central, a=merge
MozReview-Commit-ID: 4GYZ5Pzy7BY
2017-01-30 15:44:58 -08:00
Carsten "Tomcat" Book
86d6d898a4 Merge mozilla-central to mozilla-inbound 2017-01-30 16:02:19 +01:00
Carsten "Tomcat" Book
29cd257175 merge mozilla-inbound to mozilla-central a=merge 2017-01-30 15:59:14 +01:00
Cameron McCormack
9c4ea5685f Bug 1334768 - stylo: Back out 800030115d2e and 404506488cfb for being completely wrong due to bug 1334938.
MozReview-Commit-ID: 8CGTqmtlguT
2017-01-30 16:49:54 +08:00
Florian Quèze
bdc1ffa608 Bug 1334831 - script-generated patch to use .remove() instead of .parentNode.removeChild, r=jaws. 2017-01-30 08:10:22 +01:00
Mats Palmgren
454b00deaa Bug 1332876 - test. 2017-01-30 04:54:38 +01:00
Mats Palmgren
4673e4df59 Bug 1332876 - Bail out of HTMLEditRules::BeforeEdit if we have no Selection. r=masayuki 2017-01-30 04:54:37 +01:00
Cameron McCormack
35486c881a Bug 1334768 - stylo: More reftest expectation adjustments for 2017-01-29 merge.
MozReview-Commit-ID: 8TT4JzUIBZl
2017-01-30 10:53:58 +08:00
Cameron McCormack
7805d4716e Bug 1334768 - stylo: Test expectation adjustments for 2017-01-29 merge.
MozReview-Commit-ID: FFmvs6SHIwW
2017-01-29 15:31:56 +08:00
Carsten "Tomcat" Book
65f7bfd24d Merge mozilla-central to autoland 2017-01-30 16:21:32 +01:00
Masayuki Nakano
33a59616be Bug 1115055 EditorEventListener::MouseDown() should check if mEditorBase is nullptr before calling its ForceCompositionEnd() r=smaug
EditorEventListener::MouseDown() may be called by HTMLEditorEventListener::MouseDown() too.  In this case, mEditorBase may be nullptr.  Therefore, EditorEventListener::MouseDown() should check if mEditorBase is still available before using it.

MozReview-Commit-ID: 1wAgPdt3db0

--HG--
extra : rebase_source : aa06dce861d93728c4302986fbea6096192460d9
2017-01-30 17:43:53 +09:00
Masayuki Nakano
390002be06 Bug 1315450 EditorEventListener::MouseClick() should check if mEditorBase is available before calling its ForceCompositionEnd() r=smaug
IMEStateManager::OnClickInEditor() may cause anything because it may set input context.  For example, it may cause  opening VKB, changing focus or reflow.  So, mEditorBase here might have been gone.

MozReview-Commit-ID: C0SVzb5SueS

--HG--
extra : rebase_source : a09c214ca3e9f15024060b208fa0161a458464a0
2017-01-30 17:03:02 +09:00
Makoto Kato
8d8f935fef Bug 1334361 - Use NS_DECL macro for nsIEditorStyleSheets and nsITableEditor. r=masayuki
Except to nsIEditorStyleSheets and nsITableEditor, we use NS_DECL macro into HTMLEditor, so we should use macro for both.

MozReview-Commit-ID: I6v9mRXNci6

--HG--
extra : rebase_source : bf71cce0ca293a16ac437ba52871d8b926c715a5
2017-01-27 11:11:09 +09:00
Makoto Kato
4d5ef610ea Bug 1335997 - Part 2. Don't use virtual method for NotifyDocumentListeners and ScrollSelectionIntoView. r=masayuki
Both methods don't override by TextEditor and HTMLEditor.  It is unnecessary to use as virtual method.

MozReview-Commit-ID: 6FNO78RauML

--HG--
extra : rebase_source : fb74a9b83a889ab2be04529527704f6de4b666dd
2017-02-02 13:56:57 +09:00
Makoto Kato
a6d68747ae Bug 1335997 - Part 1. Don't use virtual method for GetAndInitDocEncoder and InsertTextFromTransferable. r=masayuki
Both methods don't override by HTMLEditor.  It is unnecessary to use as virtual method.

MozReview-Commit-ID: CKqb0bxKEOr

--HG--
extra : rebase_source : 3a2127618693c339ad38995936acc0a3332b5f2e
2017-02-02 13:55:09 +09:00
Florian Quèze
b11907c7aa Bug 1334156 - script-generated patch to replace .ownerDocument.defaultView with .ownerGlobal, r=jaws. 2017-01-27 10:51:03 +01:00
Florian Quèze
be4dbae285 Bug 1334199 - script-generated patch to omit getComputedStyle's second argument when it's falsy, r=jaws. 2017-01-27 10:51:02 +01:00
Makoto Kato
461fd31b94 Bug 1334372 - Part 2. Don't use virtual method for CreateTxnForAddStyleSheet and CreateTxnForRemoveStyleSheet. r=masayuki
We don't have no overload method for both methods.  So we shouldn't use virtual.

And, other transaction methods return transaction object directly, we should change to it.

MozReview-Commit-ID: 7CXz4XeOobk

--HG--
extra : rebase_source : e208484decec42496e88bbee5ed7d19b1f6daf91
extra : amend_source : 1ebe4378f6c8133b874e573c10c368ae96a51d45
2017-01-27 13:29:00 +09:00
Makoto Kato
f1e9546f92 Bug 1334372 - Part 1. Use EditorBase directly in AddStyleSheetTransaction/RemoveStyleSheetTransaction. r=masayuki
Other transaction classes use EditorBase directly, but these transaction classes use nsIEditor.  To remove nsIDOMDocument XPCOM interface usage, I would like to use EditorBase directly.

MozReview-Commit-ID: 3alRd9Zj5aZ

--HG--
extra : rebase_source : ed8e917201a7b8b84551aa8494b7879202553238
2017-01-27 13:15:20 +09:00
Mats Palmgren
84833ec356 Bug 795418 - More tests. 2017-01-27 00:24:00 +01:00
Jorg K
6de2da1715 Bug 795418 - test. r=mats 2017-01-27 00:24:00 +01:00
Mats Palmgren
233c6a6aa6 Bug 795418 - Ensure that the inserted wrapper element has a frame to make it IsEditable. r=masayuki 2017-01-27 00:24:00 +01:00
Carsten "Tomcat" Book
182312677f merge mozilla-inbound to mozilla-central a=merge 2017-01-25 13:47:25 +01:00
Florian Quèze
0e0865f4fc Bug 1331599 - script-generated patch to replace removeEventListener calls with the once option when possible, r=jaws. 2017-01-25 07:01:52 +01:00
Makoto Kato
cd26b6b924 Bug 1332977 - Move InsertBR into TextEditor to HTMLEditor. r=masayuki
TextEditor::InsertBR is called from HTMLEditor::TypedText only.  So we should move it to HTMLEditor.

MozReview-Commit-ID: 4rPcayd9T5n

--HG--
extra : rebase_source : 975bb799b7cb71a55e45c5f4169d3e30a9aa5a27
2017-01-23 12:39:47 +09:00
Makoto Kato
054bbb8432 Bug 1332984 - Clean up usage of nsIDOMCharacterData into editor. r=masayuki
Some uses nsIDOMCharacterData to get the attribute of text node.  But, by using Text object, we don't need nsIDOMCharacter.  So we should use Text object instead of nsIDOMCharacterData instead if possible.

MozReview-Commit-ID: 1cwTUcecFj3

--HG--
extra : rebase_source : 2b3745c1aa71ccaca7def3d10e9ad655b4987991
2017-01-23 14:14:30 +09:00
William Chen
29d62db328 Bug 1306532 - Post process node array in ReplaceOrphanedStructure to remove all descendants of replacement node. r=masayuki 2017-01-09 10:11:04 -08:00
Boris Zbarsky
89948607fd Bug 1332353. Make it clearer when a stylesheet is really owned by its mDocument. r=heycam 2017-01-19 23:49:44 -05:00
Phil Ringnalda
02a49ead47 Backed out 2 changesets (bug 1317322) for Windows mochitest-4 leaks
Backed out changeset 51116aebee59 (bug 1317322)
Backed out changeset 3f63b9d012c0 (bug 1317322)
2017-01-18 19:54:48 -08:00
Wes Kocher
95949a3432 Merge m-c to inbound, a=merge
MozReview-Commit-ID: EMipuOLERUq
2017-01-18 15:39:49 -08:00
Michael Layzell
203808678f Bug 1317322 - Activate paste in menus when within <textarea> controls, r=ehsan
MozReview-Commit-ID: 7YD8qtsC3u6
2017-01-18 17:37:02 -05:00
Ryan VanderMeulen
187beffa39 Merge m-c to autoland. a=merge
--HG--
extra : rebase_source : 0de29cc9f544d8882d3e8c13572d3c4b98ba3c26
2017-01-18 09:59:53 -05:00
Jorg K
555bd2c419 Bug 1330796 - Follow-up: Add key code to KEY_Enter. r=masayuki
--HG--
extra : rebase_source : 4346ed0f9d1340b416e4cb2c2098b94aabdae8d0
2017-01-17 10:40:00 -05:00
Wes Kocher
401e9acfca Backed out 2 changesets (bug 1317322) for frequent clipboard test failures a=backout
Backed out changeset 1bc18bb10cc6
Backed out changeset 79d6e9229fda (bug 1317322)

MozReview-Commit-ID: 9SUWpmTLJqG
2017-01-17 14:10:53 -08:00
Michael Layzell
9ec8074497 No bug - Skip test_pasteImgTextarea.html on android, a=bustage
MozReview-Commit-ID: F7GPuSo8JBl
2017-01-17 16:21:33 -05:00
Michael Layzell
79a95a8db1 Bug 1317322 - Activate paste in menus when within <textarea> controls, r=ehsan
MozReview-Commit-ID: 7YD8qtsC3u6
2017-01-17 15:05:32 -05:00
Shing Lyu
39ec052547 Bug 1331860 - Update reftest-stylo expectations. r=heycam
--HG--
extra : rebase_source : 2c39a745949d3dfeb369f0e1efbf4befde8535c9
2017-01-12 10:37:36 +08:00
Florian Quèze
85611a7b6d Bug 1331081 - script generated patch to omit addEventListener/removeEventListener's third parameter when it's false, r=jaws.
--HG--
extra : rebase_source : a22344ee1569f58f1f0a01017bfe0d46a6a14602
2017-01-17 11:50:25 +01:00
Makoto Kato
6c4ca071b5 Bug 1324505 - Part 3. Clean up HTMLEditRules::PopListItem. r=masayuki
PopListItem still uses nsIDOM*.  We should new binding API instead and it is unnecessary to use QI and refcounting if possible.

MozReview-Commit-ID: DJL105hNt6z

--HG--
extra : rebase_source : 40eaab3f8a13fdb7709d165f8374f96084121950
2017-01-11 19:07:33 +09:00
Makoto Kato
540f7d2d63 Bug 1324505 - Part 2. Add crash test. r=masayuki
MozReview-Commit-ID: 7NJr1fGKBZA

--HG--
extra : rebase_source : 6d1da342b10c7d05b82be445665902d1dd47430e
2017-01-11 19:04:32 +09:00
Makoto Kato
47569ce31a Bug 1324505 - Part 1. Check whether parent node is null. r=masayuki
designMode is too strange.  Parent of common ancestor of selection might be nullptr, so we should check whether nullptr.

MozReview-Commit-ID: Cy1k2Mpkws0

--HG--
extra : rebase_source : 104731f259d6c041972288e1e816d73cc6c93320
2017-01-11 19:03:41 +09:00
Jorg K
b3de8e2b23 Bug 1330796 - Add invisible break to span of display:block in HTMLEditRules::SplitMailCites. r=masayuki 2017-01-16 01:40:00 -05:00
Jorg K
5520579a29 Bug 1331237 - Remove left-over dump() statements from test_bug772796.html. r=masayuki 2017-01-14 23:59:00 -05:00
Makoto Kato
8292a2eba6 Backed out changeset f1f0f69bc78f (bug 1324505)
MozReview-Commit-ID: 1DbtAJzgJYo
2017-01-16 19:32:59 +09:00
Makoto Kato
7530aa4e7d Backed out changeset ea8744408e89 (bug 1324505)
MozReview-Commit-ID: ZX7rxfKI13
2017-01-16 19:32:57 +09:00
Makoto Kato
a396fb9acd Backed out changeset 7be23bb65b93 (bug 1324505)
MozReview-Commit-ID: 8ONKT1Q6oER
2017-01-16 19:32:56 +09:00
Makoto Kato
4306cf9aa6 Bug 1324505 - Part 3. Clean up HTMLEditRules::PopListItem. r=masayuki
PopListItem still uses nsIDOM*.  We should new binding API instead and it is unnecessary to use QI and refcounting if possible.

MozReview-Commit-ID: DJL105hNt6z

--HG--
extra : rebase_source : ca3944abde042aac769c64ad5caf8903e715b31d
2017-01-11 19:07:33 +09:00
Makoto Kato
7aef46317d Bug 1324505 - Part 2. Add crash test. r=masayuki
MozReview-Commit-ID: 7NJr1fGKBZA

--HG--
extra : rebase_source : 7ffb4131ca5e1a4eac395d4cbdf230e30fb4914c
2017-01-11 19:04:32 +09:00
Makoto Kato
34ff40e936 Bug 1324505 - Part 1. Check whether parent node is null. r=masayuki
designMode is too strange.  Parent of common ancestor of selection might be nullptr, so we should check whether nullptr.

MozReview-Commit-ID: Cy1k2Mpkws0

--HG--
extra : rebase_source : 01201d52431bfd7961f3311daa89b50c61407e8b
2017-01-11 19:03:41 +09:00
Joel Maher
bedb17b11f Bug 1330402 - add BUG_COMPONENT to editor/* files. r=m_kato
MozReview-Commit-ID: 3VTNcM49BSS
2017-01-13 08:40:24 -05:00
Bobby Holley
eb34404cc8 Bug 1323654 - Reenable crashtests. r=me 2017-01-12 17:37:27 -08:00
Cameron McCormack
9f99f387ac Bug 1324663 - stylo: Adjust expectations now that we've disabled style context tree structure assertions. r=me
MozReview-Commit-ID: EORVNMWW7gu
2017-01-11 20:35:12 +08:00
Jorg K
b15f9d079d Bug 1328093 - HTMLEditor::InsertTextWithQuotations() should include the first line break into the <span> it creates. r=masayuki
--HG--
extra : rebase_source : 700f9369f435ba14fe7a5879b0e01bcb599a60d9
2017-01-10 01:50:00 -05:00
Shing Lyu
11a1d3e940 Bug 1328825 - Update reftest-stylo.list and expectations. r=heycam
MozReview-Commit-ID: AMwdk5wvM0F
2017-01-10 15:50:59 +08:00
Bobby Holley
b32f310e62 Bug 1323649 - Reenable some crashtests. r=me 2017-01-09 11:50:23 -08:00
Bobby Holley
4ff3bbf698 Bug 1323662 - Reenable crashtests. r=me 2017-01-09 11:50:21 -08:00
Ryan VanderMeulen
1e6f972917 Merge inbound to m-c. a=merge 2017-01-07 11:22:47 -05:00
Masayuki Nakano
b2778c3a90 Bug 1272623 part.3 HTMLEditRules::ReapplyCachedStyles() shouldn't set style to TypeInState if it's currently applied r=smaug
The target node of HTMLEditRules::ReapplyCachedStyles() may be styled with its parent.  When HTMLEditRules::ReapplyCachedStyles() is called, it shouldn't restore another style cache if it's already specified in current DOM tree.

MozReview-Commit-ID: DKCpQ8YyW7

--HG--
extra : rebase_source : 854b4cc6382f5357919bce1e106e71fe66b15444
2017-01-06 22:35:48 +09:00
Cameron McCormack
d4de4e55a0 Bug 1324624 - stylo: More crashtest assertion adjustments.
MozReview-Commit-ID: DM8nLXSiSxr
2017-01-07 16:33:50 +08:00
Masayuki Nakano
b51e97e916 Bug 1272623 part.2 Add automated tests of testing cached inline style at editing r=smaug
MozReview-Commit-ID: 1kIfj3GgCcY

--HG--
extra : rebase_source : 4d808bbea9c5a23464e7e09baa1158ef0adf472c
2016-12-27 18:27:10 +09:00
Iris Hsiao
7adb57a57f merge autoland to mozilla-central a=merge 2017-01-06 11:06:17 -05:00
Wes Kocher
1b9930db65 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2ocdQCLe0I1
2017-01-05 17:31:25 -08:00
Makoto Kato
93a16746ac Bug 1328558 - Remove unused insertElement member from TextEditRules. r=masayuki
Remove insertElement from TextEditRules due to unused.  Also, comments into TextEditRules is out of date.  We should update it using currect enum.

MozReview-Commit-ID: B1wczFWh2Ya

--HG--
extra : rebase_source : 910338b2f5d20316dcf11928e964346fa4aa8411
2017-01-04 18:51:44 +09:00
Cameron McCormack
babad063ff Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
Cameron McCormack
ce51bd51e0 Bug 1328832 - Part 1: Rename mozFlushType.h to FlushType.h. r=bzbarsky
MozReview-Commit-ID: 1ubwNkBEdfz

--HG--
rename : dom/base/mozFlushType.h => dom/base/FlushType.h
2017-01-05 14:54:02 +08:00
Tim Nguyen
d7db347638 Bug 1322938 - Basic implementation of HTMLDialogElement. r=smaug, masayuki
MozReview-Commit-ID: AU92mq2QZIc
2016-12-23 16:01:50 +01:00
Cameron McCormack
61569b57a1 Bug 1324624 - Tweak stylo crashtest assertion annotations a bit more.
MozReview-Commit-ID: D2AntG68VGr
2017-01-02 16:25:22 +08:00
Masayuki Nakano
c20fedebf4 Bug 1312991 Get rid of nsIHTMLEditor::SetDocumentTitle() and mozilla::SetDocumentTitleTransaction r=smaug
Now, nobody (including add-ons) uses nsIHTMLEditor::SetDocumentTitle(), so, we can remove it.

Additionally, mozilla::SetDocumentTitleTransaction is created only when nsIHMLEditor::SetDocumentTitle(), so, we can remove this class too.

MozReview-Commit-ID: HK7G9u7HUlh

--HG--
extra : rebase_source : da68cabbf929a684d26f6316fdc7f58b8e32ab02
2016-12-26 17:46:23 +09:00
Makoto Kato
45e40588b0 Bug 1325843 - Use explicitly static method call for EditorBase::IsTextNode. r=masayuki
IsTextNode is static method, so we should use explicitly static method call into EditRule.

MozReview-Commit-ID: EX2BbbN2vNJ

--HG--
extra : histedit_source : 4194477320ffad62da36b272239d1443bb6c88b6
2016-12-26 14:32:57 +09:00
Makoto Kato
ac78727eab Bug 1325300 - Use explicitly static method call for GetStartNodeAndOffset and GetEndNodeAndOffset. r=masayuki
Most codes into HTMLEditRules and TextEditRules don't use explicitly static method call such as EditorBase::GetStartNodeAndOffset.  So we should use it instead of "editor->GetStartNodeAndOffset".

MozReview-Commit-ID: DGAEFK6AYzh

--HG--
extra : rebase_source : d1dafaca2dbe95d9b1c50c52245f29af75e0a9f2
extra : amend_source : c183380253a1cf5c1dbc1cf18eb70e26ca0cadeb
2016-12-22 15:48:41 +09:00
Makoto Kato
aba106bb59 Bug 1324996 - Part 2. Use nsIAtom to change attirbute if possible. r=masayuki
We can replace old nsIEditor API with nsIAtom version.

MozReview-Commit-ID: EMEANldtTo0

--HG--
extra : rebase_source : 2828270d42efe1786f88f13bf20c34bd56083d41
2016-12-20 20:53:00 +09:00
Makoto Kato
5b2e25c11c Bug 1324996 - Part 1. Implement nsIAtom version of SetAttribute/RemoveAttribute/CloneAttirubte. r=masayuki
Add nsIAtom version of the following.
 - CloneAttribute
 - RemoveAttribute
 - RemoveAttributeOrEquivalent
 - SetAttribute
 - SetAttributeOrEquivalent

MozReview-Commit-ID: 8CutpdyVuew

P1

MozReview-Commit-ID: 9MdmGcTqaxT

--HG--
extra : rebase_source : 2ae876cd33839f61880bd6c55644d4381139dd25
2016-12-20 19:24:08 +09:00
Bobby Holley
3ae99d4463 Bug 1323655 - Handle unstyled elements when applying XBL bindings. r=heycam 2017-01-04 19:08:37 -08:00
Cameron McCormack
d4d8ba1d5f Bug 1324624 - stylo: Mark currently failing crashtests with asserts-if(stylo,...). r=xidorn
MozReview-Commit-ID: 7iiwRwiQ8s4
2016-12-21 15:42:36 +08:00
Masayuki Nakano
7436f01057 Bug 564411 Move all methods/attributes of nsIEditorIMESupport to nsIEditor r=smaug
Doing QI from nsIEditor to nsIEditorIMESupport doesn't make sense because editor should always support all methods and attributes of nsIEditorIMESupport (it does NOT mean that all nsIEditor implementation need to support IME).

This patch moves all of them to nsIEditor for avoiding redundant QIs.

MozReview-Commit-ID: DzIKuGHG4iy

--HG--
extra : rebase_source : cc5e9a6ae4572ebe461d9770ffa5c23d33dc8526
2016-12-20 21:47:31 +09:00
Carsten "Tomcat" Book
a244c7fb4a merge mozilla-inbound to mozilla-central a=merge 2016-12-16 16:04:50 +01:00
Cameron McCormack
366f6eb24d Bug 1323892 - Disable currently crashing stylo crashtests. r=xidorn
MozReview-Commit-ID: 2BNjdBWdT5V
2016-12-16 18:54:41 +08:00
Makoto Kato
9ca28d2919 Bug 1317704 - Part 2. Add test. r=masayuki
MozReview-Commit-ID: AVOvEZ1sMVq

--HG--
extra : rebase_source : 82695e8f1b24b61258311d11f9ce19cfbae2033f
2016-12-15 15:02:10 +09:00
Makoto Kato
787ae4f9c9 Bug 1317704 - Part 1. Hold current ranges into RemoveInlineProperty. r=masayuki
Since current selection ranges might be modified by SplitStyleAboveRange,  this crash occurs into RemoveInlinePropertyImpl.  So we need hold current selection range for loop.

MozReview-Commit-ID: JuXn9XlwCp6

--HG--
extra : rebase_source : f34cd77d19c1a8bfcc6e26c6f0b1cd833ce4b19e
2016-12-15 15:01:53 +09:00
Jorg K
714e747215 Bug 1288911 - Use CSS trick to avoid unwanted line wraps in quotes. r=masayuki
--HG--
extra : rebase_source : 5c6ebecddc27c9ad076c5c90fe83016a0008cb83
2016-12-14 13:37:00 +01:00
Gijs Kruitbosch
cb6c0c81ac Bug 1322414 - part 2,3,4: use a separate 'primary' attribute for primary child browsers, r=bz,mconley
MozReview-Commit-ID: 2yb0WGFYBsH

--HG--
extra : rebase_source : 376171077c577e41e82cec5e994c425c6d9f2d80
extra : histedit_source : 39aad91381749a263042cd0452fe32019a1974b8
2016-12-09 09:23:24 -10:00
Makoto Kato
ec8701e677 Bug 1323138 - CSSEditUtils should use atom for CSS property if possible. r=masayuki
There is a lot of string compare when using CSS property name.  We should use nsGkAtoms instead.

MozReview-Commit-ID: JvpWRTkM8U

--HG--
extra : rebase_source : 404518a52fdab6b64a804835acd1ea16b5adde7c
2016-12-12 00:03:36 -10:00
Karl Tomlinson
4c027cc4bc bug 1322422 use assertSnapshots() to log failures better r=Ehsan
MozReview-Commit-ID: 54WgoCdKjMX

--HG--
extra : rebase_source : 1ab5cccb586edad9f3a30c90f413124df006820f
2016-12-06 22:38:23 -10:00
Makoto Kato
4f19afdf88 Bug 1318570 - Clean up GetTextNode into TextEditRules. r=masayuki
EditorBase parameter of GetTextNode is unnecessary because it uses static method only.  Also, we should return nsINode to reduce QI.

MozReview-Commit-ID: 3KazYFcr899

--HG--
extra : rebase_source : 092bbcc84d7c1e7174029bb90f606f3953fe8597
2016-11-22 20:56:03 +09:00
Olli Pettay
6dabfdba6b Bug 1314442 - Limit editor's editability to the right subtree. r=masayuki
--HG--
extra : rebase_source : bb528d3c82c962dc31883654a81f87285e49e2b9
2016-11-29 17:07:27 -05:00
Makoto Kato
ced4cccc2c Bug 1313986 - Part 5. Remove createAnonymousElement from nsIHTMLEditor. r=masayuki
c-c nor add-ons seem noet to use it.  We should remove this.

MozReview-Commit-ID: 3jN8kUp6D4Z

--HG--
extra : rebase_source : cc31001bb87da2888a9c1da6d92a305cdebebb7a
2016-10-31 18:06:27 +09:00
Makoto Kato
ef514b53ec Bug 1313986 - Part 4. Use Element instead of nsIDOMElement for resizer. r=masayuki
Resizer and etc attributes on table editor still use nsIDOMElement.  Converting to Element makes both implementation and the callers simpler.

MozReview-Commit-ID: TTFSvqn5GE

--HG--
extra : rebase_source : 705576c4eb0fe5f8f566f3415a8a72842c919edd
2016-11-24 15:58:01 +09:00
Makoto Kato
3d6d028dd6 Bug 1313986 - Part 3. Use CreateAnonymousElement with nsIAtom for simple case. r=masayuki
Now we can return Element directly via CreateAnonymousElement. We should use it.

MozReview-Commit-ID: Et1i3hLVSqc

--HG--
extra : rebase_source : e09c2b2b41481dd6608d9c816676030d8aae1ed6
2016-11-24 18:07:47 +09:00
Makoto Kato
ba151083a7 Bug 1313986 - Part 2. Add CreateAnonymousElement with nsIAtom. r=masayuki
I would like to nsIAtom and mozilla::dom::Element version of CreateAnonymousElement to clean up code.  When getting/setting attirubte, editor sometimes use string, not nsGkAtoms.  We should use new mozilla::dom::Element methods.

Also, we should add  _moz_anonclass to atom list that uses on editor.

MozReview-Commit-ID: ICaAWVPjcej

--HG--
extra : rebase_source : 9585214aa678c16905250265a75b817c90246fcc
2016-11-24 16:12:04 +09:00
Makoto Kato
18132c8907 Bug 1313986 - Part 1. Add test for inlineTableEditing and objectResizing. r=masayuki
We have no mochitest for objectResizing and inlineTableEditing.  So I add simple test for this.

MozReview-Commit-ID: Hnjpopr3h5F

--HG--
extra : rebase_source : 8cb81a89f11d4092f2adaa8822733f861a71ace1
2016-11-24 15:00:04 +09:00
Andi-Bogdan Postelnicu
d9b3715501 Bug 1319401 - Use C++11's override and remove virtual where applicable in editor/. r=masayuki
MozReview-Commit-ID: CdlsJOlAW9e

--HG--
extra : rebase_source : 2c56fbdb44db8b6084b50a656513227cd26db278
2016-11-22 14:14:48 +02:00
Andi-Bogdan Postelnicu
e311c3aa44 Bug 1319401 - Replace default bodies of special member functions with = default; in editor/. r=masayuki
MozReview-Commit-ID: F9p3cvxPIrs

--HG--
extra : rebase_source : 63a3753634c5eed9303bb3f569095a644a52cc04
2016-11-22 14:14:22 +02:00
Ryan VanderMeulen
012910643b Bug 1211213 - Re-enable test_bug597331.html on ASAN and Windows.
--HG--
extra : rebase_source : 62ab2f2f59067ff4ad5869420e7495e9c2963fa1
2016-11-21 14:13:54 -05:00
Carsten "Tomcat" Book
59bb309e38 merge mozilla-inbound to mozilla-central a=merge 2016-11-21 15:44:20 +01:00
Masayuki Nakano
dbf69d5b2c Bug 1316302 part.4 Refine HTMLEditRules::TryToJoinBlocks() and HTMLEditRules::MoveNodeSmart() with early return style for making scope of EditActionResult variable smaller r=smaug
For now, let's make the scope of EditActionResult variable in them smaller without big change.

MozReview-Commit-ID: 9vDoU9bUdVO

--HG--
extra : rebase_source : 6cdd50954d6cfe1fa80aeee5b06b3fec6b1ada3d
2016-11-18 18:59:39 +09:00
Masayuki Nakano
e8b4d6d5fe Bug 1316302 part.3 Create EditActionResult class for making the methods which return nsresult, handled and canceled with out params r=smaug
In a lot of places, edit action handlers and their helper methods return nsresult and aHandled and aCanceled with out params.  However, the out params cause the code complicated since:

* it's not unclear if the method will overwrite aHandled and aCanceled value.
* callers need to create temporary variable event if some of them are not necessary.

This patch rewrites the helper methods of HTMLEditRules::WillDeleteSelection() with it.

MozReview-Commit-ID: CJv75KdOdXf

--HG--
extra : rebase_source : 708d378bdd0ddc4ae984de9294525b01a829b0b7
2016-11-18 17:59:23 +09:00
Masayuki Nakano
8b2ac2889e Bug 1316302 part.2 WillDeleteSelection() should retry to handle it when selection is collapsed and JoinBlocks() doesn't handle nor cancel the action r=smaug
When selection is collapsed and JoinBlocks() doesn't handle nor cancel the action, WillDeleteSelection() should move selection to the start/end of leftmost/rightmost editable leaf node and retry to handle the action again.

For avoiding infinite loop, it checks if selected node is changed actually before calling itself again.

MozReview-Commit-ID: GtEC4dim3r9

--HG--
extra : rebase_source : f84afd754e71f441c3fad15456d20a11c42dd6de
2016-11-16 20:20:41 +09:00
Masayuki Nakano
a8116bc72f Bug 1316302 part.1 Helper methods for HTMLEditRules::WillDeleteSelection() should have an out argument to indicates if it actually handles the action r=smaug
When HTMLEditRules::WillDeleteSelection() tries to remove something from the end/start of a block to its last/first text node but it's contained by block elements, it tries to join the container and the block.  However, JoinBlocks() always fails to join them since it's impossible operation.  In this case, HTMLEditRules::WillDeleteSelection() should retry to remove something in the leaf, however, it's impossible for now because JoinBlocks() and its helper methods don't return if it handles the action actually.

This patch renames |JoinBlocks()| to |TryToJoinBlocks()| for representing what it is.  And this patch adds |bool* aHandled| to the helper methods.  Then, *aHandled and *aCancel are now always returns the result of each method.  Therefore, for merging the result of multiple helper methods, callers need to receive the result with temporary variables and merge them by themselves.

Note that when they modify DOM node actually or the action should do nothing (for example, selection is across tables), aHandled is set to true.

MozReview-Commit-ID: 7ApUOgtLUog

--HG--
extra : rebase_source : 4abc1ec208107b782a719df058623fd7f92d180c
2016-11-18 17:54:31 +09:00
Carsten "Tomcat" Book
866da9f9c6 merge mozilla-inbound to mozilla-central a=merge 2016-11-18 16:51:17 +01:00
Makoto Kato
0d166881ec Bug 1317718 - Unnecessary QI to nsIContent to check whether text node. r=masayuki
If not text node, QI to nsIContent will be failed.  So we should use IsNodeType (Or EditorBase::IsTextNode) without QI for detection of text node.

Also, to get content length into text node, we should use TextLength() simply instead of getting content string.  It can reduce memory allocation.

MozReview-Commit-ID: C8EKxfUBjTP

--HG--
extra : rebase_source : 30614bd21393f96f9a9b13aeb5a742fa8c6eb83f
extra : amend_source : 8b956f9fbd521f7c9503bdb5481694579cb6e3e9
2016-11-17 11:14:19 +09:00
Benjamin Smedberg
00f9f7a30c Bug 1314350 - Port TestTXMgr to gtest. This removes the framework for testing object destruction order because that was already non-deterministic due to the cycle collector, r=masayuki
MozReview-Commit-ID: vK4iYmytgt

--HG--
extra : rebase_source : fc4be47bf0e68777aaf45250b339cf0d3d332240
extra : source : bb1325166026fec5e13db34eca7588ce18c94505
2016-11-15 13:06:05 -05:00
Masayuki Nakano
ab6651b316 Bug 1314852 Make background and border of the input element in test_bug636465.html since it's sometimes not painted correctly r=smaug
The test compaires 4 screenshots for checking spellchecker's behavior.  However, the input element is sometimes not painted correctly on Linux.

Even if I make it wait more delay before taking screenshot, the random failure isn't fixed. So, I guess that it's a bug of gfx of Theme API of GTK.

On the other hand, the most important thing here is, compairing the foreground contents of the input element.  Therefore, this patch makes the background and border of the input element transparent.  That prevents to use Theme API. This must be enough for fixing the random orange.

MozReview-Commit-ID: L2uXcPLvbNg

--HG--
extra : rebase_source : 451f1c45d70ceb8406ea9749f0dfa3264c615151
2016-11-16 15:51:21 +09:00
Boris Zbarsky
784a52fd02 Bug 1317720. Use NeedsCallerType instead of NeedsSubjectPrincipal for DataTransfer.types. r=mystor 2016-11-15 12:46:32 -05:00
Boris Zbarsky
dda84c3ef8 Bug 1317599. Get rid of LegacyIsCallerChromeOrNativeCode use in datatransfer code. r=mystor 2016-11-15 12:46:32 -05:00
Makoto Kato
e012b6c81b Bug 1314790 - Part 2. Add test. r=masayuki
MozReview-Commit-ID: HcauemPpe4r

--HG--
extra : rebase_source : 6adb8338981c7654c3b9af2ab0f0ac46a9effb84
extra : amend_source : 1f1c5392b784d788d06924c69c95df569947d9e6
extra : histedit_source : e8b277c0cb2dbdf80344426036dd59fe56d2f477
2016-11-12 21:59:49 +09:00
Makoto Kato
0a98c8f610 Bug 1314790 - Part 1. GetGoodSelPointForNode doesn't work with ePrevousWord action. r=masayuki
Although GetGoodSelPointForNode only supports ePrevious or eNext as action, we use other action.  So we should add aseetion for it.

MozReview-Commit-ID: 3gLFFTAdNxU

--HG--
extra : rebase_source : b22cd532b6072e19fe1bff7f90a0e4a4ae4236e1
extra : histedit_source : 117509f1b76a382e8b23c5fa3345b81460385e56
2016-11-12 21:59:04 +09:00
SkyLined
df22496a19 Bug 1264921 - Crashtest. 2016-11-21 00:26:37 +01:00
Makoto Kato
2e67c9f2eb Bug 1314790 - Part 3. Ignore nsIEditor::eNone case. r=masayuki
MozReview-Commit-ID: 6KHFQ84J7dU

--HG--
extra : rebase_source : 5067eb13b7b0147a91bc6684e22738941dd5c965
extra : histedit_source : 620f146445556e90029665f1a2575105347ad441
2016-11-20 10:35:17 +09:00
Boris Zbarsky
6cee715d54 Bug 1318479 part 2. Remove uses of nsIDOMNode::AppendChild in editor. r=ehsan 2016-11-18 16:38:29 -05:00
Makoto Kato
74fe2d5fc8 Bug 1310912 - Part 6. Add redo test. r=masayuki
MozReview-Commit-ID: 5TgGAq3tM01

--HG--
extra : rebase_source : 031c1687887b67892ac4c9569fe843c17d5b1a49
extra : histedit_source : 3006cca58c3c5736ab603f3088296272db9763ed
2016-11-10 21:17:34 +09:00
Makoto Kato
b2b4afaf31 Bug 1310912 - Part 5. InsertTextIntoTextNodeImpl should use IMETextNode for listener. r=masayuki
When using CompositionTransaction, text node will be inserted into IMETextNode, not aTextNode of parameter.  So we should use it for listener.

MozReview-Commit-ID: 72a3ZjF1wsz

--HG--
extra : rebase_source : 325909c0d141c238ab41e33d7f3959f4db27339e
extra : histedit_source : 52d6fc9d2668e4e41783e524276d7041eec0301c
2016-11-12 15:46:33 +09:00
Makoto Kato
272781396f Bug 1310912 - Part 4. RangeUpdater should be called on DoTransaction. r=masayuki
Although PlaceholderTransaction will use the selection on Merge, it is too late to use UpdateRange.  Because RangeUpdater will be used after DoTransaction is finished.  So we should update selection on DoTransaction.

Also, part 1 fix doesn't update selection correctly via RangeUpdater when IME composition is multiple node.

MozReview-Commit-ID: 9so9tR8uQ6t

--HG--
extra : rebase_source : 02a8bebe6c89ceb023bd598b77b40c5817cd4007
extra : histedit_source : d114420552779d3352637c5554bf9e90e6e9cd40
2016-11-12 14:56:33 +09:00
Makoto Kato
ed68b31349 Bug 1310912 - Part 3. The selection into PlaceholderTransaction should be updated via RangeUpdater. r=masayuki
Since the selection into PlaceholderTransaction isn't updated via RangeUpdater, UndoTransaction may return error when selection/caret position is changed.  Then, redo is failed.

So we should add selection into PlaceholderTrancation to RangeUpdater.

MozReview-Commit-ID: LcUIiUExNhx

--HG--
extra : rebase_source : 9e1a71a7f497181171209ac05edcbddae227ab93
extra : histedit_source : 200dfd7957bf1b4dc92af72bb8b864cb457d62ab
2016-11-10 21:10:50 +09:00
Makoto Kato
c962bbc74c Bug 1310912 - Part 2. Add test. r=masayuki
We need skip this test on Android.  Although mochitest doesn't use native IME data, Android's GeckoEditable.java wants to access native IME composition.  See bug 1315898.

MozReview-Commit-ID: BNCKmDEmwKw

--HG--
extra : rebase_source : e7be1cb9e5c7c0fb4283f81541fc7441f52a1101
2016-11-04 19:04:43 +09:00
Makoto Kato
65c64fee1d Bug 1310912 - Part 1. CompositionTransaction should support multiple text nodes. r=masayuki
Google Keep uses range.insertNode on input event.  So, text node will be inserted into current caret position.

Microsoft IME's caret is after composition string, but ATOK's caret is before it.  So when using ATOK, this issue occurs.  By range.insertNode, text nodes that have IME attribute becomes multiple text nodes.  But CompositionTransanction doesn't consider that IME range isn't single text node.  Although it replaces current composition string with new string on first text node, it doesn't delete composition string on other text node.

MozReview-Commit-ID: 9uRx0A9mppx

--HG--
extra : rebase_source : fe0754cee2197822ca6ac9ebed13013a8f13b606
2016-11-08 16:14:57 +09:00
Masayuki Nakano
e940a313f8 Bug 1315065 When selection is collapsed in an empty text node, Backspace/Delete key press should modify the nearest text node r=smaug
Currently, when selection is collapsed at an empty text node, the behavior of each major browser is different.

When you remove the last character of non-empty text node followed by empty text nodes, Chromium removes all following empty text nodes.  However, Edge never removes empty text nodes even when selection is collapsed at an empty text node.

With this patch, our behavior becomes same as Edge.  I think that we should take this for keeping backward compatibility since Gecko never removes empty text nodes.  So, in other words, this patch makes Backspace key press at an empty text node modify the preceding non-empty text node.

When you remove the first character of non-empty text node preceded with empty text nodes, Edge removes all preceding empty text nodes.  However, Chromium and Gecko keeps previous empty text nodes than caret position.  So, we should keep current behavior for backward compatibility.  In other words, this patch makes Delete key press at an empty text node modify the following non-empty text node and keep current behavior.


The fixing approach of this is, making WSRunObject::PriorVisibleNode() and WSRunObject::NextVisibleNode() ignore empty text node.  This should make sense because empty text node is not a visible node. (On the other hand, when the DOMPoint has a null character, it should treat as visible character.  That is visible with Unicode codepoint.)

MozReview-Commit-ID: 11YtqBktEvK

--HG--
extra : rebase_source : 70fa858866cc768179c1ca6a869e1a5c7cfe6e1a
2016-11-11 12:24:21 +09:00
Gerald Squelart
0affeb4ab0 Bug 1316432 - Fix nsCOMPtr constructions&assignments from 0 - r=froydnj
Giving '0' (literal zero) to nsCOMPtr is now ambiguous, as both
nsCOMPtr(decltype(nullptr)) and nsCOMPtr(T*) could be used.
In any case, our coding standards mandate the use of 'nullptr' for pointers.
So I'm changing all zeroes into nullptr's where necessary.

MozReview-Commit-ID: LXiZTu87Ck6

--HG--
extra : rebase_source : f9dcc6b06e9ebf9c30a576f9319f76a51b6dc26f
2016-11-10 14:11:27 +11:00
Gerald Squelart
b500aaacf6 Bug 1316206 - Fix RefPtr assignments from 0 - r=froydnj
Giving '0' (literal zero) to RefPtr is now ambiguous, as both
RefPtr(decltype(nullptr)) and RefPtr(T*) could be used.
In any case, our coding standards mandate the use of 'nullptr' for pointers.
So I'm changing all zeroes into nullptr's where necessary.

MozReview-Commit-ID: A458A4e9for

--HG--
extra : rebase_source : bc4107ce1767329e3dddfe34c55ba79202192e06
2016-11-08 14:34:06 +11:00
Neerja Pancholi
67f36de296 Bug 1312951 - Add fuzzy annotation for editor/reftests/824080-3.html r=mstange
MozReview-Commit-ID: 7ZMQPXFHrWq

--HG--
extra : rebase_source : fe8613e36d2a195184cad49478d54d64ee68d620
2016-11-07 17:18:08 -08:00
Neerja Pancholi
3b3f7eb0c8 Bug 1313253 - Add fuzzy annotation for editor/reftests/824080-2.html r=mstange
MozReview-Commit-ID: DRDZbnBMDOL

--HG--
extra : rebase_source : bb2e82ee8bdd6a2fbb7a64c434f593f0a6781a3c
2016-11-07 17:15:38 -08:00
Carsten "Tomcat" Book
846adaea6c merge mozilla-inbound to mozilla-central a=merge 2016-11-09 16:38:04 +01:00
Masayuki Nakano
a912bd8141 Bug 1230473 If there is no TextComposition instance even when EditorBase receives eCompositionStart event, the editor should do nothing r=smaug
Even when editor receives eCompositionStart event, the active composition may have gone since web contents can listen to composition events before editor (so, web contents can commit the composition before "compositionstart" reaching focused editor).

Therefore, editor shouldn't crash as unexpected scenario.  Instead, it should do nothing in such case.

Note that when editor receives 2nd or later "compositionupdate" or "text" event, it should not modify composition.  However, currently, it does that.  This patch does NOT fix it since it's really rare case.  It should be fixed in another bug because this should be uplifted (crashing with some IMEs on Android is serious).

MozReview-Commit-ID: HIbMy4eFRMw

--HG--
extra : rebase_source : a98661ab2c1c8ee67ef551af3d1770b61cd25c84
2016-11-08 00:36:32 +09:00
Phil Ringnalda
a7bc94158c Merge m-i to m-c, a=merge
MozReview-Commit-ID: H4VKCYDq5cD

--HG--
rename : xpcom/tests/TestAutoRef.cpp => xpcom/tests/gtest/TestAutoRef.cpp
rename : xpcom/tests/TestCOMArray.cpp => xpcom/tests/gtest/TestCOMArray.cpp
rename : xpcom/tests/TestCOMPtr.cpp => xpcom/tests/gtest/TestCOMPtr.cpp
rename : xpcom/tests/TestCOMPtrEq.cpp => xpcom/tests/gtest/TestCOMPtrEq.cpp
rename : xpcom/tests/TestFile.cpp => xpcom/tests/gtest/TestFile.cpp
rename : xpcom/tests/TestHashtables.cpp => xpcom/tests/gtest/TestHashtables.cpp
rename : xpcom/tests/TestID.cpp => xpcom/tests/gtest/TestID.cpp
2016-11-05 13:36:25 -07:00
Sebastian Hengst
eb26ee2f07 Bug 1310297 - Remove test annotations using b2g, mulet or gonk: editor. r=RyanVM
MozReview-Commit-ID: GDieTLdlpRH

--HG--
extra : rebase_source : 8332d4abdea9d0ad27ad7cceace96ad75aff6b2c
2016-11-05 11:29:19 +01:00
Jessica Jong
726903109f Bug 1301306 - Stop focus events from anon. content when moving inside input=time element. r=smaug 2016-11-04 00:47:00 -04:00
Xidorn Quan
5e29805363 Bug 1294299 part 8 - Refactor interface provided by css::Declaration. r=heycam
The main targets of this refactor are:
1. Move most of the logic of distinguishing properties and custom
   properties from nsDOMCSSDeclaration into css::Declaration, which
   gives ServoDeclarationBlock more flexibility to implement.
2. Rename those methods of css::Declaration to provide a clear interface
   which makes sense for implementing in ServoDeclarationBlock, and also
   avoid method overload, which can impede the forward macro, on them.

MozReview-Commit-ID: 2cCqF855TVK

--HG--
extra : source : 3837e1e558caac4f2901e838371e97c17821530e
2016-11-03 14:41:02 +11:00
Geoff Brown
1585835379 Bug 1309431 - Disable test_bug772796.html on Android only; r=me 2016-11-08 15:11:42 -07:00
Aryeh Gregor
f0ca6ef4ca Bug 1271125 part 2 - Port editor mochitests that depend on ChromeUtils.js to mochitest-plain; r=masayuki
The change from ok() to is() in tests is so that the failure message is
more informative -- it now tells you the returned exception.

This commit omits test_contenteditable_text_input_handling.html because of test
failures that I haven't figured out.

MozReview-Commit-ID: 37cYlQlJZm7
2016-10-31 18:38:04 +02:00
Aryeh Gregor
9fc7d0745c Bug 1271120 - Port test_bug1219928.html from chrome to plain; r=masayuki
This test still doesn't work in e10s, though.  mrbkap says further
debugging is needed (bug 1269209 comment 3).

MozReview-Commit-ID: 3iHNkQVYQMn
2016-09-01 17:15:28 +03:00
Aryeh Gregor
f00c374e3b Bug 1271120 - Port test_bug1209414.html from chrome to plain; r=masayuki
MozReview-Commit-ID: ExX9ZNsVaXq
2016-08-23 15:56:23 +03:00
Aryeh Gregor
a1960cc86a Bug 1271120 - Port test_bug636465.xul from chrome to plain; r=masayuki
MozReview-Commit-ID: B0oaEGGEEvd

--HG--
rename : editor/libeditor/tests/test_bug636465.xul => editor/libeditor/tests/test_bug636465.html
2016-09-01 17:30:57 +03:00
Aryeh Gregor
73038b219c Bug 1271120 - Port test_bug569988.html from chrome to plain; r=masayuki
MozReview-Commit-ID: EwpjCJf5MFX
2016-08-23 15:56:48 +03:00
Aryeh Gregor
757c20701e Bug 1271120 - Port test_composition_event_created_in_chrome.html from chrome to plain; r=masayuki
MozReview-Commit-ID: 5K2qv7JXAT4
2016-08-23 16:01:28 +03:00
Aryeh Gregor
7440afba28 Bug 1271119 - Port test_bug1248185.html from chrome to plain; r=masayuki
MozReview-Commit-ID: Jn8Ga8dw4WD
2016-10-31 18:27:10 +02:00
Aryeh Gregor
d63d3c394b Bug 1271119 - Port test_bug1248128.html from chrome to plain; r=masayuki
I added an extra check to ensure that the test wasn't passing because
doCommand() was throwing some unrelated exception, in case porting from
chrome to plain changed behavior of doCommand().

MozReview-Commit-ID: LOo8yN8jkZo
2016-10-31 18:26:31 +02:00
Aryeh Gregor
2459cda825 Bug 1271119 - Port test_bug1153237.html from chrome to plain; r=masayuki
MozReview-Commit-ID: DDfHuLwplBV
2016-08-30 21:13:49 +03:00
Aryeh Gregor
953f75ec49 Bug 1271119 - Port test_bug1140617.xul from chrome to plain; r=masayuki
Possible issue: the previous version saved document.popupNode and
restored it after copying the image, and the new version does not
(because I don't know how).  The test seems to pass anyway.

MozReview-Commit-ID: 7g0JCYxI7x8

--HG--
rename : editor/libeditor/tests/test_bug1140617.xul => editor/libeditor/tests/test_bug1140617.html
2016-08-30 21:32:20 +03:00
Aryeh Gregor
1b70f4e9fb Bug 1271119 - Port test_bug1101392.html from chrome to plain; r=masayuki
MozReview-Commit-ID: F5Q8AWVtdjC
2016-08-30 21:08:55 +03:00
Aryeh Gregor
7d842d8033 Bug 1271119 - Port test_bug646194.xul from chrome to mochitest; r=masayuki
MozReview-Commit-ID: Lx05BEKQiwO

--HG--
rename : editor/libeditor/tests/test_bug646194.xul => editor/libeditor/tests/test_bug646194.html
2016-08-30 18:40:55 +03:00
Aryeh Gregor
35558fd4e9 Bug 1271119 - Port test_bug490879.xul from chrome to plain; r=masayuki
Possible issue: the previous version saved document.popupNode and
restored it after copying the image, and the new version does not
(because I don't know how).  The test seems to pass anyway.

It seems I had to use doCommand instead of execCommand to carry out the
paste, presumably because of permissions differences between plain and
chrome mochitests.

MozReview-Commit-ID: CdPUCmEtgwO

--HG--
rename : editor/libeditor/tests/test_bug490879.xul => editor/libeditor/tests/test_bug490879.html
2016-08-30 18:25:18 +03:00
Aryeh Gregor
4e75722fc4 Bug 1271119 - Port test_selection_move_commands.xul from chrome to plain; r=masayuki
Filed bug 1299574 for the Android todo.  (Chrome tests in this directory
are disabled for Android, so all this porting enables them.)

MozReview-Commit-ID: 6FAioabxq0a

--HG--
rename : editor/libeditor/tests/test_selection_move_commands.xul => editor/libeditor/tests/test_selection_move_commands.html
2016-08-30 18:01:33 +03:00
Aryeh Gregor
0c6f9f6930 Bug 1269209 - .ini cleanup; r=masayuki
MozReview-Commit-ID: ISJBtyiuNfV
2016-10-31 18:13:46 +02:00
Aryeh Gregor
20f1dae6f1 Bug 1269209 - Port test_bug1257363.html from chrome to plain; r=masayuki
MozReview-Commit-ID: 1KcoAHEsDwB
2016-08-22 21:24:12 +03:00
Aryeh Gregor
740d4d0015 Bug 1269209 - Port test_bug1250010.html from chrome to plain; r=masayuki
MozReview-Commit-ID: AerXvBRSmqN
2016-10-31 18:12:05 +02:00
Aryeh Gregor
08bf09d55c Bug 1269209 - Port test_bug1154791.html from chrome to plain; r=masayuki
MozReview-Commit-ID: 8MmrfEJXFb9
2016-08-22 21:22:13 +03:00
Aryeh Gregor
411ba68b53 Bug 1269209 - Port test_bug1140105.html from chrome to plain; r=masayuki
MozReview-Commit-ID: BfdjmtEdwX4
2016-10-31 18:11:21 +02:00
Aryeh Gregor
2de8ee747d Bug 1269209 - Port test_bug1100966.html from chrome to plain; r=masayuki
MozReview-Commit-ID: BlAIUibApXY
2016-08-22 21:20:05 +03:00
Aryeh Gregor
569f2ac168 Bug 1269209 - Port test_bug1053048.html from chrome to plain; r=masayuki
MozReview-Commit-ID: ECNH5u4S4QR
2016-08-22 21:18:43 +03:00
Aryeh Gregor
4673c69f98 Bug 1269209 - Port test_bug830600.html from chrome to plain; r=masayuki
Fails in e10s.  mrbkap said he has no idea why without debugging it
(comment 8 in bug).

MozReview-Commit-ID: 6vG0czg6Vpv
2016-08-22 21:17:49 +03:00
Aryeh Gregor
2283c45d92 Bug 1269209 - Port test_bug635636.html from chrome to plain; r=masayuki
MozReview-Commit-ID: KoJbPZ85emj
2016-08-22 21:16:52 +03:00
Aryeh Gregor
9a19c4aba3 Bug 1269209 - Port test_bug483651.html from chrome to plain; r=masayuki
MozReview-Commit-ID: 1320m72F2lz
2016-08-22 21:13:37 +03:00
Aryeh Gregor
2d2b030acd Bug 1269209 - Port test_bug471319.html from chrome to plain; r=masayuki
MozReview-Commit-ID: E8CBXZLPBPC
2016-08-22 21:12:45 +03:00
Aryeh Gregor
60b5da80b0 Bug 1269209 - Port test_bug366682.html from chrome to plain; r=masayuki
MozReview-Commit-ID: EB8je1gkEwM
2016-08-22 21:11:37 +03:00
Aryeh Gregor
0c2fe187ab Bug 1269209 - Port test_bug46555.html from chrome to plain; r=masayuki
MozReview-Commit-ID: J7YdJAIzvR9
2016-08-22 21:10:39 +03:00
Aryeh Gregor
b21c462f2e Bug 1269209 - Port test_bug1205983.html from chrome to plain; r=masayuki
MozReview-Commit-ID: FPFRvbOftw4
2016-10-31 18:09:37 +02:00
Aryeh Gregor
225ac7af74 Bug 1269209 - Port test_bug1200533.html from chrome to plain; r=masayuki
MozReview-Commit-ID: 2CrI1aTjaYJ
2016-08-22 21:07:52 +03:00
Aryeh Gregor
5aea5b7b05 Bug 1269209 - Port test_bug1204147.html from chrome to plain; r=masayuki
MozReview-Commit-ID: KBeFI73j1Jx
2016-08-22 21:06:41 +03:00
Aryeh Gregor
29cf33b800 Bug 1269209 - Port test_bug717433.html from chrome to plain; r=masayuki
MozReview-Commit-ID: 426kBYZCCWy
2016-10-31 18:08:42 +02:00
Aryeh Gregor
75524f3039 Bug 1269209 - Port test_bug697981.html from chrome to plain; r=masayuki
MozReview-Commit-ID: IrnlEWhIBzk
2016-10-31 18:08:13 +02:00
Aryeh Gregor
45101741a1 Bug 1269209 - Port test_bug678842.html from chrome to plain; r=masayuki
MozReview-Commit-ID: LUSLjnMYl1I
2016-08-22 21:03:23 +03:00
Aryeh Gregor
e98e939603 Bug 1269209 - Port test_bug338427.html from chrome to plain; r=masayuki
MozReview-Commit-ID: HiDXAKaZlQA
2016-10-31 18:06:46 +02:00
Aryeh Gregor
6dc53c6bec Bug 1269209 - Port test_async_UpdateCurrentDictionary.html from chrome to plain; r=masayuki
MozReview-Commit-ID: 3dneNqKrYCe
2016-08-22 21:00:48 +03:00
Aryeh Gregor
2e0b779c1c Bug 1269209 - Fix incorrect bug number in test; r=masayuki
MozReview-Commit-ID: Kk1BIx6wDXI
2016-05-05 13:52:22 +03:00
Jonathan Kew
e007b6ec83 Bug 1301655 - pt 0 - Add an optional parameter to nsIChromeRegistry.getSelectedLocale to allow callers to request the locale be returned as a valid BCP47 lang tag. r=gandalf 2016-10-28 12:04:06 +01:00