Commit Graph

294 Commits

Author SHA1 Message Date
Masayuki Nakano
4f89f0e183 Bug 1770877 - part 15: Implement equivalent of HTMLEditor::GetSelectionRangesExtendedToHardLineStartAndEnd r=m_kato
It's always work with `Selection` ranges.  Then, it should be treated within
`AutoRangeArray` which can be initialized with `Selection` ranges automatically.
Then, we can making `HTMLEditor` simpler.

Note tha this tries to make it get editing host when the corresponding
public method is called (after dispatched `beforeinput` event if handling a
users' operation).  However, as commented in
`HTMLEditor::SetParagraphFormatAsAction`, it breaks a tricky crash test.
Therefore, only the format block path computes it after the preparation.

Differential Revision: https://phabricator.services.mozilla.com/D149079
2022-06-17 21:28:36 +00:00
Masayuki Nakano
fbef891380 Bug 1770877 - part 13: Move HTMLEditor::CreateRangeExtendedToHardLineStartAndEnd into AutoRangeArray r=m_kato
This patch makes them take `const Element& aEditingHost` so that this patch
becomes bigger than what this patch does.

Differential Revision: https://phabricator.services.mozilla.com/D149077
2022-06-17 08:23:20 +00:00
Masayuki Nakano
8b7dbfe141 Bug 1772022 - Make EditorBase::DeleteNodeWithTransaction() return NS_ERROR_EDITOR_DESTROYED if so r=m_kato
Its callers check `EditorBase::Destroyed()` with at least adding 4 lines, and
some callers do not check this important state.  So, we should make it check
`Destroyed()` at last and omit the additional error check in the caller sites.

Note that it's a virtual method, but `HTMLEditor` checks whether it's a
removable node or not.  So, we should can merge it into `EditorBase`.  This
patch does it too.

Differential Revision: https://phabricator.services.mozilla.com/D148084
2022-06-03 02:03:47 +00:00
Masayuki Nakano
71411e3fb4 Bug 1771448 - part 4: Rename HTMLEditor::GetActiveEditingHost to ComputeEditingHost r=m_kato
It's currently computes the corresponding editing host from the focus node of
`Selection` with climbing up the DOM tree.  So, it does not just return a stored
element.  Therefore, some callers use it multiple times.  For avoiding it, we
should rename it to explain that it computes the editing host.

Note that I think that we should make it takes a node to compute editing host
without `Selection` for solving the case of no selection ranges.  Therefore,
I don't like to include more information into the name.

Differential Revision: https://phabricator.services.mozilla.com/D147504
2022-05-31 03:41:01 +00:00
Masayuki Nakano
b634d8169d Bug 1766355 - part 6: Make HTMLEditor::MoveOneHardLineContents return MoveNodeResult with caret point suggestion r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D146402
2022-05-20 08:51:41 +00:00
Masayuki Nakano
fda3a43b66 Bug 1766355 - part 5: Make HTMLEditor::MoveChildrenWithTransaction and HTMLEditor::MoveNodeOrChildrenWithTransaction stop touching Selection directly r=m_kato
Unfortunately, they call each other.  Therefore, this patch updates these 2
methods once.

Differential Revision: https://phabricator.services.mozilla.com/D146401
2022-05-20 08:40:59 +00:00
Masayuki Nakano
c1a368b6a5 Bug 1766355 - part 3: Make MoveNodeResult store caret point suggestion r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D146399
2022-05-20 08:28:09 +00:00
Masayuki Nakano
bfaa50661a Bug 1766355 - part 2: Make MoveNodeResult method names alinging to Result r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D146398
2022-05-20 08:28:08 +00:00
Masayuki Nakano
a5cabe7ad7 Bug 1762115 - part 12: Make WhiteSpaceVisibilityKeeper::InsertBRElement stop touching Selection directly r=m_kato
Its callers will touch `Selection` or just returns a recommend point to put
caret.

Differential Revision: https://phabricator.services.mozilla.com/D144655
2022-05-03 01:14:50 +00:00
Masayuki Nakano
dfde4fb973 Bug 1762115 - part 10: Make HTMLEditor::InsertBRElement stop touching Selection directly r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D144653
2022-05-03 01:03:05 +00:00
Masayuki Nakano
adea39d1ad Bug 1762115 - part 5: Make SplitNodeResult store and suggest new caret position r=m_kato
This patch allows methods which split some nodes to return new candidate
caret position and makes callers of them consider whether applying it to
the selection immediately or not.

Differential Revision: https://phabricator.services.mozilla.com/D144648
2022-05-03 00:06:16 +00:00
Masayuki Nakano
3d3f447b52 Bug 1762115 - part 1: Make HTMLEditor::HandleInsertBRElement stop touching Selection directly r=m_kato
The strategy of this patch and most following patches is, returning candidate
caret position with `CreateNodeResultBase`, and make each caller choose whether
it updates `Selection` immediately, put it off until exiting from a loop, or
just ignore.

This patch makes `HTMLEditor::HandleInsertBRElement` return
`CreateElementResult` and makes its callers handle selection as same as the
method does.

And note that I've not realized that `NS_FAILED` and `NS_SUCCEEDED` include
`MOZ_(UN)LIKELY`.  Therefore, they don't need to be wrapped with them.  And
also `NS_WARN_IF` has it too (but it's not in opt build, see bug 1765909).
On the other hand, neither `Result::isErr` nor `Result::isOk` has them
(bug 1765916).  Therefore, except in the case of `Result`, this and following
patches will remove unnecessary `MOZ_(UN)LIKELY` from editor.

Differential Revision: https://phabricator.services.mozilla.com/D144644
2022-05-02 22:48:23 +00:00
Masayuki Nakano
54bb966fad Bug 1765018 - part 7: Make some methods which return an instance (not reference) of EditorDOMPointBase be template methods r=m_kato
For avoiding to use `To<EditorDOMPoint>()` etc from temporary object, such
methods should be templated.

Differential Revision: https://phabricator.services.mozilla.com/D143884
2022-04-20 23:58:04 +00:00
Masayuki Nakano
cd00fabc79 Bug 1765018 - part 5: Make InsertText() and ReplaceText() of WhiteSpaceVisibilityKeeper return Result<EditorDOMPoint, nsresult> r=m_kato
Aligning to `EditorBase::InsertTextWithTransaction`, these methods should return
`Result<EditorDOMPoint, nsresult>` rather than taking an out param.

Differential Revision: https://phabricator.services.mozilla.com/D143882
2022-04-20 23:52:09 +00:00
Masayuki Nakano
c56be53f24 Bug 1765018 - part 4: Make EditorBase::InsertTextWithTransaction treat only EditorDOMPoint r=m_kato
In theory, methods which touch the DOM tree should take `EditorDOMPoint` rather
than `EditorRawDOMPoint`.  And now, we can return meaningful value if it
succeeded, with `Result`.

Therefore, this patch makes it return `Result<EditorDOMPoint, nsresult>` instead
of taking an out argument, and take only `EditorDOMPoint` rather than taking any
type of `EditorDOMPointBase` since it's always converted to `EditorDOMPoint`.

Differential Revision: https://phabricator.services.mozilla.com/D143881
2022-04-20 23:46:19 +00:00
Masayuki Nakano
cd80bdce17 Bug 1765018 - part 1: Get rid of implicit conversion between EditorDOMPointBase instances r=m_kato
The implicit copy constructors and `operator=` makes it harder to realize
that implicit conversion wastes the runtime cost.  Therefore, this patch
replaces them with a template method to convert the `EditorDOMPointBase` type.

Differential Revision: https://phabricator.services.mozilla.com/D143878
2022-04-20 22:41:02 +00:00
Masayuki Nakano
a8350c4163 Bug 1764684 - part 3: Fix and improve warnings of the result of EditorBase::CollapseSelectionTo* r=m_kato
Some of them were `HTMLEditor` so that we need to fix it to `EditorBase`, and
also this patch fixes `NS_ERROR_EDITOR_DESTROYED` handling around them.

Differential Revision: https://phabricator.services.mozilla.com/D143815
2022-04-20 14:36:53 +00:00
Masayuki Nakano
879e940382 Bug 1763292 - Make WhiteSpaceVisibilityKeeper::NormalizeVisibleWhiteSpacesAt check the DOM tree after inserting a <br> element r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D143016
2022-04-15 02:24:55 +00:00
Masayuki Nakano
0a637c3bb8 Bug 1742933 - part 4: Make HTMLEditor::CreateAndInsertElementWithTransaction() and HTMLEditor::InsertBRElementWithTransaction() work without transactions r=m_kato
At initializing new element which has not been connected, undo transactions
are not necessary because just removing the new element gets same result for
users.  Therefore, they should be able to work without transactions.

Differential Revision: https://phabricator.services.mozilla.com/D140468
2022-03-11 07:18:48 +00:00
Masayuki Nakano
25e9c8e84e Bug 1751679 - Make WhiteSpaceVisibilityKeeper::MergeFirstLineOfRightBlockElementIntoAncestorLeftBlockElement track DOM points while the DOM tree is being changed r=m_kato
The method caches a DOM point, but it is not tracked correctly.

This patch adds some validations into it and one of its callee,
`HTMLEditor::MoveOneHardLineContents`.  Additionally, making
`EditorDOMPointBase::Offset` avoid accessing `Maybe`'s storage when it's
`Nothing` in release builds as the last resort.

Differential Revision: https://phabricator.services.mozilla.com/D136994
2022-02-09 00:45:33 +00:00
Masayuki Nakano
8ce63d4397 Bug 1740858 - Improve SplitNodeResult r=m_kato
First, left/right node accessors are not used so that we can get rid of them.
However, we should have similar methods which can retrieve original node and
new node.  Therefore, this adds `GetNewContent()` and `GetOriginalContent()`.

Next, `SplitPoint()` should return both `EditorDOMPoint` and `EditorRawDOMPoint`
for avoiding unnecessary conversion from `EditorRawDOMPoint` to
`EditorDOMPoint`.  Therefore, this patch makes it a template method too.

Finally, this patch adds helper methods to get point of each related content.
E.g., `AtNewContent()` corresponding to `GetNewContent()`.

Differential Revision: https://phabricator.services.mozilla.com/D131748
2021-11-24 00:56:33 +00:00
Masayuki Nakano
2e486e81af Bug 1740847 - part 3: Make WhiteSpaceVisibilityKeeper::ReplaceText() track insert position in smaller block r=m_kato
Similar to the previous patch, this patch also make it track invisible
white-space ranges and clear outdated things.

And this makes it cache some information instead of tracking some changes
because of performance reason.

Depends on D131037

Differential Revision: https://phabricator.services.mozilla.com/D131038
2021-11-12 08:31:22 +00:00
Masayuki Nakano
88560528af Bug 1740847 - part 2: Make WhiteSpaceVisibilityKeeper::InsertBRElement() track insert position in smaller block r=m_kato
And also invisible white-space range and replacing white-space position should
also be tracked too.

Depends on D131036

Differential Revision: https://phabricator.services.mozilla.com/D131037
2021-11-12 08:04:37 +00:00
Masayuki Nakano
663aaec146 Bug 1740847 - part 1: Track split point at replacing collapsible white-spaces r=m_kato
It `pointToSplit` should be tracked at replacing text, but I have no idea how
to test this because it replaces the text after the split point.

Differential Revision: https://phabricator.services.mozilla.com/D131036
2021-11-12 07:20:31 +00:00
Masayuki Nakano
00619f6d04 Bug 1729170 - Make all methods of nsTextFragment take uint32_t for the offset and length of text r=smaug
`nsTextFragment` is a storage of data node and DOM offset is `uint32_t`, but
some methods of `nsTextFragment` takes `int32_t` for the offset/length in
its text.  Therefore, callers need to cast from `uint32_t` to `int32_t` if
the offset value is offset in a DOM node.  Therefore, all methods of it should
take `uint32_t` values as offset/length in its text.

Differential Revision: https://phabricator.services.mozilla.com/D127923
2021-10-12 05:05:12 +00:00
Jonathan Kew
7d787476c9 No bug - fix spelling of internal constant name: s/Carridge/Carriage/. r=masayuki DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D127972
2021-10-11 07:38:27 +00:00
Masayuki Nakano
5ee19bbfbd Bug 1724650 - part 8: Update WPT result and add new tests to insert mulitple white-spaces r=m_kato
This does NOT add tests to `inserttext` command which includes linefeed
characters with other characters.  It seems that Blink handles 2 or more
length string is handled as multiple calls for every character.  So each
linefeed character is handled as `insertparagraph`, but Gecko treats the
linefeed characters as-is.  We should add the tests later with changing
Gecko's behavior, but for now, we should keep current behavior because
this difference must not be trobule in the wild, but we need to improve
preformatted string handler of Gecko better against reported web-compat
issues.

Differential Revision: https://phabricator.services.mozilla.com/D124562
2021-09-10 04:04:30 +00:00
Masayuki Nakano
ebd50bb333 Bug 1724650 - part 6: Make white-space normalizers treat white-space: pre-line correctly r=m_kato
So, the careful point is, they shouldn't put ASCII white-space next to a
preformatted white-space, but should put ASCII white-space next to the NBSP
as far as possible for making line break opportunities.

Differential Revision: https://phabricator.services.mozilla.com/D124560
2021-09-10 04:04:29 +00:00
Masayuki Nakano
250f1ae5fb Bug 1724650 - part 5: Make delete text handler aware of white-space: pre-line r=m_kato
If caret is put at preformatted linefeed, we need to handle adjacent
collapsible white-spaces too if the style is `white-space: pre-line`.
Therefore, this patch makes the delete handler aware of the case only
linefeed characters are preformatted and `AutoDeleteRangesHandler` call it
when caret is around a preformatted line break.

Differential Revision: https://phabricator.services.mozilla.com/D124559
2021-09-10 04:04:29 +00:00
Masayuki Nakano
681aa8bf1f Bug 1724650 - part 4: Make replace text handlers aware of white-space: pre-line r=m_kato
It currently replaces inserting string's white-spaces to an `NBSP` even if
preformatted linefeed characters.  Additionally, collapsible white-spaces around
a linefeed are removed.  Therefore, adjacent collapsible characters of every
linefeed needs to be an NBSP.  This patch makes the method handle it correctly.

Differential Revision: https://phabricator.services.mozilla.com/D124558
2021-09-10 04:04:29 +00:00
Masayuki Nakano
f52e6f2a32 Bug 1724650 - part 3: Make GetEndOfCollapsibleASCIIWhiteSpaces and GetFirstASCIIWhiteSpacePointCollapsedTo treat preformatted linefeed characters correctly r=m_kato
If `white-space` is `pre-line`, only linefeed characters are preformatted, but
white-spaces are collapsible.  And if collapsible white-spaces follow or
are followed by a preformatted linefeed, they are removed.  Therefore,
these methods need to scan following or preceding white-spaces of first
linefeed if the caller wants to delete.  Unless doing it, the removed
white-spaces would become visible due to no linefeed character containing
sequence.

Differential Revision: https://phabricator.services.mozilla.com/D124557
2021-09-10 04:04:28 +00:00
Masayuki Nakano
4d7fd07e02 Bug 1724650 - part 2: Make scanner methods in WSRunObject.cpp treat preformatted linefeed characters correctly r=m_kato
Currently, they don't assume that there is `white-space: pre-line` which
preserves only linefeed characters, but white-spaces are collapsible.
This patch makes them stop early return when white-spaces are preformatted,
and do additional checks for linefeed characters.

Differential Revision: https://phabricator.services.mozilla.com/D124556
2021-09-10 04:04:28 +00:00
Masayuki Nakano
27909790d5 Bug 1724650 - part 1: Make HTMLEditUtils scans collapsible white-spaces with referring the style r=m_kato
This makes it support `white-space: pre-line` which only preserve linefeed
characters.  However, the APIs are not all of what we need to change.
Therefore, this causes hitting assertion hits due to different result from
some other APIs.  So patching only with this does not work.  The automated
test results will be updated later.

Note that it's **not** the goal of this bug that we don't support white-space
handling in text nodes whose `white-space` is `-moz-pre-space`.  It replaces
linefeed characters with white-spaces then, preserve all white-spaces.
However, it's not standardized, and it's available with `xml:space="preserve"`
in SVG if web developers don't use the vender prefixed value, and finally,
supporting it makes our white-space handling in editor more complicated
than applying the following patches.  So, we don't need to do it at least
for now.  Therefore, this and following patches does not assume that there
are no cases that only new lines are collapsible.

Differential Revision: https://phabricator.services.mozilla.com/D124555
2021-09-10 04:04:27 +00:00
Masayuki Nakano
3609b92fd4 Bug 1727844 - part 8: Rename BoundaryData::Preformatted to BoundaryData::WhiteSpacePreformatted r=m_kato
It's should not cross preformatted line break, therefore, the better name
for it is, it means whether the preformatted white-space is found or not.

Differential Revision: https://phabricator.services.mozilla.com/D123875
2021-08-31 17:37:43 +00:00
Masayuki Nakano
f75f32cd74 Bug 1727844 - part 7: Make HTMLEditor related classes use constants in HTMLEditUtils to use specific character code point r=m_kato
Although we should move it into `EditorUtils`, currently, this is enough.

Differential Revision: https://phabricator.services.mozilla.com/D123874
2021-08-31 17:37:42 +00:00
Masayuki Nakano
5d2f328ac7 Bug 1727844 - part 5: Rename some scan result related members in WSRunObject.h r=m_kato
Currently, it uses "normal text" and "normal white-spaces" for naming
`enum class` members and their accessors.  However, this is unclear what
does the normal mean since the word depends on context.

Therefore, this patch replaces the former with "non-collapsible characters" and
the latter is "collapsible white-spaces".

Differential Revision: https://phabricator.services.mozilla.com/D123872
2021-08-31 17:37:41 +00:00
Masayuki Nakano
27991feb1f Bug 1727844 - part 4: Add API to check whether a char is collapsible or not r=m_kato
This patch adds `EditorUtils::IsNewLinePreformatted()` to check whether a
linefeed character is collapsible or not.

Then, a lot of users of `EditorDOMPointBase::Is*CharASCIISpace()` and
`EditorDOMPointBase::Is*CharASCIISpaceOrNBSP()` should check whether the
white-space at the point is collapsible or not.  Therefore, this patch adds
`Is*CharCollapsibleASCIISpace()` and `Is*CharCollapsibleASCIISpaceOrNBSP()`
too.

Then, makes such callers use the new API instead.

Differential Revision: https://phabricator.services.mozilla.com/D123871
2021-08-31 17:37:41 +00:00
Masayuki Nakano
0eae59bebd Bug 1727844 - part 3: Rename EditorUtils::IsContentPreformatted() to IsWhiteSpacePreformatted() r=m_kato
The method returns false even if linefeed characters are preformatted.
So, it should be renamed to explain what it does clearer.

And this renames `TextFragmentData::mIsPreformatted` and its accessors too.

Differential Revision: https://phabricator.services.mozilla.com/D123870
2021-08-31 17:37:41 +00:00
Masayuki Nakano
a776c11c37 Bug 1727479 - Make WhiteSpaceVisibilityKeeper::PrepareToSplitAcrossBlocks() adjust split point if it's in non-splittable node r=m_kato
`Selection` can be collapsed in a non-splittable element like a void element
and data nodes such as a comment node.  In this case, we should split the
parent block at before the void element (Blink almost does so, except
`<embed>`, `<hr>` and `<wbr>`).

Differential Revision: https://phabricator.services.mozilla.com/D123709
2021-08-27 02:14:15 +00:00
Masayuki Nakano
d57829bbab Bug 1726064 - part 2: Get rid of HTMLEditUtils::GetInclusiveAncestorBlockElementExceptHRElement r=m_kato
It does not check whether it meets a non-editable parent or not.  Therefore,
it may cross another editing host boundary when `aContent` is in a nested
editing host.

So, this patch fixes some edge cases when editing hosts are nested and
scanning from inner editing host.

Differential Revision: https://phabricator.services.mozilla.com/D122940
2021-08-19 06:55:13 +00:00
Masayuki Nakano
7809095f85 Bug 1726064 - part 1: Redesign HTMLEditUtils::ClosestEditableBlockElementOrEditingHost() with enum class r=m_kato
There are a lot of ancestor scanners in `HTMLEditUtils`.  This is good thing
for the performance, but it makes us hard to maintain.  Therefore, we should
merge them as far as possible.

Differential Revision: https://phabricator.services.mozilla.com/D122939
2021-08-19 05:39:16 +00:00
Masayuki Nakano
dd2bcc53d2 Bug 1725291 - part 3: Make WhiteSpaceVisibilityKeeper::MergeFirstLineOf(Right|Left)BlockElementIntoDescendant(Left|Right)BlockElement() abort handling it if joining elements become non-editable r=m_kato
They clean up the tail of descendant block first.  At this time, running script
may change one of or both of the left block element and the right block element.
In such situation, they should stop handling to join the blocks because of
unexpected case.

Depends on D122562

Differential Revision: https://phabricator.services.mozilla.com/D122565
2021-08-17 00:45:45 +00:00
Masayuki Nakano
695406d319 Bug 1725291 - part 2: Make HTMLEditor::OnEndHandlingTopLevelEditSubActionInternal() guarantee that WhiteSpaceVisibilityKeeper::NormalizeVisibleWhiteSpacesAt() is called with editable point r=m_kato
If the point is not editable, white-spaces around it shouldn't be normalized.

Differential Revision: https://phabricator.services.mozilla.com/D122562
2021-08-17 00:04:16 +00:00
Masayuki Nakano
e9ce818270 Bug 1723895 - Make WhiteSpaceVisibilityKeeper::ReplaceText() call GetInclusiveNextNBSPPointIfNeedToReplaceWithASCIIWhiteSpace with end of the replacing range instead of start of it r=m_kato
It tries to replace a following NBSP with an ASCII white-space if there is.
However, it calls the scan method with start of the replacing range.  Therefore,
the assertion in `GetInclusiveNextNBSPPointIfNeedToReplaceWithASCIIWhiteSpace()`
detects this bug.

Note that this occurs only when updating composition string because it's
called with non-collapsed range only for doing it.  Otherwise, selected range
has already been deleted by `HTMLEditor::DeleteSelectionAsSubAction()`.

Unfortunately, I don't have how to make this bug appear.  It seems that the
path does nothing in the wild because it tries to replace a first character
of composition string from an NBSP to a normal white-space, but it'll be
replaced with new composition string anyway.  Therefore, this patch does not
have new tests.

Differential Revision: https://phabricator.services.mozilla.com/D122182
2021-08-10 23:41:19 +00:00
Masayuki Nakano
780fbf11f8 Bug 1714914 - Make editor classes treat offset in parent node as uint32_t r=m_kato
It should be treated as `uint32_t` since DOM API does so.  However, there are
some exceptions:

* Result of `nsINode::ComputeIndexOf()`
* Result of `nsAString` methods

They return `-1` as not found, and anyway, they cannot treat large integer
than `INT32_MAX`.  Therefore, this patch does not touch around them.

Differential Revision: https://phabricator.services.mozilla.com/D118933
2021-06-30 07:07:28 +00:00
Masayuki Nakano
589f224651 Bug 1627175 - part 53: Rename HTMLEditUtils::GetFirstLeafChild() and HTMLEditUtils::GetLastLeafChild() r=m_kato
They may return a descendant, and now `HTMLEditUtils` has some methods whose
name ends with `Child` and they scan only direct children of given node.
So, we should rename these methods for avoiding misunderstanding.

Differential Revision: https://phabricator.services.mozilla.com/D115122
2021-05-17 08:01:37 +00:00
Masayuki Nakano
a92de4a62f Bug 1627175 - part 47: Move HTMLEditor::GetNextHTMLSibling() to HTMLEditUtils r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D115116
2021-05-17 05:25:04 +00:00
Masayuki Nakano
6a94b6a4c2 Bug 1627175 - part 46: Move HTMLEditor::GetPriorHTMLSibling() to HTMLEditUtils r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D115115
2021-05-17 03:05:13 +00:00
Masayuki Nakano
f035707a06 Bug 1627175 - part 45: Add helper methods which test found <br> element visibility to WSRunScanner and WSScanResult r=m_kato
This must make the callers of `HTMLEditUtils::IsVisibleBRElement()` and
`HTMLEditUtils::IsInvisibleBRElement()` easier to read.

Depends on D114933

Differential Revision: https://phabricator.services.mozilla.com/D114934
2021-05-13 13:44:04 +00:00
Masayuki Nakano
43ffa9c888 Bug 1627175 - part 43: Move HTMLEditor::IsVisibleBRElement() to HTMLEditUtils::IsVisibleBRElement() r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D114932
2021-05-13 06:02:34 +00:00