Commit Graph

21 Commits

Author SHA1 Message Date
Aryeh Gregor
2218f138da 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
2017-04-19 16:53:24 +03:00
Michael Layzell
0742c44837 Bug 1317322 - Part 1: Activate paste in menus when within <textarea> controls, r=ehsan
MozReview-Commit-ID: 7YD8qtsC3u6
2017-03-06 14:37:39 -05:00
Wes Kocher
2bfc778e40 Backed out 3 changesets (bug 1317322)
Backed out changeset ee9b08930b65 (bug 1317322)
Backed out changeset 1eb8e1322979 (bug 1317322)
Backed out changeset 39cba44c517d (bug 1317322)

MozReview-Commit-ID: 3uruqVonhEG
2017-03-01 15:38:02 -08:00
Michael Layzell
98e06d3cfe Bug 1317322 - Part 1: Activate paste in menus when within <textarea> controls, r=ehsan
MozReview-Commit-ID: 7YD8qtsC3u6
2017-03-01 15:20:08 -05:00
Makoto Kato
d12d518f85 Bug 1327798 - Part 1. PasteNoFormatting shouldn't set text/html to clipboard event on paste. r=enndeakin
MozReview-Commit-ID: 8VMudiPiXcK
2017-02-22 18:34:45 +09:00
Mats Palmgren
d34dfdb143 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
William Chen
05f0455091 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
Jorg K
fb0cc281db Bug 1328093 - HTMLEditor::InsertTextWithQuotations() should include the first line break into the <span> it creates. r=masayuki 2017-01-10 01:50:00 -05:00
Masayuki Nakano
e8e68353a3 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
2016-12-20 21:47:31 +09:00
Jorg K
981a48e3e7 Bug 1288911 - Use CSS trick to avoid unwanted line wraps in quotes. r=masayuki 2016-12-14 13:37:00 +01:00
Boris Zbarsky
d76e1fb625 Bug 1318479 part 2. Remove uses of nsIDOMNode::AppendChild in editor. r=ehsan 2016-11-18 16:38:29 -05:00
Boris Zbarsky
bf99bde385 Bug 1317599. Get rid of LegacyIsCallerChromeOrNativeCode use in datatransfer code. r=mystor 2016-11-15 12:46:32 -05:00
Makoto Kato
5afb741033 Bug 1312936 - Part 2. Use nsAutoCString for nsITranserable.getAnyTransferData into editor. r=masayuki
Also, replace nsCRT::strcmp with EqualsLiteral.  nsCRT::strcmp is deprecated API.

MozReview-Commit-ID: KZ4xfk7bhH3
2016-10-26 11:10:29 +09:00
Masayuki Nakano
70065b8279 Bug 1311240 Fix odd "{" and "}" of control statements in editor for conforming to our coding rules r=smaug
Currently, editor code uses following style (or similar style) in a lot of places:

if (foo)
{

}
else
{

}

This patch fixes this as conforming to our coding rules, i.e., it becomes:

if (foo) {

} else {

}

Additionally, this fixes other odd control statements in the files which include above issue because it's difficult to find following issues with searching the files:

* if (foo) bar;
* if (foo) { bar; }
* if (foo)
    bar;

Finally, if it becomes much simpler than current code, this patch rewrites existing code with "early return style". But this case is only a few places because this is risky.

MozReview-Commit-ID: 2Gs26goWXrF
2016-10-24 11:27:45 +09:00
Masayuki Nakano
0634b78e87 Bug 1311235 part.2 Rename NS_FOUND_TARGET to NS_EDITOR_FOUND_TARGET and make it a success code r=Ehsan
NS_FOUND_TARGET is now declared as an error code.  However, making it as a success code makes the code simpler.

First, this patch renames it to NS_SUCCESS_EDITOR_FOUND_TARGET because it's usual naming rule (according to the other declarations).

Next, FindTargetNode() should return it when a nest call of itself returns NS_SUCCESS_EDITOR_FOUND_TARGET as it does now.

Finally, removing the code overwriting NS_FOUND_TARGET with NS_OK from HTMLEditor::CreateDOMFragmentFromPaste() since it doesn't cause hitting NS_ENSURE_SUCCESS() and the variable, rv, will be overwritten with other method's result.

MozReview-Commit-ID: 6GgZptrXXQa
2016-10-19 14:15:24 +09:00
Makoto Kato
945907f227 Bug 1309117 - Make ImgFromData fallible. r=masayuki
When pasting large image, it may cause OOM when generating base64 data.  So we should use fallible allocator instead.

Also, base64 is ASCII, so we should use AppendASCIItoUTF16 instead of AppendUTF8toUTF16.

MozReview-Commit-ID: 8yWPxfEcEwv
2016-10-11 19:28:30 +09:00
Michael Layzell
b73afbd34b Bug 1018486 - Part 2: Changes in editor/, r=masayuki
MozReview-Commit-ID: JA7UCVXEd8j
2016-09-07 10:50:37 -04:00
Masayuki Nakano
349d5d7916 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
5307069dfd Bug 1260651 part.59 Rename nsEditor to mozilla::EditorBase (and also their file names) r=mccr8
This patch also renames:

EditorInputEventDispatcher -> mozilla::EditorInputEventDispatcher

And some variable names are renamed from aEditor or mEditor to aEditorBase or mEditorBase for making their types clearer.

MozReview-Commit-ID: 2FCXWpLMn8e
2016-07-08 13:10:13 +09:00
Masayuki Nakano
441269932e Bug 1260651 part.58 Rename nsPlaintextEditor to mozilla::TextEditor (and their file names too) r=mccr8
This patch renames nsPlaintextEditor to mozilla::TextEditor.

Additionally, renames TextEditRules::mEditor to TextEditRules::mTextEditor for making its type clearer.

Finally, renaming following files:

nsPlaintextEditor.h -> TextEditor.h (exposed as mozilla/editor/TextEditor.h)
nsPlaintextEditor.cpp -> TextEditor.cpp
nsPlaintextDataTransfer.cpp -> TextEditorDataTransfer.cpp

MozReview-Commit-ID: Lw8oJi4WglA
2016-07-09 11:54:50 +09:00
Masayuki Nakano
58f2b7d302 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
2016-07-09 11:42:33 +09:00