Commit Graph

722 Commits

Author SHA1 Message Date
Masayuki Nakano
400a8761f1 Bug 1278014 part.6 Rename SelectionType::SELECTION_SPELLCHECK to SelectionType::eSpellCheck r=smaug
MozReview-Commit-ID: 4n2jEVax37O
2016-06-09 18:37:36 +09:00
Masayuki Nakano
09b74b02de Bug 1278014 part.5 Rename SelectionType::SELECTION_NORMAL to SelectionType::eNormal r=smaug
MozReview-Commit-ID: AAdxTTKEvrk
2016-06-09 18:35:22 +09:00
Masayuki Nakano
ad13c60b69 Bug 1278014 part.4 Rename SelectionType::SELECTION_NONE to SelectionType::eNone r=smaug
MozReview-Commit-ID: BRfzs8sColP
2016-06-09 18:07:18 +09:00
Masayuki Nakano
4e5926428a Bug 1278014 part.3 Define 2 constants for number of SelectionType and number of SelectionType except "none" r=smaug
This patch defines two constants kSelectionTypeCount and kPresentSelectionTypeCount.  The former is same as nsISelectionController::NUM_SELECTIONTYPES.  The latter is kSelectionTypeCount - 1 for excluding SELECTION_NONE.  The latter is useful in some loops which handle all selection types except SELECTION_NONE.

Note that this patch fixes a bug of nsFrameSelection.  That doesn't treat SELECTION_NONE as a selection (see the definition of index), however, it defines redundant item and doesn't use it actually.  Additionally, it computes invalid selection type in each loop.  Therefore, without this patch, debug build hits MOZ_ASSERT() in ToSelectionType(RawSelectionType).

Note that these constants are defined as anonymous enum because we cannot define as const (or static) even with extern.  If we'd try to do it, it caused link error or not available in nsFrameSelection.cpp as constant value since they were not initialized if they were initialized in nsSelection.cpp.  Therefore, these constants are defined as enum items but using "k" prefix.

MozReview-Commit-ID: H6sH7NBEXlE
2016-06-11 11:12:26 +09:00
Masayuki Nakano
4b3d1e8406 Bug 1278014 part.2 Define mozilla::SelectionType as an enum class and use it instead of RawSelectionType as far as possible r=smaug
This patch defines mozilla::SelectionType as an enum class.  This is safer than nsISelectionController::SELECTION_* since setting illegal value to its variable is checked at build time.  So, as far as possible, this should be used everywhere (but of course, this isn't available in scriptable interfaces).

And also this implements some useful methods for managing SelectionType and RawSelectionType which are implemented in layout/nsSelection.cpp because nsISelectionController is implemented by both PresShell and nsTextEditorState.  Therefore, implementing one of them may make hard to find them.  On the other hand, nsSelection.cpp is a better file name to look for them.

Note that this patch creates mozilla::Selection::RawType() for binding.  Native code should keep using Selection::Type() but the binding code needs to use RawType() due to impossible to convert from SelectionType to RawSelectionType without explicit cast.

MozReview-Commit-ID: 81vX7A0hHQN
2016-06-11 11:06:37 +09:00
Masayuki Nakano
71befe7dcf Bug 1278014 part.1 Rename SelectionType in nsISelectionController.idl to mozilla::RawSelectionType r=smaug
mozilla::SelectionType will be an enum class. Therefore, we need to rename SelectionType with a word "raw" since it's a type for raw nsISelectionController::SELECTION_*.

MozReview-Commit-ID: K8SO0bbpv0Y
2016-06-07 22:42:06 +09:00
Jet Villegas
da67789a60 Bug 1268736: An editable table cell means that both the cell and its contents are children of an editable node. r=mats 2016-06-04 03:23:56 -07:00
a98446d54a Bug 1263288 - Make GetFrameForNodeOffset return a sibling frame for frameless content. r=mats
This fixes missing caret problems.

Also changed GetFrameForNodeOffset to be non recursive to prevent possibly of
large stack frame.
2016-05-11 15:28:45 -06:00
Masayuki Nakano
94e8c148d6 Bug 1259661 part.9 Rename WidgetMouseEvent::clickCount to WidgetMouseEvent::mClickCount r=smaug
MozReview-Commit-ID: 5tC8UqcfLek
2016-05-10 23:29:14 +09:00
Mats Palmgren
453d0a6863 Bug 623432 part 1 - When the target scroll point is at the screen edge and no scrolling occured, then try to scroll 10px in that direction anyway. r=tn 2016-04-26 14:43:55 +02:00
Xidorn Quan
4912a1a884 Bug 1097499 part 6 - Inherit move direction from parent for horizontal-in-vertical text. r=jfkthame
MozReview-Commit-ID: 28mBKQnYydp
2016-04-22 09:18:41 +10:00
Masayuki Nakano
4d73a7381d Bug 1259658 Rename WidgetInputEvent::modifiers to WidgetInputEvent::mModifiers r=smaug
MozReview-Commit-ID: 7avEiqKfaHA
2016-03-31 17:03:00 +09:00
Mats Palmgren
75b3b8e1b9 Bug 1259949 - Set the CARET_ASSOCIATE_AFTER hint also when we collapse just after a text node that ends with a significant newline. r=ehsan
nsCaret::GetFrameAndOffset may return a text frame also when aParentNode
is the container of a text node and aOffset is just after it.  In this
case we also want CARET_ASSOCIATE_AFTER if the text ends with
a significant newline.  (follow-up from bug 1258308)
2016-04-01 02:08:15 +02:00
Mats Palmgren
997ee2085e Bug 1258308 - Lookup the frame (continuation) associated with aParentNode/aOffset instead of assuming it's always the primary frame (follow-up from bug 1237236). r=ehsan 2016-03-22 22:49:57 +01:00
Mats Palmgren
c9141aff0a Bug 1237236 - When collapsing the selection to the end of textframe that ends in a significant newline then set mHint to CARET_ASSOCIATE_AFTER so that the caret is rendered at the start of the next line if any. r=ehsan 2016-03-17 17:27:56 +01:00
Jonathan Kew
e84a991577 Bug 1248128 - The fallback caret-move handling from bug 1153237 should be more selective to avoid undesired side-effects. r=roc 2016-02-17 12:05:10 +00:00
Botond Ballo
55ad80cc3b Bug 1238137 - Telemetry pings for main thread scrolling to bring the caret into view after moving it in response to keyboard input. r=ehsan 2016-02-03 20:36:24 -05:00
Botond Ballo
6e32604930 Bug 1238137 - Telemetry pings for main thread keyboard-driven scroll input methods. r=ehsan
Pings are sent in the implementations of the nsISelectionController methods
ScrollLine, ScrollPage, ScrollCharacter, and CompleteScroll. It is assumed
that these methods are triggered by keyboard input.

A small number of false positives can occur if these methods are called
in response to something other than keyboard input; this is considered
acceptable.
2016-02-03 19:51:03 -05:00
Jet Villegas
c22f778b30 Bug 974309: Fixes the IsEditable() logic for table cells. r=ehsan 2016-02-09 14:06:03 -08:00
Birunthan Mohanathas
bfee0fb40c Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda
d871b9515f Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
245cd6a02f Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Sylvestre Ledru
1f07806bda Bug 1218816 - Remove useless semicolons. Found by coccinelle. r=Ehsan 2016-01-22 16:58:49 +01:00
Jonathan Kew
3188952bf2 Bug 1153237 - nsFrameSelection::PhysicalMove should fall back to CompleteMove if an intra-line move fails to execute completely. r=roc 2016-01-04 12:33:45 +00:00
Ting-Yu Lin
c4c4aa42d2 Bug 1221459 - Remove TouchCaret and SelectionCarets. r=mtseng, r=roc
All the files modified are straightforward deletion except TouchManager
and ZoomConstraintsClient. I add some includes and wrap TouchManager by
mozilla namespace to fix build errors due to the removal of TouchCaret.
2015-12-22 14:14:12 +08:00
Nigel Babu
db46f1d573 Backed out changeset 9f30d3caa231 (bug 1221459) 2015-12-22 14:03:21 +05:30
Ting-Yu Lin
c4d155eb8e Bug 1221459 - Remove TouchCaret and SelectionCarets. r=mtseng,roc
All the files modified are straightforward deletion except TouchManager
and ZoomConstraintsClient. I add some includes and wrap TouchManager by
mozilla namespace to fix build errors due to the removal of TouchCaret.
2015-12-22 14:14:12 +08:00
Mark Capella
b60e4524b6 Bug 1215959 - (GeckoCaret2) Upgrade Core and AccessibleCaret, r=smaug 2015-12-01 15:25:06 -05:00
Chris Peterson
734bc9facd Bug 1224951 - Part 2: Fix -Wunreachable-code warnings in layout. r=dholbert
layout/base/nsCSSFrameConstructor.cpp:12067:12: warning: will never be executed [-Wunreachable-code]
layout/base/nsPresContext.cpp:2861:10: warning: will never be executed [-Wunreachable-code]
layout/generic/nsFrameSetFrame.cpp:730:11: warning: will never be executed [-Wunreachable-code]
layout/generic/nsFrameSetFrame.cpp:725:11: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:268:62: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:269:66: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:270:68: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:271:75: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:272:73: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:273:81: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:274:69: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:275:60: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:276:68: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:277:68: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:279:18: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:290:62: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:291:66: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:292:68: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:293:75: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:294:73: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:295:81: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:296:69: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:297:60: warning: will never be executed [-Wunreachable-code]
layout/generic/nsSelection.cpp:5657:7: warning: will never be executed [-Wunreachable-code]
layout/mathml/nsMathMLmrootFrame.cpp:405:5: warning: will never be executed [-Wunreachable-code]
2015-11-14 00:06:58 -08:00
Simon Montagu
432859415f Bug 1216096: restore previous RTL caret behaviour by backout of bug 1164963, bug 1177505, and bug 1180417. r=jfkthame 2015-11-10 04:42:23 -08:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Michael Layzell
c4f0a94756 Bug 1199288 - Rename mApplyUserSelectStyle to mUserInitiated, r=smaug 2015-09-23 23:28:36 -04:00
Ehsan Akhgari
162d97e4a2 Bug 1204291 - Null check the argument of AutoHideSelectionChanges::AutoHideSelectionChanges() 2015-09-12 22:58:46 -04:00
Michael Layzell
d617ec901c Bug 1196479 - Fire selectstart and selectionchange events on the input node when the selection in that editor changes. r=ehsan 2015-09-12 17:56:46 -04:00
Michael Layzell
96aa0b429b Bug 571294 - Part 1: Implement selection events behind the dom.select_events.enabled pref, r=smaug 2015-09-12 17:56:44 -04:00
Michael Layzell
a093510d49 Bug 1201190 - Part 3: Mark every consumer of GUARD_OBJECT as MOZ_RAII, r=ehsan 2015-09-12 16:53:33 -04:00
Masayuki Nakano
374fcf2d55 Bug 895274 part.5 Rename NS_EVENT_NULL to eVoidEvent r=smaug 2015-08-29 08:58:26 +09:00
Masayuki Nakano
d36f87a852 Bug 895274 part.3 Make the enum of event messages a named enum IGNORE IDL r=smaug 2015-08-26 21:56:59 +09:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Neil Deakin
19545a1a28 Bug 1132518, add a flag to nsIFrameTraversal to skip the popup checks, r=mats 2015-07-13 06:07:49 -04:00
Tim Taubert
59b839ab05 Bug 834830 - Add nsISelectionController.SELECTION_URLSTRIKEOUT to enable striking out parts of the URL in the URL bar r=roc 2015-07-08 15:45:21 +02:00
Ted Clancy
983dbf2ce8 Bug 1164693 - Part 1: Directional caret should point in caret direction in bidi paragraphs. r=smontagu 2015-06-05 21:44:54 -04:00
Ted Clancy
e4bda64c1f Bug 1067788 - Part 5: Fix for parts of test_bug496275.html. r=smontagu 2015-05-30 00:22:53 -04:00
Ted Clancy
82fca59b55 Bug 1067788 - Part 4: Update test_bug496275.html. Add setCaretBidiLevel method to Selection. r=smontagu r=ehsan 2015-05-22 00:37:16 -04:00
Ting-Yu Lin
a500be65d1 Bug 1110039 - Part 4 - Hook new classes into the system. r=roc
The necessary modifications are the same as SelectionCarets. For
convenience, Touch/SelectionCarets will be disabled whenever
AccessibleCaret preference is enabled.
2015-04-24 02:08:00 +02:00
Boris Zbarsky
789a3bf96e Bug 1157898 part 1. Make code of the form "return rv.ErrorCode();" where rv is an ErrorResult use StealNSResult instead. r=peterv
This patch was generated with the following command:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 's/return ([a-zA-Z0-9]+)\.ErrorCode\(\);/return \1.StealNSResult();/'
2015-04-27 09:18:51 -04:00
Mike Hommey
338d086ead Bug 1134920 - Use moz_xmalloc/moz_xrealloc/free instead of nsMemory::Alloc/Realloc/Free. r=nfroyd 2015-04-01 13:51:45 +09:00
Morris Tseng
cab26f8282 Bug 1140625 - Recursive call GetFrameForNodeOffset if text node has no frame. r=roc 2015-03-19 02:47:00 -04:00
Jeremy Chen
a1a44bbf77 Bug 1140625 - Part 1: Add recursive call in GetFrameForNodeOffset. r=roc 2015-03-24 01:15:00 -04:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00