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

43 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 3d3e201817 Bug 1665258 - Shrink `CSSEquivTable`. r=heycam
Better field packing reduces it from 48 bytes to 40 bytes on 64-bit.

This reduces the memory used by each process by 336 bytes on 64-bit.

Differential Revision: https://phabricator.services.mozilla.com/D90344
2020-09-23 01:08:21 +00:00
Makoto Kato 0a0fc918b8 Bug 1663638 - Don't use edit transaction for editing UI. r=masayuki
Although we use CSS property for Inline table editing UI, we use edit
transaction for it unfortunately. When hiding this UI, since removing
element doesn't use edit transaction, transaction will be canceled before
showing this UI.

It is unnecessary to use edit transaction for UI, so we shouldn't use it.

Differential Revision: https://phabricator.services.mozilla.com/D90056
2020-09-14 05:10:08 +00:00
Masayuki Nakano bc279d2448 Bug 1660378 - part 7: Make `CSSEditUtils::SetCSSEquivalentToHTMLStyle()` take `nsStyledElement&` instead of `Element*` r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87988
2020-08-26 04:48:32 +00:00
Masayuki Nakano decd85f7d6 Bug 1660378 - part 6: Make `CSSEditUtils::SetCSSProperty()` and its callers take `nsStyledElement&` instead of `Element&` r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87987
2020-08-26 04:48:28 +00:00
Masayuki Nakano d03e0e65d8 Bug 1660378 - part 5: Make `CSSEditUtils::RemoveCSSInlineStyle()` take `nsStyledElement&` instead of `nsINode&` r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87986
2020-08-26 04:48:25 +00:00
Masayuki Nakano 67e64be5b4 Bug 1660378 - part 4: Make `CSSEditUtils::DoElementsHaveSameStyle()` take `nsStyledElement&` instead of `Element&` r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87985
2020-08-26 04:48:22 +00:00
Masayuki Nakano 2a4a68855c Bug 1660378 - part 3: Make `CSSEditUtils::RemoveCSSEquivalentToHTMLStyle()` take `nsStyledElement&` instead of `Element*` r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87984
2020-08-26 04:48:19 +00:00
Masayuki Nakano 801ca86f89 Bug 1660378 - part 2: Make `CSSEditUtils::RemoveCSSPoperty()` take `nsStyledElement&` instead of `Element&` r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87983
2020-08-26 04:48:16 +00:00
Masayuki Nakano 5d36739f8b Bug 1660378 - part 1: Get rid of `CSSEditUtils::GetInlineStyles()` r=m_kato
It should take `nsStyledElement&` instead of `const Element&`.  Then, it won't
fail and will just return the result of `nsStyleElement::Style()`.  Therefore,
we can get rid of it.

Note that this patch makes all its callers keep using strong pointer because
I'm not sure whether the layout APIs which are called with them are safe or
not.

Differential Revision: https://phabricator.services.mozilla.com/D87982
2020-08-26 04:48:12 +00:00
Masayuki Nakano 7d9227e497 Bug 1627175 - part 3: Move `EditorBase::AreNodesSameType()` to `HTMLEditUtils` r=m_kato
It's only non-`HTMLEditor` user is `EditorBase::JoinNodesDeepWithTransaction()`,
but it's called only by `HTMLEditor`.  Therefore, we can move it into
`HTMLEditUtils` and move `EditorBase::JoinNodesDeepWithTransaction()` to
`HTMLEditor`.

Depends on D70875

Differential Revision: https://phabricator.services.mozilla.com/D70876

--HG--
extra : moz-landing-system : lando
2020-04-15 15:55:20 +00:00
Masayuki Nakano 9f10b2a2a0 Bug 1627573 - part 4: Mark `CSSEditUtils` methods which refer computed style as `MOZ_CAN_RUN_SCRIPT` r=m_kato
When it refers computed value of style, it may flush pending notifications.
Therefore, they should be marked as `MOZ_CAN_RUN_SCRIPT`.

Differential Revision: https://phabricator.services.mozilla.com/D70151

--HG--
extra : moz-landing-system : lando
2020-04-09 10:10:34 +00:00
Masayuki Nakano 32e8f30b27 Bug 1627573 - part 3: Get rid of `CSSEditUtils::GetSpecifiedCSSEquivalentToHTMLInlineStyleSet()` because of unused r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D70150

--HG--
extra : moz-landing-system : lando
2020-04-09 10:08:52 +00:00
Masayuki Nakano ea92dfc783 Bug 1627573 - part 2: Split public methods of `CSSEditUtils` which work with both specified values and computed values r=m_kato
Some methods take `StyleType` to work them with specified values or computed
values.  This method hides `StyleType` into `CSSEditUtils` and splits the
public methods which took `StyleType` to 2 methods, one is for working with
specified values, the other is for working with computed values.

Additionally, this patch fixes some argument name and type.

Differential Revision: https://phabricator.services.mozilla.com/D70149

--HG--
extra : moz-landing-system : lando
2020-04-09 10:08:37 +00:00
Masayuki Nakano ac60892e7d Bug 1627573 - part 1: Remove unused `CSSEditUtils::IsCSSEquivalentToHTMLInlineStyleSet()` overload r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D70148

--HG--
extra : moz-landing-system : lando
2020-04-09 10:08:09 +00:00
Bogdan Tara a81dc418ef Backed out 4 changesets (bug 1627573) for bustages complaining about CSSEditUtils.cpp CLOSED TREE
Backed out changeset 8ced0e6ed31e (bug 1627573)
Backed out changeset 07b5b67c32c2 (bug 1627573)
Backed out changeset 04734d17e8d0 (bug 1627573)
Backed out changeset 77486fd073af (bug 1627573)
2020-04-09 10:58:46 +03:00
Masayuki Nakano 1142d3105a Bug 1627573 - part 4: Mark `CSSEditUtils` methods which refer computed style as `MOZ_CAN_RUN_SCRIPT` r=m_kato
When it refers computed value of style, it may flush pending notifications.
Therefore, they should be marked as `MOZ_CAN_RUN_SCRIPT`.

Differential Revision: https://phabricator.services.mozilla.com/D70151

--HG--
extra : moz-landing-system : lando
2020-04-08 15:51:17 +00:00
Masayuki Nakano 2f8cf1135d Bug 1627573 - part 3: Get rid of `CSSEditUtils::GetSpecifiedCSSEquivalentToHTMLInlineStyleSet()` because of unused r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D70150

--HG--
extra : moz-landing-system : lando
2020-04-08 13:33:12 +00:00
Masayuki Nakano 024ef5568b Bug 1627573 - part 2: Split public methods of `CSSEditUtils` which work with both specified values and computed values r=m_kato
Some methods take `StyleType` to work them with specified values or computed
values.  This method hides `StyleType` into `CSSEditUtils` and splits the
public methods which took `StyleType` to 2 methods, one is for working with
specified values, the other is for working with computed values.

Additionally, this patch fixes some argument name and type.

Differential Revision: https://phabricator.services.mozilla.com/D70149

--HG--
extra : moz-landing-system : lando
2020-04-08 13:32:28 +00:00
Masayuki Nakano b07119c5f5 Bug 1627573 - part 1: Remove unused `CSSEditUtils::IsCSSEquivalentToHTMLInlineStyleSet()` overload r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D70148

--HG--
extra : moz-landing-system : lando
2020-04-08 12:08:02 +00:00
Masayuki Nakano 0ccabd567d Bug 1620504 - part 23: Fix some inconsistent coding style in editor r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D67132

--HG--
extra : moz-landing-system : lando
2020-03-22 10:46:39 +00:00
Masayuki Nakano 9748db36aa Bug 1620504 - part 1: Clean up warnings in CSSEditUtils r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D65866

--HG--
extra : moz-landing-system : lando
2020-03-09 01:58:24 +00:00
Masayuki Nakano 85a0bd9a61 Bug 1620135 - Clean up trivial constructor and destructor under libeditor r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D65448

--HG--
extra : moz-landing-system : lando
2020-03-06 04:38:25 +00:00
Masayuki Nakano 19fbb1a392 Bug 1549925 - Mark all methods of nsIDocumentStateListener as can_run_script r=m_kato
`nsIDocumentStateListener` is a scriptable interface and each method may run
any script.  So, we should mark them as `can_run_script`.  Then, we need to
mark a lot of editing methods because we need to mark
`EditorBase::EndTransactionInternal()` and `EditorBase::DoTransactionInternal()`
as `MOZ_CAN_RUN_SCRIPT`.

Differential Revision: https://phabricator.services.mozilla.com/D30360

--HG--
extra : moz-landing-system : lando
2019-05-09 07:37:51 +00:00
Masayuki Nakano 3e64f2c30d Bug 1539356 - Mark EditorBase::InsertNodeTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
This patch marks `EditorBase::InsertNodeTransaction()` **and** its callers as `MOZ_CAN_RUN_SCRIPT`.

Unfortunately, this patch tells us that some `GetSomething()` methods may destroy the editor since `HTMLEditRules::GetNodesForOperation()`, `HTMLEditRules::GetNodesFromPoint()` and `HTMLEditRules::GetNodesFromSelection()` may change the DOM tree.  Additionally, initialization methods may destroy the editor since it may insert a bogus `<br>` node.

Note that this patch also removes some unused methods. I.e., they are not result of some cleaning up the code. This patch just avoids marking unused methods as `MOZ_CAN_RUN_SCRIPT`.

Differential Revision: https://phabricator.services.mozilla.com/D25027

--HG--
extra : moz-landing-system : lando
2019-03-30 11:55:29 +00:00
Oana Pop Rus 43fadb6745 Backed out changeset 447c87c2d139 (bug 1539356) on request of Jorg K. a=backout 2019-03-30 00:42:32 +02:00
Masayuki Nakano 81b30d7143 Bug 1539356 - Mark EditorBase::InsertNodeTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
This patch marks `EditorBase::InsertNodeTransaction()` **and** its callers as `MOZ_CAN_RUN_SCRIPT`.

Unfortunately, this patch tells us that some `GetSomething()` methods may destroy the editor since `HTMLEditRules::GetNodesForOperation()`, `HTMLEditRules::GetNodesFromPoint()` and `HTMLEditRules::GetNodesFromSelection()` may change the DOM tree.  Additionally, initialization methods may destroy the editor since it may insert a bogus `<br>` node.

Note that this patch also removes some unused methods. I.e., they are not result of some cleaning up the code. This patch just avoids marking unused methods as `MOZ_CAN_RUN_SCRIPT`.

Differential Revision: https://phabricator.services.mozilla.com/D25027

--HG--
extra : moz-landing-system : lando
2019-03-29 10:55:31 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Emilio Cobos Álvarez 5aab8db970 Bug 1408301: Remove getPropertyCSSValue. r=bz
It's been removed for a while on Nightly without any known regressions. This
gives us a full beta cycle of telemetry and two nightly cycles without the API
before shipping.

This only removes the API, followup work will replace serialization by Servo's,
and remove the remaining DOM interfaces.

MozReview-Commit-ID: 2m1taYg5xEr
2018-05-12 11:23:47 +02:00
Makoto Kato 8c5d5f7c30 Bug 1449147 - Clean up more nsIDOMNode usages in editor. r=masayuki
To reduce QI, I would like to replace nsIDOMNode with nsINode.  And some
parameters in *DataTransder.cpp's methods is unused (it uses as nullptr),
so we should remove these parameters.

Also nsIDOMNodeList is unused now, so we should remove this including.

MozReview-Commit-ID: 1QTIkxDazjJ

--HG--
extra : rebase_source : 3961e897fcaa96975facc822821f1e223cab358d
2018-03-27 20:19:35 +09:00
Makoto Kato 2768bda89d Bug 1435149 - Part 2. Use scope resolution operator for CSSEditUtils's caller. r=masayuki
Part 1. changes to static method, so caller should use scope operator instead
of mCSSEditUtils member.

MozReview-Commit-ID: GlCfyjlQgr0

--HG--
extra : rebase_source : f558fc833d5f3cb193a543fc1b05cdeb58f60ec1
extra : histedit_source : 741529204d2dddef0f2dab9e18055186155eca8f
2018-02-02 18:42:25 +09:00
Makoto Kato 55fce07048 Bug 1435149 - Part 1. Change some methods to static or const method in CSSEditUtils. r=masayuki
Some methods in CSSEditUtils can change to static methods or const method.
So we should change to it to avoid unnecessary HTMLEditor check.

MozReview-Commit-ID: IwAbeNsgqSr

--HG--
extra : rebase_source : 649f198a59e06504a9e54cb64ab942ce04854ad2
extra : histedit_source : f4506dbdf8f9ccb614aca8f84aff1d572f0ce37e
2018-02-06 12:57:37 +09:00
Cameron McCormack 8731df3c34 Bug 1427512 - Part 29: Remove nsIDOMCSSDeclaration. r=xidorn,jryans,bz
This removes the .style attribute from nsIDOMSVGElement, but there
shouldn't be any users of that.

MozReview-Commit-ID: LOBSFo85Utn
2018-01-11 16:17:57 +08:00
Makoto Kato 1049bda089 Bug 1427964 - Remove unused methods from CSSEditUtils. r=masayuki
Some methods in CSSEditUtils are unused now, so let's remove it.

MozReview-Commit-ID: H4HiqL6hW9K

--HG--
extra : rebase_source : cdc7b763df3b1db35197597a991ee0248cff9c85
2018-01-04 14:27:15 +09:00
Makoto Kato db9f405bd9 Bug 1427060 - PropItem should use nsAtom instead of nsString. r=masayuki
Actually, PopItem uses nsString to store attribute name.  And when using it,
it converts to nsAtom by NS_Atomize and compare by nsString.

To reduce calculation of atom and string compare, we should store atom directly.

MozReview-Commit-ID: 8OB02mgMg1r

--HG--
extra : rebase_source : 9861217804acac52106a89cad75e08bd547080ad
extra : histedit_source : 2b9f01cf29b1b09dd07fc771ff94a06be4d94f31
2017-12-26 12:25:45 +09:00
Masayuki Nakano 0dd5b5022a Bug 1425412 - part 11: Create factory methods for ChangeStyleTransaction and remove CSSEditUtils::CreateCSSPropertyTxn() r=m_kato
This patch creates factory methods for ChangeStyleTransaction and removes
CSSEditUtils::CreateCSSPropertyTxn().

MozReview-Commit-ID: 1h8ZAj2PP5O

--HG--
extra : rebase_source : 3da3070ad179bac1aadbfc6984b4c2922a052ec0
2017-12-18 17:46:57 +09:00
Nicholas Nethercote d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Eric Rahm a33f11e0f5 Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.

--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299
2017-08-16 16:48:52 -07:00
Makoto Kato 2c1a2f9f2c Bug 1344116 - Clean up HTMLEditRules::RemoveAlignment. r=masayuki
Before I will fix some justify* command's bug, I would like to clean up HTMLEditRules::RemoveAlignment to get rid of nsIDOM* into this method.

MozReview-Commit-ID: 4UATycS5iBl

--HG--
extra : rebase_source : 7079a774b4b8359aeffbdbdf2efe0b45bd92c173
2017-03-03 13:13:21 +09:00
Makoto Kato d2b6ed15ad Bug 833889 - Part 1. Remove CSS properties even if it is default value. r=masayuki
When selected nodes are <span style="font-weight: normal;">A</span>, toggle bold inserts new span element into parent node like <span style="font-weight: bold;"><span style="font-weight: normal;">A</span><span>.  So bold isn't applied correctly.

IsCSSEquivalentToHTMLInlineStyleSet might return false even if style is applied.  Because it returns true that style isn't default value.  Since "font-weight: normal" is default property, it isn't removed.

So when style is already applied even if it is default value, we should remove it.

MozReview-Commit-ID: LgImkHRp9Ff

--HG--
extra : rebase_source : dd4d894495754a81abaf5a2aede1132056920beb
extra : histedit_source : 72d196cd9f90296eb00b97c1538704c714cc871c
2017-02-23 17:10:27 +09: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
Masayuki Nakano 7f30e926b8 Bug 1260651 part.60 editor/libeditor should export some headers which are required by other modules and other modules shouldn't use local include for them r=mccr8
MozReview-Commit-ID: FZSExwkHH2B
2016-07-08 14:03:31 +09:00
Masayuki Nakano 9b6e26f0bb Bug 1260651 part.56 Rename nsHTMLEditor to mozilla::HTMLEditor and related stuff r=mccr8
This patch renames classes/structs as:

nsHTMLEditor -> mozilla::HTMLEditor
nsHTMLEditor::BlobReader -> mozilla::HTMLEditor::BlobReader
SetSelectionAfterTableEdit -> mozilla::AutoSelectionSetterAfterTableEdit

nsHTMLEditor.h -> HTMLEditor.h (exposed as mozilla/editor/HTMLEditor.h)
nsHTMLAbsPosition.cpp -> HTMLAbsPositionEditor.cpp
nsHTMLAnonymousUtils.cpp -> HTMLAnonymousNodeEditor.cpp
nsHTMLDataTransfer.cpp -> HTMLEditorDataTransfer.cpp
nsHTMLEditorStyle.cpp -> HTMLStyleEditor.cpp
nsHTMLInlineTableEditor.cpp -> HTMLInlineTableEditor.cpp
nsHTMLObjectResizer.cpp -> HTMLEditorObjectResizer.cpp
nsTableEditor.cpp -> HTMLTableEditor.cpp

These new file names are clearer names which related to HTMLEditor than old names.

MozReview-Commit-ID: DTWaoFvy0DF

--HG--
rename : editor/libeditor/nsHTMLAbsPosition.cpp => editor/libeditor/HTMLAbsPositionEditor.cpp
rename : editor/libeditor/nsHTMLAnonymousUtils.cpp => editor/libeditor/HTMLAnonymousNodeEditor.cpp
rename : editor/libeditor/nsHTMLEditor.cpp => editor/libeditor/HTMLEditor.cpp
rename : editor/libeditor/nsHTMLEditor.h => editor/libeditor/HTMLEditor.h
rename : editor/libeditor/nsHTMLDataTransfer.cpp => editor/libeditor/HTMLEditorDataTransfer.cpp
rename : editor/libeditor/nsHTMLObjectResizer.cpp => editor/libeditor/HTMLEditorObjectResizer.cpp
rename : editor/libeditor/nsHTMLInlineTableEditor.cpp => editor/libeditor/HTMLInlineTableEditor.cpp
rename : editor/libeditor/nsHTMLEditorStyle.cpp => editor/libeditor/HTMLStyleEditor.cpp
rename : editor/libeditor/nsTableEditor.cpp => editor/libeditor/HTMLTableEditor.cpp
2016-07-09 11:42:33 +09:00
Masayuki Nakano 0f406c126d Bug 1260651 part.45 Rename nsHTMLCSSUtils to mozilla::CSSEditUtils (and also their file names) r=mccr8
This patch also renames nsHTMLEditor::mHTMLCSSUtils to nsHTMLEditor::mCSSEditUtils.

MozReview-Commit-ID: 1ZZBTqkVOm9

--HG--
rename : editor/libeditor/nsHTMLCSSUtils.cpp => editor/libeditor/CSSEditUtils.cpp
rename : editor/libeditor/nsHTMLCSSUtils.h => editor/libeditor/CSSEditUtils.h
2016-07-07 18:35:13 +09:00