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

7806 Коммитов

Автор SHA1 Сообщение Дата
Makoto Kato 31c7043d79 Bug 1375131 - Part 3. Use stack class to save ranges before using on loop. r=masayuki
We have a possible loop like this bug.  So we should use stack class for loop.

MozReview-Commit-ID: LQb9w8LEtbx

--HG--
extra : rebase_source : 67c40a0f2e3528d58fe7d0ea6ca290bbc136c6d1
2017-06-23 16:46:54 +09:00
Makoto Kato 82d2f60a4d Bug 1375131 - Part 2. Add crash test. r=masayuki
MozReview-Commit-ID: DxYWPNcb7jK

--HG--
extra : rebase_source : f5c5ca6d6fb4c3bb276398b08c81eda1a72b84ae
2017-06-23 16:45:50 +09:00
Makoto Kato db293de97e Bug 1375131 - Part 1. Store ranges before using on loop. r=masayuki
This crash occurs that range is nullptr.

DeleteNonTableElements will update selection and range, so we shouldn't use range count before modifying selection.  So we should save range data for loop.

MozReview-Commit-ID: C9c4TZqRvUc

--HG--
extra : rebase_source : cbadc6d6d82e1c904c20309f2e82f2b6c2f438e7
2017-06-27 17:34:18 -07:00
Makoto Kato a7f8e06327 Bug 1343918 - Add crash test for document.execCommand('italic'). r=masayuki
Although this crash doesn't occur after landing bug 1369140, we should add this test to crashtest.

MozReview-Commit-ID: mRm4P876zg

--HG--
extra : rebase_source : 9a85c8ba3a5652000512d165b82df9aa2c8176e1
2017-06-20 14:46:28 +09:00
Masayuki Nakano 7231604754 Bug 596501 TextEditRules::WillOutputText() should handle itself if it can return only the text of first text node r=m_kato
TextEditor::OutputToString() uses DocumentEncoder if TextEditRules::WillOutputText() doesn't handle it.  However, TextEditRules::WillOutputText() doesn't handle it even if it's really simple case of <input type="text"> and <textarea>.
This patch makes TextEditRules::WillOutputText() handle it if DOM tree in the editor root element is expected and there is no special flag which requires complicated handling.

MozReview-Commit-ID: 3HvdTAWRpw0

--HG--
extra : rebase_source : ab3e630faa95ce8d4c1e9eb1786b7ece7212e38f
2017-06-16 19:08:10 +09:00
Wes Kocher 976d5437f9 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 6A96Fe0GPjw
2017-06-19 17:37:53 -07:00
Masayuki Nakano f337b95b60 Bug 1372829 - part2: mozilla::EditorBase should cache raw pointer of nsISelectionController and nsIDocument with nsWeakPtr r=froydnj,m_kato
mozilla::EditorBase stores nsISelectionController and nsIDocument with nsWeakPtr.  However, nsWeakPtr requires QI to retrieve actual pointer and it makes some damage to the performance.  If mozilla::WeakPter were available for them, it'd be great.  However, it's not available with nsISelectionController nor nsIDocument because it's possible to implement SupportsWeakPtr only with their subclasses but the subclasses shouldn't be referred by editor.  Therefore, this patch creates mozilla::CachedWeakPtr<class T> which stores both raw pointer (as cache) and nsWeakPtr and when its cache is requested, it checks if the object referred by nsWeakPtr is still alive.

Additionally, this patch hides the members from subclasses of EditorBase for reducing the maintenance cost.

MozReview-Commit-ID: FvtM7453Vv8

--HG--
extra : rebase_source : a524a8ea327c3993645fafa81db8aef65090f1e0
2017-06-20 00:55:00 +09:00
Masayuki Nakano 46f0810215 Bug 1372829 - part1: Make mozilla::PlaceholderTransaction inherit mozilla::SupportsWeakPtr instead of nsSupportsWeakReference r=m_kato
EditorBase stores PlaceholderTransaction with nsWeakPtr.  However, retrieving its pointer requires a QI.  So, for reducing the QI cost, EditorBase should use WeakPtr instead and PlaceholderTransaction needs to inherit SupportsWeakPtr instead of nsSupportsWeakReference.

MozReview-Commit-ID: IYwSTbJebMk

--HG--
extra : rebase_source : fa728b09afa826506befbeb46aba54075ecf4787
2017-06-14 19:05:48 +09:00
Carsten "Tomcat" Book b6627b974a Merge mozilla-central to mozilla-inbound 2017-06-19 14:48:12 +02:00
Olli Pettay 33c9c232a2 Bug 1374116, avoid some extra QIs in EditorBase::GetFocusedContent(), r=masayuki
--HG--
extra : rebase_source : c4d9898073d62c6aa8d9926f9a4785d39c90760f
2017-06-19 14:57:09 +03:00
Ehsan Akhgari 147a0e6607 Bug 1373762 - Make editor mochitests correctly wait for spell checking to finish; r=mystor 2017-06-16 14:41:02 -04:00
Bill McCloskey 0767e31489 Bug 1372736 - Avoid using AbstractThread for non-media MozPromises (r=bkelly)
MozReview-Commit-ID: BBi0pK4DXxf
2017-06-15 20:16:25 -07:00
Henri Sivonen 2f2bb984f8 Bug 1372994 - Clear up leftover ISO-8859-1 encoding names. r=emk
MozReview-Commit-ID: IBuUPa9H9Q2

--HG--
extra : rebase_source : fb8db0c70caeec179d50b9ecaeb811d1e87eb0dd
2017-06-15 10:35:22 +03:00
Makoto Kato 945e02484a Bug 1372859 - Remove SelAdj* method of nsIDOM* version from RangeUpdater. r=masayuki
Since RangeUpdater::SelAdj* method of nsIDOM* version requires additional QI and we don't use nsIDOM* as parameter, it is unnecessary to keep it.

MozReview-Commit-ID: 4XyYBG6Qrhl

--HG--
extra : rebase_source : 5fd830a2ffeff944471f026ded704a46ac4dd3d5
2017-06-14 19:34:38 +09:00
Masayuki Nakano 3e6f20f54d Bug 1357642 TextEditor::UpdateIMEComposition() shouldn't call NotifyEditorObservers(eNotifyEditorObserversOfBefore) by itself r=m_kato
TextEditor::UpdateIMEComposition() uses AutoPlaceHolderBatch class which calls NotifyEditorObservers(eNotifyEditorObserversOfBefore) automatically when it's created.  Therefore, it causes calling NotifyEditorObservers(eNotifyEditorObserversOfBefore) twice from TextEditor::UpdateIMEComposition().

MozReview-Commit-ID: DJqzmCtyHCf

--HG--
extra : rebase_source : 44e350d66a01ba9e0beaada0f349422a896acf3d
2017-06-16 21:30:22 +09:00
Carsten "Tomcat" Book 5e8c1546ec merge mozilla-inbound to mozilla-central a=merge 2017-06-14 14:45:26 +02:00
Bill McCloskey c85ab6308c Bug 1366072 - Change promises to take nsISerialEventTarget instead of AbstractThread (r=jwwang)
MozReview-Commit-ID: 4azUhSB6whu
2017-06-13 14:51:01 -07:00
Makoto Kato 5400a2fb98 Bug 1361008 - Part 2. add test for invisible node. r=masayuki
Since this step requires keyboard operation, we cannot create web-platform-test.

MozReview-Commit-ID: ExuaNOj9JG4

--HG--
extra : rebase_source : 0115e48fe1c3bdd7495e3bfc610f03ac1ee15ecb
2017-06-12 15:30:16 +09:00
Makoto Kato b32c372b3d Bug 1361008 - Part 1. Don't select invisible text node on makeBasicBlock. r=masayuki
GetNodesForOperation(..., makeBasicBlock) will get all nodes of promoted range.  But it includes invisible text node after <br> element.  So HTMLEditRules::MakeBasicBlock will creates block for invisible text node.

So we should remove invisible text node from nodes of formatBlock.

MozReview-Commit-ID: L1bsPAYcwx3

--HG--
extra : rebase_source : d9e4e3ff3eef41fb7a4b4c88d73d000b2e53806f
2017-06-12 15:28:54 +09:00
Ehsan Akhgari 5a1d782b90 Bug 1371277 - Use reserved space for one item in SelectionState::mArray; r=masayuki
This avoids dynamic allocations in SelectionState::SaveSelection() in the common
case for the selections that only have a maximum of one range stored in them.
2017-06-09 01:17:42 -04:00
Ting-Yu Lin 2923be5074 Bug 1290276 Part 8 - Update test expectations after implementing XBL <stylesheet> for stylo. r=heycam
Disable 461917-1.xhtml under dom/xul/crashtests/ because I cannot reproduce
it locally.

Annotate assert-if on some crashtests (bug 1370830). Other modifications are
all removal of fails-if.

MozReview-Commit-ID: 6Q2A5M5rOry

--HG--
extra : rebase_source : b282a919fcda6287fe2eaa6b139a11f2663ad578
2017-05-31 16:44:38 -07:00
Makoto Kato 684c70a6ba Bug 1371170 - Add non-virtual EditorBase::GetSelectionController. r=masayuki
GetSelectionController is virtual method, but we should have non-virtual version of GetSelectionController that return value is nsISelectionController since we have a lot of call of GetSelection().

MozReview-Commit-ID: 41JFqTyIh0b

--HG--
extra : rebase_source : 4d40d1a8b31c2b6aff3f3b9ff4609bb3e41ea8f6
2017-06-08 13:58:09 +09:00
Brad Werth 6aa25ee4e2 Bug 1369903 Part 2: Allow HTMLEditor to enable/disable any type of stylesheet. r=emilio
MozReview-Commit-ID: JSlJ8yhqLXm

--HG--
extra : rebase_source : 35fd4c941fd09109779f454020c7af8de72dba55
2017-06-05 09:00:20 -07:00
Makoto Kato 83a6b6422e Bug 1369252 - Don't use nsISelection::CollapseNative / ExtendNative. r=masayuki
Editor still uses CollapseNative and ExtendNative even if it uses Selection, not nsISelection.  CollapseNative and ExtendNative are virtual method, but Selection::Collapse and Extend are non-virtual.  So, we should use Selection::Collapse and Extend instead.

MozReview-Commit-ID: 1AEaaJRbkIm

--HG--
extra : rebase_source : 33b4059c558cfb88c61cedc4e71de8263f2fc387
2017-06-02 17:25:17 +09:00
Makoto Kato 15a281942d Bug 1368544 - Part 2. Add setting empty value test whether creating trailing node. r=masayuki
MozReview-Commit-ID: 3eAFkmUntv0

--HG--
extra : rebase_source : c8a23e2c9c75413bed7d57439f312716c82230bd
2017-05-30 18:59:31 +09:00
Makoto Kato 63af283568 Bug 1368544 - Part 1. Use root node for mozInlineSpellChecker::SpellCheckAfterEditorChange on setText trasaction. r=masayuki
textarea element will use fallback code (using TextEditor::DeleteSelection) to set empty value for SetText.

Actually, if EditorBase::HandleInlineSpellCheck returns error in AfterEdit, we might not create bogus node and trailing br node.  Since SetText's fallback uses DeleteSelection, SpellCheckAfterEditorChange will return error when previous selection is invalid on SetText transaction.

mozInineSpellChecker::SpellCheckAfterEditorChange creates the range between previousSelection and anchorNode.  So when using setText, we should set the range of all text, and we should not use previous selection for SpellCheckAfterEditorChange.



MozReview-Commit-ID: 7eDzMdRmOSz

--HG--
extra : rebase_source : 67861ca3c779b2fb6b5a26174f391fa7fb9ca390
2017-05-31 14:50:51 +09:00
Masayuki Nakano 61af94acbd Bug 1367683 Optimize initializing nsRange r=smaug
nsRange::DoSetRange() adds/remove its root to/from mutation observer, initializes common ancestor, registers itself to the common ancestor, unregisters itself from old common ancestor, and notifies selection listeners of selection change.

However, those runtime cost is expensive but on the other hand, a lot of callers set both start and end of the range and that causes calling DoSetRange() twice.

This patch renames Set() to SetStartAndEnd() for easier to understand the meaning and make it call DoSetRange() only once.

MozReview-Commit-ID: FRV55tuBAgg

--HG--
extra : rebase_source : 67adf929cf119e2425f7d3741651217522094590
2017-05-30 13:18:25 +09:00
Makoto Kato ecc0e24787 Bug 1368387 - Remove nsIDOMText usages from Editor. r=masayuki
nsIDOMText is old interface and it needs QI to access node etc.  So we should use Text etc.

MozReview-Commit-ID: 7VrTrE0p2Q9

--HG--
extra : rebase_source : baa6601708d4b71e624a4dc893cc413d7743dbeb
2017-05-29 11:28:21 +09:00
Makoto Kato d3b2a25a43 Bug 1342417 - ClearStyle should check that SplitStyleAbovePoint returns node. r=masayuki
SplitStyleAbovePoint can return null for split node, but we don't check it.
Also, this crash occurs on paste operation, so I think that there is 100% reproduce test.  But I cannot find it.

MozReview-Commit-ID: 69OlPTc0I9h

--HG--
extra : rebase_source : 61eea8af83e60cc4f9c6f25d2952d57d0fea1d05
2017-05-25 17:15:54 +09:00
Makoto Kato 153cf127c6 Bug 1358025 - Part 5. Add undo transaction test on input element. r=masayuki
When setting same value (including empty to empty), some browsers might not turn off undo.  If settings non-empty value, all browsers doesn't turn off undo.  Also, if empty value, Edge and Chrome doesn't turn off undo.

MozReview-Commit-ID: 1nVYEzBr5KJ

--HG--
extra : rebase_source : e49f38e7c5a8f69902d6320eb6740e34e3f161ed
2017-05-25 14:19:39 +09:00
Makoto Kato da0ebf60c0 Bug 1358025 - Part 2. Add SetText Transaction API. r=masayuki
Actually, input.value setter behaviour (when editor has focus) is the following.

- select all
- delete selection
 - delete text node
- insert text
 - create text node
  - create nsIFrame since we don't support lazy construction for editable element

It is too expensive to change text.  So I would like to change like the following when there is 1 text node only (normal case).  If child nodes isn't 1 text node only, use original way.

- set text on existed text node

So, for this fast path, I would like to add SetText transaction API.

MozReview-Commit-ID: A7bjXtCtSoB

--HG--
extra : rebase_source : ff6348d7a3304e676a0a4b897f91623962961ae0
2017-05-25 14:30:50 +09:00
Fernando Jimenez Moreno 3ccdd927e6 Bug 1365871 - stylo: Make editor/libeditor/tests pass by removing MOZ_CRASH from CSSEditUtils. r=xidorn
The MOZ_CRASH was added because we were lacking a implementation of ServoDeclarationBlock::GetPropertyValueByID, but it was added in Bug1294299

MozReview-Commit-ID: GPsFvTLxsMd

--HG--
extra : rebase_source : d51837def3a9a76dfa2af01dcb26b607dd48a5e6
2017-05-25 09:27:40 +02:00
Shing Lyu 5d8a5a598c Bug 1361645 - Change reftest condition stylo to styloVsGecko r=dbaron
MozReview-Commit-ID: 3ekoU1zg8xA

--HG--
extra : rebase_source : f62c84516f5ac0d4b4d0c876514b72fa786ec542
2017-05-25 11:26:12 +08:00
sjh21a efde6a4d01 Bug 1366176 part 2 - Crashtest.
MozReview-Commit-ID: 3HJBIv97vk6
2017-05-23 19:09:26 +02:00
Mats Palmgren 297b9d70e1 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz
MozReview-Commit-ID: IbwWM0FL6HF

--HG--
extra : source : bbb688fe1ba3f5201a190c6e25b693ef7272ea2d
2017-05-21 17:15:00 +08:00
Carsten "Tomcat" Book 00d4ea331d Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
Mats Palmgren e706869580 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz 2017-05-21 17:15:00 +08:00
Masayuki Nakano 6d8d004613 Bug 1339543 part 1 Wrap nsIWidget::ExecuteNativeKeyBinding() with a WidgetKeyboardEvent method and users of the method should use it r=smaug
Currently, edit commands for native key bindings are stored in widget.  This is
stateful and really complicated in content process because it needs to cache
them.

We can make this simpler if we make WidgetKeyboardEvent store edit commands for
the key combination.  Then, child process can handle it even if it's delayed
event or it's a nested event.

This patch adds arrays to WidgetKeyboardEvent to store edit commands which are
initialized with nsIWidget::ExecuteNativeKeyBinding() and adds
WidgetKeyboardEvent::ExecuteEditCommands() to execute stored edit commands as
same as nsIWidget::ExecutenativeKeyBinding().

MozReview-Commit-ID: BGRvBrLz5lp

--HG--
extra : rebase_source : b7ecd704d9c331ca1e0aedc66f230114015b853b
2017-05-19 16:50:30 +09:00
Makoto Kato ce6328824f Bug 1365383 - Spellchecker should consider that callback isn't set. r=masayuki
InitSpellChecker allows that 3rd callback parameter is null.  We should consider that it is null.

MozReview-Commit-ID: BMAM6BiYlw5

--HG--
extra : rebase_source : fbe767694d6380988854ff133b780b8fe334bf3a
2017-05-18 14:50:25 +09:00
Wes Kocher f1c0f35ea6 Merge inbound to m-c a=merge
MozReview-Commit-ID: HCapLqbD816
2017-05-11 17:30:41 -07:00
Ryan VanderMeulen ff1d6f6f88 Merge m-c to autoland. a=merge 2017-05-11 11:30:47 -04:00
Sebastian Hengst db8f56dd23 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: HWYxZeNWish
2017-05-11 16:50:12 +02:00
Carsten "Tomcat" Book 1ff3d76838 Backed out changeset ebc9a119bcf8 (bug 1340627) 2017-05-11 12:51:49 +02:00
Wes Kocher 02bf8c4425 Merge m-c to inbound, a=merge
MozReview-Commit-ID: FfNikA7un6F
2017-05-10 17:31:18 -07:00
Wes Kocher f4f5d51edf Merge autoland to central, a=merge
MozReview-Commit-ID: 2gKDtRuJJyq
2017-05-10 15:25:51 -07:00
Wes Kocher 959de6c3e8 Backed out 9 changesets (bug 1340627) for graphical glitches a=backout
Backed out changeset 0b1371055c7f (bug 1340627)
Backed out changeset f152be1fadb7 (bug 1340627)
Backed out changeset c691e2ab6a0c (bug 1340627)
Backed out changeset 3cb4bceb8d79 (bug 1340627)
Backed out changeset 026aadd76d06 (bug 1340627)
Backed out changeset fdbd5d281287 (bug 1340627)
Backed out changeset 75fb0d9858a9 (bug 1340627)
Backed out changeset 0d4ec7d38a00 (bug 1340627)
Backed out changeset af6f19870b2a (bug 1340627)

MozReview-Commit-ID: 9dHr7xMZezY

--HG--
rename : gfx/skia/skia/src/core/SkBlitRow.h => gfx/skia/skia/include/core/SkBlitRow.h
rename : gfx/skia/skia/src/effects/SkGaussianEdgeShader.h => gfx/skia/skia/include/effects/SkGaussianEdgeShader.h
rename : gfx/skia/skia/src/xml/SkXMLParser.h => gfx/skia/skia/include/xml/SkXMLParser.h
rename : gfx/skia/skia/include/private/SkMessageBus.h => gfx/skia/skia/src/core/SkMessageBus.h
rename : gfx/skia/skia/src/gpu/ops/GrAAConvexPathRenderer.h => gfx/skia/skia/src/gpu/batches/GrAAConvexPathRenderer.h
rename : gfx/skia/skia/src/gpu/ops/GrAAConvexTessellator.h => gfx/skia/skia/src/gpu/batches/GrAAConvexTessellator.h
rename : gfx/skia/skia/src/gpu/ops/GrAAHairLinePathRenderer.h => gfx/skia/skia/src/gpu/batches/GrAAHairLinePathRenderer.h
rename : gfx/skia/skia/src/gpu/ops/GrAALinearizingConvexPathRenderer.h => gfx/skia/skia/src/gpu/batches/GrAALinearizingConvexPathRenderer.h
rename : gfx/skia/skia/src/gpu/ops/GrPathStencilSettings.h => gfx/skia/skia/src/gpu/batches/GrPathStencilSettings.h
rename : gfx/skia/skia/src/gpu/ops/GrStencilAndCoverPathRenderer.h => gfx/skia/skia/src/gpu/batches/GrStencilAndCoverPathRenderer.h
rename : gfx/skia/skia/include/private/GrGLSL_impl.h => gfx/skia/skia/src/gpu/glsl/GrGLSL_impl.h
extra : source : 761b3f55f10f3df16601ce62e4d15b0c558c0cfb
2017-05-10 10:01:18 -07:00
Carsten "Tomcat" Book d66b9f27d5 merge mozilla-inbound to mozilla-central a=merge 2017-05-10 15:07:28 +02:00
Lee Salzman 8c18901f07 Bug 1340627 - part 8 - reftest fuzzing for update to Skia m59. r=mchang
MozReview-Commit-ID: LN29P1I4EsW
2017-05-09 22:31:07 -04:00
Bas Schouten af6703eb9d Bug 1331718 - Part 4: Mark some tests on android as passing. r=bustage
MozReview-Commit-ID: D8hy9zm8Dte
2017-05-10 22:34:35 +02:00
Lee Salzman 2e348e5294 Bug 1340627 - part 8 - reftest fuzzing for update to Skia m59. r=mchang
MozReview-Commit-ID: LN29P1I4EsW
2017-05-09 22:31:07 -04:00
Wes Kocher 02015c2300 Merge m-c to autoland a=merge CLOSED TREE
MozReview-Commit-ID: 5T8pxvbfKXv
2017-05-10 17:29:04 -07:00
Makoto Kato 353b47086e Bug 1360154 - Part 1. DocumentIsBody should return bool, not nsresult. r=masayuki
nsIEditRules::GetDocumentIsEmpty doesn't return error without null parameter, so we should use bool as return value instead.

MozReview-Commit-ID: HIoQmKu6ETF

--HG--
extra : rebase_source : 570452e7072d8e0e837bb2822c9c0ab9c0d1a8cf
2017-05-11 14:03:26 +09:00
Milan Sreckovic 725d1c193f Bug 1358297: Part 3. Create special case for stripping CR and LF on TSubstring, and use it in all the places that it is called. Use ASCIIMask to make it fast. r=froydnj
MozReview-Commit-ID: 5ugh3Ma0OtH

--HG--
extra : rebase_source : 956a7a0535c3b7433fadfa65d0cfc26d9915f61a
2017-05-10 13:12:36 -04:00
Masayuki Nakano b56195251f Bug 1363278 Get rid of nsIPhonetic and HTMLInputElement.phonetic r=smaug
Nobody uses them anymore.  Therefore, we can remove them from the tree.

MozReview-Commit-ID: KTqCeI2eeFW

--HG--
extra : rebase_source : f3fc274f39c135af51245efd4c4aebbc4c49a61f
2017-05-09 16:27:08 +09:00
Masayuki Nakano 4376a0cf61 Bug 1325281 Get rid of nsIEditorIMESupport r=m_kato
MozReview-Commit-ID: KGJnho4uy1s

--HG--
extra : rebase_source : 1755ad59ed625076fbadb05db9bb5d4a1fea07cb
2017-05-09 15:21:22 +09:00
Lee Salzman ed014c1f54 Bug 1340627 - part 8 - reftest fuzzing for update to Skia m59. r=mchang 2017-05-11 09:54:15 -04:00
Carsten "Tomcat" Book f40e5ddeb7 Merge mozilla-central to mozilla-inbound 2017-05-11 12:53:41 +02:00
Carsten "Tomcat" Book 76ca853e3e Merge mozilla-central to mozilla-inbound 2017-05-09 14:40:11 +02:00
Matt Brubeck 0c70ae6c1d Bug 1349651 - stylo: Implement HasAuthorSpecifiedRules. r=bholley
MozReview-Commit-ID: 8ta5KqKzncZ

--HG--
extra : rebase_source : 3ec29f283dc6bfec4d2a1676ab3f78296893d94b
2017-05-10 13:11:36 -07:00
Wes Kocher 24a327994e Backed out 9 changesets (bug 1340627) for graphical glitches a=backout
Backed out changeset 0b1371055c7f (bug 1340627)
Backed out changeset f152be1fadb7 (bug 1340627)
Backed out changeset c691e2ab6a0c (bug 1340627)
Backed out changeset 3cb4bceb8d79 (bug 1340627)
Backed out changeset 026aadd76d06 (bug 1340627)
Backed out changeset fdbd5d281287 (bug 1340627)
Backed out changeset 75fb0d9858a9 (bug 1340627)
Backed out changeset 0d4ec7d38a00 (bug 1340627)
Backed out changeset af6f19870b2a (bug 1340627)

MozReview-Commit-ID: 9dHr7xMZezY

--HG--
rename : gfx/skia/skia/src/core/SkBlitRow.h => gfx/skia/skia/include/core/SkBlitRow.h
rename : gfx/skia/skia/src/effects/SkGaussianEdgeShader.h => gfx/skia/skia/include/effects/SkGaussianEdgeShader.h
rename : gfx/skia/skia/src/xml/SkXMLParser.h => gfx/skia/skia/include/xml/SkXMLParser.h
rename : gfx/skia/skia/include/private/SkMessageBus.h => gfx/skia/skia/src/core/SkMessageBus.h
rename : gfx/skia/skia/src/gpu/ops/GrAAConvexPathRenderer.h => gfx/skia/skia/src/gpu/batches/GrAAConvexPathRenderer.h
rename : gfx/skia/skia/src/gpu/ops/GrAAConvexTessellator.h => gfx/skia/skia/src/gpu/batches/GrAAConvexTessellator.h
rename : gfx/skia/skia/src/gpu/ops/GrAAHairLinePathRenderer.h => gfx/skia/skia/src/gpu/batches/GrAAHairLinePathRenderer.h
rename : gfx/skia/skia/src/gpu/ops/GrAALinearizingConvexPathRenderer.h => gfx/skia/skia/src/gpu/batches/GrAALinearizingConvexPathRenderer.h
rename : gfx/skia/skia/src/gpu/ops/GrPathStencilSettings.h => gfx/skia/skia/src/gpu/batches/GrPathStencilSettings.h
rename : gfx/skia/skia/src/gpu/ops/GrStencilAndCoverPathRenderer.h => gfx/skia/skia/src/gpu/batches/GrStencilAndCoverPathRenderer.h
rename : gfx/skia/skia/include/private/GrGLSL_impl.h => gfx/skia/skia/src/gpu/glsl/GrGLSL_impl.h
2017-05-10 10:01:18 -07:00
Yoshi Huang df0da41d1c Bug 1361641 - Part 2: convert mochitest plain tests in editor/ to use srcdoc. r=smaug 2017-05-09 10:25:23 +08:00
Makoto Kato 6a08daf67d Bug 1352799 - Part 2. Add test for changing maxlength dynamically. r=masayuki
MozReview-Commit-ID: 4DiE33eyBar

--HG--
extra : rebase_source : 38f57dbf55c8ed769ba5aab1e36ce91fb35cbad4
2017-04-20 10:23:38 +09:00
Wes Kocher 6d6d039d43 Backed out 4 changesets (bug 1358297) for hazard build failures a=backout
Backed out changeset 95211a496191 (bug 1358297)
Backed out changeset 3c1b426a5cce (bug 1358297)
Backed out changeset 9201d345a1d5 (bug 1358297)
Backed out changeset c926817dea60 (bug 1358297)

MozReview-Commit-ID: 874DF43K7Dp
2017-05-05 12:45:46 -07:00
Milan Sreckovic 196fb1a3bc Bug 1358297: Part 3. Create special case for stripping CR and LF on TSubstring, and use it in all the places that it is called. Use ASCIIMask to make it fast. r=froydnj
MozReview-Commit-ID: 3p97cCGfy6i

--HG--
extra : rebase_source : a91d9a5e6e61495cfe78b06959b200e48ca16535
2017-05-05 13:37:13 -04:00
Masayuki Nakano d04632f559 Bug 1342552 - IMEStateManager should cache nsIWidget for sPresContext and use it. r=smaug
IMEStateManager should cache nsIWidget for sPresContext at caching sPresContext.  Then, even if sPresContext has gone, IMEStateManager can clean up with the nsIWidget cache.

Unfortunately, editor has some bugs about calling IMEStateManager::UpdateIMEState().  That is, calling it *before* IMEStateManager::OnFocusChange().  In such case, this patch makes UpdateIMEState() ignore the call.

MozReview-Commit-ID: 1cydI03WyB8
2017-04-20 13:43:50 +09:00
Shing Lyu c46f5d5baf Bug 1351548 - Remove reftest-stylo.lists. r=bholley
MozReview-Commit-ID: 8LoQ9xNnDnj
2017-04-28 11:15:58 +08:00
Shing Lyu 435db45b79 Bug 1351548 - Add stylo-vs-gecko expectations to reftest.lists. r=bholley
MozReview-Commit-ID: GOUGBsd05cn
2017-04-28 11:15:50 +08:00
Makoto Kato 60ccf10a30 Bug 1360137 - Part 2. Reduce QueryInterface by NativeInit. r=masayuki
nsIDocumentEncoder has nativeInit for nsIDocumnet, we should use it to reduce QueryInterface.

MozReview-Commit-ID: Ffn19yf9jra

--HG--
extra : rebase_source : 37c8b27cc0eddd4f0501ec1e61ea27d74ee1e6f3
2017-04-27 17:41:26 +09:00
Makoto Kato ea65a415ff Bug 1360137 - Part 1. Use LowerCaseEqualsLiteral instead of ToLowerCase. r=masayuki
From profiling TextEditor::OutputToString, most of WillOutputText is ToLowerCase.  So, we should use LowerCaseEqualsLiteral instead.  It can reduce string copy.

MozReview-Commit-ID: LwqZtxIJTbW

--HG--
extra : rebase_source : 94da785d8288dfd93666a3dcb2d374874c79db89
2017-04-27 17:40:19 +09:00
Wes Kocher 5e8bdb175d Merge inbound to m-c a=merge
MozReview-Commit-ID: A85cs7Yriqj
2017-04-25 13:53:00 -07:00
Christoph Kerschbaumer 7711007990 Bug 1359092 - Extend loadURI within nsIWebNavigation.idl by a triggeringPrincipal argument. r=bz 2017-04-25 12:22:25 +02:00
Makoto Kato bba54a63e6 Bug 1359008 - Don't use nsIDOM* in TextEditRules's member. r=masayuki
To clean up TextEditRules, I would like to replace nsIDOMNode with nsINode and nsIContent in TextEditRules.

GetTopEnclosingPre is unused define, so I also remove it.

MozReview-Commit-ID: 6LraexH5t4m

--HG--
extra : rebase_source : 1037dcfd949d544282dc30360bd43773f21fd929
2017-04-24 19:40:12 +09:00
Emilio Cobos Álvarez d2f3dc13ec Bug 1357142: Kill PresShell::RecreateFramesFor. r=bz
It's not only inefficient, but also prone to buggyness. Since styles may not be
up-to-date when it happens.

Post a reconstruct instead, which ensures a style flush happens before running
frame construction.

MozReview-Commit-ID: DrakHsJv5fY
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

--HG--
extra : rebase_source : 11900af908654336cc2391ab9480542c5474e38f
2017-04-17 18:01:37 +02:00
Makoto Kato 1b58ce0000 Bug 1335880 - Adjust mouse position for dragstart. r=masayuki
On Ubuntu 16.04 TLS, test_dragdrop.html due to control margin.  So we should adjust the point of dragstart.

MozReview-Commit-ID: EPW2UnaIWRt

--HG--
extra : rebase_source : a97c66dc36328563497130aa7a3829bc8a9eb204
2017-05-08 14:06:29 +09:00
Kartikaya Gupta 1e6be2a645 Bug 1362424 - Skip a spellchecking reftest that is now permafailing on QuantumRender builds. r=jrmuizel
This test is failing intermittently even on non-QuantumRender builds, and bug
1361820 is tracking that issue. Once that is fixed we should be able to re-enable
this test.

MozReview-Commit-ID: HANsz08bujB

--HG--
extra : rebase_source : 4500022a5ffbac6bbd4de3e61c3dc3bba3881b1f
2017-05-08 17:08:34 -04:00
Aryeh Gregor 3a32e91a42 Bug 1355792 - Consider invisible nodes to be editable; r=masayuki
We can't depend on information from layout to be correct unless we've
flushed pending notifications, which we can't do at every editability
check.  So let's forget about layout.  Nobody knows why editability ever
depended on visibility in the first place.

This allows us to revert the additions from bug 795418 as well.

The original test-case submitted on the bug report was very big and
complicated, so I have a minimal test-case instead.  This might not
exactly correspond to the originally reported bug, but this fix works for
both the original and minimal test case.

MozReview-Commit-ID: LOKjlgiAEOT

--HG--
extra : rebase_source : 5aaeae87fdc0dd78cb6f1060399c09d2945f8e08
2017-04-19 16:53:24 +03:00
Aryeh Gregor fdf415af45 Bug 1357998 - Make editing tests independent of default defaultParagraphSeparator; r=masayuki
Now that this is a pref that is different in different versions, tests
have to work no matter what the pref's value is.  For tests that
actually tested line-breaking-related behavior, I made them test all
three separator values.  For tests that tested something else and only
incidentally depend on the default paragraph separator, I set
defaultParagraphSeparator to "div".

MozReview-Commit-ID: 8m7eoFRXpEy

--HG--
extra : rebase_source : dc664e87f7ce4f621aa48639cef6e754793e8ab4
2017-04-20 21:10:23 +03:00
Manish Goregaokar ff68276c10 Bug 1349417 - Part 9: stylo: Update test expectations; r=xidorn
MozReview-Commit-ID: 5SGrYUIhHOQ
2017-04-21 15:40:49 -07:00
Carsten "Tomcat" Book d32c8f24cc Backed out changeset 49c8dc08ff64 (bug 1349417) 2017-04-19 08:31:48 +02:00
Manish Goregaokar f1cf1ffa2a Bug 1349417 - Part 9: stylo: Update test expectations; r=xidorn
MozReview-Commit-ID: 5SGrYUIhHOQ
2017-04-18 21:36:48 -07:00
Iris Hsiao 2f57ea5bb4 Backed out 3 changesets (bug 1349417) for build bustage
Backed out changeset e6a9aaf8c102 (bug 1349417)
Backed out changeset fbdddabe4c8d (bug 1349417)
Backed out changeset c1ead1f0ab71 (bug 1349417)
2017-04-19 11:03:13 +08:00
Manish Goregaokar cb05d3003e Bug 1349417 - Part 9: stylo: Update test expectations; r=xidorn
MozReview-Commit-ID: 5SGrYUIhHOQ
2017-04-18 19:31:07 -07:00
Aryeh Gregor bf0619d365 Bug 1354060 - Put defaultParagraphSeparator default change behind pref; r=masayuki
This is regression-prone, so dev.platform discussion concluded we want
it behind a pref.  We might turn the pref off for beta and/or release
for now as well.

MozReview-Commit-ID: 2H2et3RElZx

--HG--
extra : rebase_source : baf7e679ca1ee16016666d7697990c4f64ecf83e
2017-04-06 15:02:42 +03:00
Aryeh Gregor 47530382e3 Bug 1353695 - Sometimes Enter is ignored in editor; r=masayuki
When defaultParagraphSeparator is not "br", and we hit Enter on a line
that is not contained in any block element, we first create a new <div>
(or <p>) wrapper to hold the line's contents.  If creating this wrapper
fails for some reason, we go ahead and insert a <br> instead.

In some cases, we would get confused and think we didn't create the
block element when really we did.  We would insert a <br>, and
afterwards something would get rid of the empty block element.  In a
corner case where the line only consisted of a <br> to start with, this
would result in nothing happening, because the original <br> was removed
when creating the block element, and only one <br> was inserted to
replace it.

The correct fix is to just not get confused!

MozReview-Commit-ID: 1U8KHC71bfw

--HG--
extra : rebase_source : 50640615a3a652c3a74c1aef5412eb82daf8c5fb
2017-04-05 20:40:13 +03:00
Makoto Kato 0410282e88 Bug 1352882 - Part 3. Cache nsIDocumentEncoder into TextEditor. r=masayuki
All editor code gets nsIDocumentEncoder from TextEditor::GetAndInitDocEncoder(), so we can have a cache into TextEditor, then return cached object.

MozReview-Commit-ID: IEoOvz7BG7T

--HG--
extra : rebase_source : 1b30325c99fbc43dc77453325e97e88b439285e2
2017-04-17 17:29:46 +09:00
Makoto Kato b24e38d3fc Bug 1356496 - Don't use nsIDOM* in ConfirmSelectionInBody. r=masayuki
ConfirmSelectionInBody uses a lot of QI and TextEditUtils::IsBody call to check body element.  So we shouldn't use nsIDOM* to avoid QI and EditorBase::GetTag().

Also, if did not found body element, it calls collapse to set caret.  If collapse is successful, we might not have to check end selection...  How do you think?

MozReview-Commit-ID: F7FhPrlEpCc

--HG--
extra : rebase_source : 85b5c99be0085dd579a9b650207c876cd17a2410
2017-04-14 14:54:03 +09: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
Florian Queze 95d4d20c17 Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Xidorn Quan d8c29760a1 Bug 1355734 - Remove text-decoration-line: -moz-anchor-decoration. r=heycam,masayuki
MozReview-Commit-ID: 4TmVncV1K5G

--HG--
extra : rebase_source : 568218d415642f1088c82d4b2e03d5885067b162
2017-04-13 16:17:03 +08:00
Makoto Kato a8f8cbc728 Bug 1056322 - Don't run DictionaryFetcher when spllchecker isn't initialized. r=masayuki
When CanSpellCheck isn't called yet, mSpellChecker won't be initialized.  So we should check it before running DictionaryFetcher.

I think that UpdateCurrentDictionary is called by OnFocus as long as nsEditorSpellCheck::InitSpellChecker isn't called.  But I cannot find test case to reproduce this...

MozReview-Commit-ID: 5H1pJ0AnX5X

--HG--
extra : rebase_source : 5f2a59261c67a7f8f363588c7596e68f6debff9e
2017-04-12 17:43:51 +09: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
Makoto Kato 6ed44d9df6 Bug 1330912 - Part 4. Update some tests to wait updating dictionary. r=masayuki
Since Part 2 improves foucs performance, these tests will be failed because spellchecker works later.  So using UpdateCurrentDictionary, dictionary is updated before test.


MozReview-Commit-ID: 69aC1rQd4LY

--HG--
extra : rebase_source : 50e0449b727352ff2f8e2a08605cc3f9d933d6d9
2017-04-10 14:44:49 +09:00
Makoto Kato c61434ef9b Bug 1330912 - Part 3. Don't update dictionary during onfocus when spellcheck is unnecessary. r=masayuki
Such as <input type=password>, focused element doesn't use spellchecker, we should not call UpdateCurrentDictionary.  Also, when the attribute is changed, we should call UpdateCurrentDictionary if uninitialized.

MozReview-Commit-ID: LSfDTAszviE

--HG--
extra : rebase_source : a3fe944099c625b7f525d33eae06a7b8e8992729
2017-04-11 16:51:04 +09:00
Makoto Kato 694268f807 Bug 1330912 - Part 2. Use async version on UpdateCurrentDictionary. r=masayuki
Now, mozInlineSpellChecker::UpdateCurrentDictionary will use sync IPC messages via nsEditorSpellCheck::DictionaryFetched.

Part 1 adds async API to set current dictionary.  So we should use it on nsEditorSpellCheck::DictionaryFetched instead of sync API.

MozReview-Commit-ID: 5gl2eQpzKm1

--HG--
extra : rebase_source : 1fabc4abdd170494f1804ad875a181e652ea66a0
2017-04-11 17:05:19 +09:00
Makoto Kato 55e9044079 Bug 1330912 - Part 1. Add async version of SetCurrentDictionary using list. r=Ehsan
Now, mozInlineSpellChecker::UpdateCurrentDictionary uses several sync IPC message to update spellcheck dictionary.  So I want async IPC to set dictionary.

Also, since nsEditorSpellCheck::DictionaryFetched calls SetCurrentDictionary several times (max: 6 times), so to reduce calls, we should use list of dictionary.

MozReview-Commit-ID: EVMAJxpMT2X

--HG--
extra : rebase_source : 5a1ed28bd6eb1dd9d3a6a634a286531b7ebb32c7
2017-04-10 18:29:16 +09:00
Brian Birtles 33041d1214 Bug 1315874 - Drop 'ForElement' from GetStyleContextForElementXXX methods; r=heycam
In the next patch we want to add a method called
GetUnanimatedStyleContextForElementNoFlush but that's much too long. Instead it
seems better to just drop 'ForElement' from all these methods since it should be
fairly obvious we are getting the style context for an element given that the
first argument is an element.

MozReview-Commit-ID: JQKaEuCKV2F

--HG--
extra : rebase_source : 3ba51f3b00d1ec7bc91102629d9c0abb88992fef
2017-04-05 14:39:23 +09:00
Wes Kocher bceaacd2b8 Merge inbound to central, a=merge 2017-04-04 11:25:13 -07:00
Aryeh Gregor a334ab0dad Bug 1297414 - Change default paragraph separator to <div>; r=masayuki
This matches Blink/WebKit, and is more similar to Edge than before, but
may cause compat problems for Gecko-only code or code paths.  Sites can
revert to old behavior with:
document.execCommand("defaultparagraphseparator", false, "br").

This regresses test_bug430392.html on one test ("adding returns") and I
don't know why.  The test involves embedded non-editable content and we
already have a lot of todos in that file, so I think it's tolerable.

MozReview-Commit-ID: Dml0bXxgu87
2017-04-04 13:49:38 +03:00
Aryeh Gregor 3611697a7f Bug 1297414 - Support <div> separator in ReturnIn(Header|ListItem); r=masayuki
MozReview-Commit-ID: EkvFpyTmXDc
2017-04-04 13:49:38 +03:00