Commit Graph

7276 Commits

Author SHA1 Message Date
Nicholas Nethercote
b71747b2ac Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00
Emilio Cobos Álvarez
619cb14d87 Bug 1299066: Make NS_STYLE_DISPLAY_* an enum class. Prefer indexing instead of linear search in the frame constructor r=heycam,bz
The main renaming was generated with the following python script:

```

import sys
import re

CAMEL_CASE_REGEX = re.compile(r"(^|_|-)([A-Z])([A-Z]+)")
DISPLAY_REGEX = re.compile(r"\bNS_STYLE_DISPLAY_([^M][A-Z_]+)\b")

def to_camel_case(ident):
  return re.sub(CAMEL_CASE_REGEX,
                lambda m: m.group(2) + m.group(3).lower(), ident)

def constant_to_enum(constant):
  return "StyleDisplay::" + to_camel_case(constant) + ("_" if constant == "NONE" else "")

def process_line(line):
  return re.sub(DISPLAY_REGEX,
                lambda m: constant_to_enum(m.group(1)), line)

lines = []
with open(sys.argv[1], "r") as f:
  for line in f:
    lines.append(process_line(line))

with open(sys.argv[1], "w") as f:
  for line in lines:
    f.write(line)
```

And the following shell commands:

```
find . -name '*.cpp' -exec python display.py {} \;
find . -name '*.h' -exec python display.py {} \;
```

MozReview-Commit-ID: 91xYCbLC2Vf
2016-09-01 20:41:17 -07:00
Aryeh Gregor
76862dadad Bug 1299453 - Stop using createEvent("DragEvents"/"KeyEvents") internally; r=smaug
They are non-standard aliases for "DragEvent" and "KeyboardEvent" that
are not supported by any other UA, and we would like to drop support.
So first let's stop using them ourselves, so we can use telemetry to see
if any sites are using them.

MozReview-Commit-ID: ICC33ORa2st
2016-08-31 20:38:50 +03:00
Ou Shinjo
2e390f8812 Bug 1266165 - CompositionTransaction::SetIMESelection() should not hide caret when redo r=masayuki
CompositionTransaction::SetIMESelection() is also called when user redos the committed composition.  In such case, it doesn't have ranges, but DoTransaction() tries to restore selection ranges with no ranges.  That causes hiding caret because when there is no caret range in the ranges, SetIMESelection() hides the caret as IME requested.

So, for redo, SetIMESelection() shouldn't hide caret when there are no ranges (i.e., the composition was already committed).
2016-08-27 13:26:42 +09:00
Aryeh Gregor
f3e54042f1 Bug 1271115 - Merge ChromeUtils.js into EventUtils.js; r=jmaher
This allows plain mochitests to use the functions as well, which is
necessary to get them to work with e10s.

MozReview-Commit-ID: J4um2mliJcZ
2016-08-25 16:57:09 +03:00
Aryeh Gregor
f5cce8463c Bug 1250805 - Respect type-in state when caching inline styles; r=masayuki
MozReview-Commit-ID: OZCUbNUvmz
2016-08-25 14:43:21 +03:00
Lee Salzman
ac99e35d5f Bug 1278957 - enable Skia content for Linux and Android. r=mchang
MozReview-Commit-ID: KFb81rVM0ik
2016-08-23 13:55:14 -04:00
Aryeh Gregor
f6c34fc75b Bug 748308 - Support insertParagraph and insertLineBreak per spec/Blink/WebKit; r=masayuki
Previously we supported insertParagraph as a synonym for formatBlock
"p", which is both useless and incompatible with all other browsers.
Edge's behavior doesn't look useful and looks redundant with insertHTML
(although it matches the name nicely, probably because they invented
the command).  Blink/WebKit treat it the same as hitting Enter, which is
useful for cross-browser testing until we get synthesizeKey() in wpt.

At the same time, I added insertLineBreak, which Blink/WebKit support
with the same functionality as pressing Shift-Enter.

The new event.html failures are spurious -- we used to pass by mistake
because we didn't support insertlinebreak at all.  insertlinebreak.html
has only new passes, no new failures, although it's not clear on the
diff.

MozReview-Commit-ID: 16oPcxXwGcj
2016-08-23 14:13:17 +03:00
Aryeh Gregor
a97d9af06f Bug 1295563 - Assert that editors can't be reinitialized during an edit action; r=masayuki
Many HTMLEditRules methods use the pattern of
  nsCOMPtr<nsIEditor> kungFuDeathGrip(mHTMLEditor);
at the beginning of the method, followed by using mHTMLEditor freely.
If Init() is then called on the editor, mHTMLEditor is set to null, so
it will crash.  Other bad stuff will probably happen too.

MozReview-Commit-ID: gUtaTAQJIh
2016-08-23 14:13:16 +03:00
Aryeh Gregor
dfe0b2fb6c Bug 1265800 part 3 - Move cursor into all adjacent nodes after delete; r=masayuki
When deleting, we previously would only move the cursor back into the
previous block if the last leaf node was a text node, for some reason.
We should move into the previous block in other cases as well, like if
the leaf node is a collapsed <br>.  (Probably it's not correct to move
backward into tables, but that already was happening if the table had
text at the end.  There may be other cases where this is wrong.)

MozReview-Commit-ID: 8e0dTU3lNYO
2016-08-22 14:27:17 +03:00
Aryeh Gregor
2a778fda0b Bug 1265800 part 2 - Don't place cursor after invisible break; r=masayuki
If the user tries to insert text without moving the cursor, the
invisible break will become visible, which from the user's perspective
means an extra line break was inserted for no reason.

The IsVisBreak change here is a bit scary, because it may result in
unexpected behavior changes, but it seems to improve correctness.  If it
turns out to cause problems, it can be added as a special case to
GetGoodSelPointForNode instead.

MozReview-Commit-ID: 7SRQYHYtJvF
2016-08-22 14:27:08 +03:00
Aryeh Gregor
09a3b26740 Bug 1265800 part 1 - Small unrelated cleanup patch; r=masayuki
MozReview-Commit-ID: CmyOTeFgKtS
2016-08-22 14:26:52 +03:00
Sebastian Hengst
6568eeec5b Backed out changeset e3b15fe52734 (bug 1265800) for failing added wpt /XMLHttpRequest/event-error.html. r=backout 2016-08-21 23:48:54 +02:00
Sebastian Hengst
9df7aba907 Backed out changeset bba587e03e0b (bug 1265800) 2016-08-21 23:42:45 +02:00
Sebastian Hengst
73836dc023 Backed out changeset da1cdd000993 (bug 1265800) 2016-08-21 23:42:41 +02:00
Aryeh Gregor
aeca189ce4 Bug 1265800 part 3 - Move cursor into all adjacent nodes after delete; r=masayuki
When deleting, we previously would only move the cursor back into the
previous block if the last leaf node was a text node, for some reason.
We should move into the previous block in other cases as well, like if
the leaf node is a collapsed <br>.  (Probably it's not correct to move
backward into tables, but that already was happening if the table had
text at the end.  There may be other cases where this is wrong.)

MozReview-Commit-ID: 8e0dTU3lNYO
2016-08-21 18:13:49 +03:00
Aryeh Gregor
c0a463e1dd Bug 1265800 part 2 - Don't place cursor after invisible break; r=masayuki
If the user tries to insert text without moving the cursor, the
invisible break will become visible, which from the user's perspective
means an extra line break was inserted for no reason.

The IsVisBreak change here is a bit scary, because it may result in
unexpected behavior changes, but it seems to improve correctness.  If it
turns out to cause problems, it can be added as a special case to
GetGoodSelPointForNode instead.

MozReview-Commit-ID: 7SRQYHYtJvF
2016-08-21 18:13:49 +03:00
Aryeh Gregor
7c39888a95 Bug 1265800 part 1 - Small unrelated cleanup patch; r=masayuki
MozReview-Commit-ID: CmyOTeFgKtS
2016-08-21 18:13:47 +03:00
Aryeh Gregor
e576cbacce Bug 1295150 - Fix incorrectly skipped test; r=mats
Bug 1268736 inadvertently put a new test before a skip-if line, which
makes the new test skipped instead of the preexisting one.

MozReview-Commit-ID: 20SuUc3IhiG
2016-08-21 16:06:13 +03:00
Jonathan Chan
4b87f11bd9 Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-16 18:37:48 -07:00
Gregory Szorc
1794619188 Backed out changesets dcdb85fc5517, 702bca0deee2, 9cKX8gC1ATA (bug 1293739) for build bustage; a=bustage
The merge from inbound to central conflicted with the merge from
autoland to central, it appears. Per tree rules, the commit from the
autoland repo wins and the inbound commit gets backed out.

CLOSED TREE

--HG--
extra : amend_source : 927e1cdfa8e55ccbd873d404d905caf6871c8c4f
extra : histedit_source : 07095868c3f767258e1d7d2645193bf4811b13bb%2Ca49ae5a28bf6e67298b6208ee9254c25a2539712
2016-08-16 17:50:40 -07:00
Wes Kocher
48b8d407c8 Merge inbound to central, a=merge
a=release to get around the webidl hook for a comment-only change

--HG--
extra : amend_source : f7e57101e1a25d3cf3536a256898ec2a21c54b38
2016-08-16 17:05:30 -07:00
Jonathan Chan
9c62a2c11c Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-09 16:28:19 -07:00
Joel Maher
37e7cf1020 Bug 1291015 - move more clipboard tests and plugin tests to the hardware based m-cl job. r=RyanVM
MozReview-Commit-ID: HJHdiFrNRWM

--HG--
extra : rebase_source : e211c8f0751c7f3a58fac0430bb63c18023c3c07
2016-08-03 15:07:39 -04:00
Wes Kocher
46da1ae628 Backed out changeset cc88b920a387 (bug 1278957) for making browser_notifications.js permafail on linux64 debug a=backout CLOSED TREE 2016-08-10 15:36:45 -07:00
Nicholas Nethercote
e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Lee Salzman
dfa9fefa78 Bug 1278957 - enable Skia content for Linux and Android. r=mchang
MozReview-Commit-ID: KFb81rVM0ik
2016-08-09 15:56:28 -04:00
Wes Kocher
e4976889e3 Backed out changeset 05bc24cabedf (bug 1278957) for pgo m(oth) failures 2016-08-09 11:44:12 -07:00
Lee Salzman
bf9dba5653 Bug 1278957 - enable Skia content for Linux and Android. r=mchang
MozReview-Commit-ID: KFb81rVM0ik
2016-08-09 05:33:15 -04:00
Carsten "Tomcat" Book
1315140dfb Backed out changeset 33b8617a7233 (bug 1278957) for linux pgo reftest failures 2016-08-09 09:15:40 +02:00
Lee Salzman
1881a1669c Bug 1278957 - enable Skia content for Linux and Android. r=mchang
MozReview-Commit-ID: KFb81rVM0ik
2016-08-08 14:26:26 -04:00
Kartikaya Gupta
30bfd9e7af Bug 1195722 - Follow-up to keep the accessible caret disabled on some reftests that require it. r=me on a CLOSED TREE
MozReview-Commit-ID: nugmHgzU1v
2016-08-03 15:59:04 -04:00
David Zbarsky
e0691abc04 Bug 824592 part 3. Get rid of nsIDOMElementCSSInlineStyle. r=peterv 2016-08-02 11:05:38 -07:00
Makoto Kato
40fe35f309 Bug 1266815 - Part 2. Add editing session test. r=masayuki
Use Promiose instead of setTimeout

MozReview-Commit-ID: HwgorIZbZpM

--HG--
extra : rebase_source : 9177c825d5492c0a04e4a9361b3a8e1702082655
2016-07-29 12:39:59 +09:00
Makoto Kato
51fc874636 Bug 1266815 - Part 1. Unnecessary DetachEditorFromWindow call from nsEditingSession. r=masayuki
nsIContent::GetDesiredIMEState sets IMEState::DISABLED, so IME doesn't work well.

Actually, DetachEditorFromWindow is called twice.  One is from nsEditingSession::StartDocumentLoad, and another is from nsDocShell::FirePageHideNotification.

When navigating to next, OnStateChange(..., STATE_START) is called.  Even if next page is external viewer such as launching another application, STAT_START is called. So even if launching external application, DetachEditorFromWindow is called.  So it means that editor is detached from docshell.

nsIContent::GetDesiredIMEState uses nsIEditor, but editor is detached state, so it cannot get nsIEditor.

When navigating to next content on internel viewer such HTML, nsDocShell::CreateContentViewer is called, then FirePageHideNotification is called.

So it is unnecessary to call DetachEditorFromWindow from nsEditorSession.  And its call causes this issue.

MozReview-Commit-ID: Lf5Rhzm1PNF

--HG--
extra : rebase_source : c452e9ea0fc01670b49cd76e17fb782aef3a5c20
2016-07-25 14:43:58 +09:00
Xidorn Quan
31f5ebf083 Bug 1287706 part 1 - Make CallbackObjectHolder movable (and actually move-only). r=smaug
So that we can avoid unnecessary refcount changes.

MozReview-Commit-ID: 4Mk9SJTj6AS

--HG--
extra : source : c35643f76ef33b6cdce115c8de0dfae8abccd644
2016-07-28 12:00:06 +10:00
Tom Tromey
5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Chris Peterson
b175c9fdd5 Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
Olli Pettay
f8d35b16d1 Bug 1283497, unbind editor created native anonymous content properly, r=wchen 2016-07-14 13:41:14 +03:00
Andrew McCreight
28d5875cc9 Bug 1284963 - Make CreateBR return already_AddRefed. r=masayuki
Returning already_AddRefed rather than a raw pointer makes it harder
to make mistakes with refcounting like the one seen in bug 1266882.
2016-07-12 08:58:13 -07:00
Jimmy Wang
af06755ad8 Bug 1162050 - Remove instances of eLegacyDragGesture and draggesture. r=enn
MozReview-Commit-ID: 8kP1AY4peos

--HG--
extra : rebase_source : 0f64e55770c2b9cfd9737f8da53111bad007dca6
2016-05-27 14:32:59 -04:00
Carsten "Tomcat" Book
d2e362e983 Backed out changeset f8fe3acf2e78 (bug 1162050) 2016-07-11 11:18:48 +02:00
Jimmy Wang
209f78f925 Bug 1162050 - Remove instances of eLegacyDragGesture and draggesture. r=enn
MozReview-Commit-ID: 8kP1AY4peos

--HG--
extra : transplant_source : XY2kY%87%AE%2A%C8%E8MV%86L%22%0B%21%5C%90%1B
2016-05-27 14:32:59 -04:00
Masayuki Nakano
fb4dd2591f Bug 1260651 part.61 Replace "etc" with "etc." r=mccr8
MozReview-Commit-ID: JFgd0t2bqzu
2016-07-08 14:15:21 +09: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
f382711dc3 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

--HG--
rename : editor/libeditor/nsEditor.cpp => editor/libeditor/EditorBase.cpp
rename : editor/libeditor/nsEditor.h => editor/libeditor/EditorBase.h
2016-07-08 13:10:13 +09:00
Masayuki Nakano
a4ac19d311 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

--HG--
rename : editor/libeditor/nsPlaintextEditor.cpp => editor/libeditor/TextEditor.cpp
rename : editor/libeditor/nsPlaintextEditor.h => editor/libeditor/TextEditor.h
rename : editor/libeditor/nsPlaintextDataTransfer.cpp => editor/libeditor/TextEditorDataTransfer.cpp
2016-07-09 11:54:50 +09:00
Masayuki Nakano
f20dd4bac0 Bug 1260651 part.57 Move classes in nsHTMLObjectResizer.h into mozilla namespace and its file name should be HTMLEditorObjectResizerUtils.h r=mccr8
This patch renames:

ResizerSelectionListener -> mozilla::ResizerSelectionListener
ResizerMouseMotionListener -> mozilla::ResizerMouseMotionListener
DocumentResizeEventListener -> mozilla::DocumentResizeEventListener

And making the header file name HTMLEditorObjectResizerUtils.h because it doesn't define specific class related to its file name and should be clearer that it's related to HTMLEditor.

MozReview-Commit-ID: GOJyEwtFdJV

--HG--
rename : editor/libeditor/nsHTMLObjectResizer.h => editor/libeditor/HTMLEditorObjectResizerUtils.h
2016-07-07 19:49:07 +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
9e30876e77 Bug 1260651 part.55 Rename nsEditorEventListeners to mozilla::EditorEventListener (and their file names) r=mccr8
MozReview-Commit-ID: HqUUCZkaFTT

--HG--
rename : editor/libeditor/nsEditorEventListener.cpp => editor/libeditor/EditorEventListener.cpp
rename : editor/libeditor/nsEditorEventListener.h => editor/libeditor/EditorEventListener.h
2016-07-07 19:40:51 +09:00