Commit Graph

722 Commits

Author SHA1 Message Date
Aryeh Gregor
1e9a824550 Bug 1359453 - Use standard exception for selection.removeRange() r=masayuki
The test change is already upstream:
https://github.com/w3c/web-platform-tests/pull/5686

The spec change has not officially been accepted yet as of this writing,
possibly delayed for IPR review:
https://github.com/w3c/selection-api/pull/87

MozReview-Commit-ID: 3auwvwP4X72
2017-04-26 15:50:36 +03:00
Aryeh Gregor
e129b8c3c7 Bug 1359371 - Update Selection.webidl to match spec r=smaug
Practical changes:

1) Some additional method arguments are nullable or optional, which
matches Chrome/WebKit.  They make more sense non-nullable and
non-optional, but Chrome is afraid of the compat impact of changing.

2) Added [CEReactions] to deleteFromDocument().

MozReview-Commit-ID: Kg9EDubnEui
2017-04-25 14:55:31 +03:00
Masayuki Nakano
1922827ae6 Bug 1343642 - Ensure to grab nsFrameSelection before calling its methods unless calling only const methods. r=smaug
MozReview-Commit-ID: 9GKujCcrhly
2017-04-06 13:11:52 +09:00
Mats Palmgren
6b4754e015 Bug 1343795 - Hold a strong ref on the Selection while calling ScrollIntoView with SCROLL_DO_FLUSH. r=smaug
MozReview-Commit-ID: 5C10dmT0bI9
2017-03-21 02:12:41 +01:00
Sebastian Hengst
068174612f Backed out changeset b4e95d147909 (bug 1343795) for bustage in layout/generic/nsSelection.cpp. r=backout 2017-03-20 23:41:44 +01:00
Mats Palmgren
504fe4ef23 Bug 1343795 - Hold a strong ref on the Selection while calling ScrollIntoView with SCROLL_DO_FLUSH. r=smaug 2017-03-20 18:21:00 -04:00
Jeremy Chen
e02473576d Bug 1348236 - label nsAutoScrollTimer for nsSelection. r=heycam
MozReview-Commit-ID: pUfQwRsecx
2017-03-19 00:40:30 +08:00
Jeremy Chen
c830dcdb24 Bug 1348236 - coding style fixes for nsAutoScrollTimer and its uses in nsSelection. r=heycam
MozReview-Commit-ID: GlfYK7NpTWX
2017-03-19 00:40:30 +08:00
Mats Palmgren
c0a3b4c9fd Bug 1348222 - Assign 'mScrollEvent' while 'ev' still has a non-null value. r=smaug
MozReview-Commit-ID: 3OsNlgHFEzM
2017-03-17 20:55:24 +01:00
Masayuki Nakano
d70ed52a47 Bug 1347809 Set Selection::mCalledByJS to false before moving focus in NotifySelectionListeners() because non-*JS() methods don't set it to false r=smaug
Currently, Selection::NotifySelectionListeners() moves focus before setting mCalledByJS to false.  Therefore, if moving focus causes some calls of internal Selection methods, it may cause moving focus due to mCalledByJS being still true.  So, mCalledByJS should be set to false before moving focus in NotifySelectionListeners().

MozReview-Commit-ID: F879bOmhZlv
2017-03-16 17:15:20 +09:00
Jeremy Chen
5b6d1ec526 Bug 1347820 - Label ScrollSelectionIntoViewEvent for nsSelection. r=heycam
Since GetParentObject has a chance returning nullptr, we keep the original
code path as a fallback.

MozReview-Commit-ID: LCJefr1ZH6t
2017-03-16 15:33:00 +08:00
Masayuki Nakano
5265265979 Bug 1318312 part.3 Selection should move focus at every selection change when it's called by JS r=smaug
Selection may be changed by methods of Selection or methods of Range retrieved by Selection.getRangeAt().  Selection::NotifySelectionListeners() is called after every selection change of each of them, so, this method must be a good point to move focus.

If new common ancestor of all ranges is editable and in an editing host, we should move focus to it.  Otherwise, if an editing host has focus but new common ancestor is not editable, we should move focus from the editing host.

For consistency with the other browsers, this patch doesn't move focus to other focusable element.

MozReview-Commit-ID: 6sNsuzwqECX
2017-03-14 10:36:21 +09:00
Masayuki Nakano
7852899ec4 Bug 1318312 part.2 Mark Selection as "called by JS" when every Selection API which may cause changing selection is called by JS r=smaug
Selection needs to be able to distinguish if every selection change is caused by JS (i.e., via Selection API) or the others.

This patch maps some methods of Range and Selection to *JS().  Each of them marks its instance as "used by JS" and calls corresponding method.

With this change, Selection::NotifySelectionListeners() can move focus only when it's caused by Selection API.

MozReview-Commit-ID: 1GoLHiIJ10Y
2017-03-10 16:55:12 +09:00
Mats Palmgren
7c43dcf986 Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn
MozReview-Commit-ID: 8pl4nyeGEkr
2017-03-01 18:03:14 +01:00
Mats Palmgren
1efd2a1407 Bug 1341137 part 2 - Provide a way to add ranges to Selection objects that aren't associated with a shell/nsFrameSelection. r=smaug 2017-02-25 11:33:34 +01:00
Mats Palmgren
71b20f4716 Bug 1341137 part 1 - Make Selection::addRange silently reject ranges that have a different root. r=smaug 2017-02-25 11:33:34 +01:00
Wes Kocher
bdadad6845 Backed out 3 changesets (bug 1341137) for wpt failures in addRange-00.html a=backout
Backed out changeset 343d11a33afe (bug 1341137)
Backed out changeset ac44e1e713e1 (bug 1341137)
Backed out changeset 6f32de880c77 (bug 1341137)

MozReview-Commit-ID: 26CQIfTXLRI
2017-02-24 16:28:17 -08:00
Mats Palmgren
9b1659cfc1 Bug 1341137 part 2 - Provide a way to add ranges to Selection objects that aren't associated with a shell/nsFrameSelection. r=smaug 2017-02-25 00:26:18 +01:00
Mats Palmgren
cbd6c17bd0 Bug 1341137 part 1 - Make Selection::addRange silently reject ranges that have a different root. r=smaug 2017-02-25 00:26:18 +01:00
Ting-Yu Lin
78ac3634da Bug 1332105 Part 2 - Make Selection::LookUpSelection() return UniquePtr. r=dholbert
Selection::LookUpSelection()'s only caller,
nsFrameSelection::LookUpSelection(), doesn't check the return value. Let's
make it return UniquePtr directly like nsFrameSelection::LookUpSelection().

Rename aReturnDetails to aDetailsHead so that its role is clearer.
aDetailsHead is of type UniquePtr<SelectionDetails> instead of
UniquePtr<SelectionDetails>&& because the caller always wants to transfer
the ownership of SelectionDetails into the function.

MozReview-Commit-ID: 89Y7X1LTKON
2017-01-20 23:28:02 +08:00
Ting-Yu Lin
19193f8928 Bug 1332105 Part 1 - Convert SelectionDetails and related functions to use UniquePtr. r=dholbert
For the non-owning pointer usage like iterating SelectionDetails's linked
list, it's sufficient to use SelectionDetails*.

MozReview-Commit-ID: 7PCFhD6Iz8j
2017-01-20 17:39:57 +08:00
Cameron McCormack
f89ddf5736 Bug 1329086 - Make Selection::ToString flush frames. r=bzbarsky
MozReview-Commit-ID: Au5taO6DYwi
2017-01-06 15:21:19 +08:00
Cameron McCormack
5f9911da79 Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
Olli Pettay
3898f7d882 Bug 1326507, remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS, r=mccr8 2017-01-03 21:47:55 +02:00
Mats Palmgren
22cc1252db Bug 1321623 - Implement DOM Selection.setBaseAndExtent(). r=smaug 2016-12-19 16:48:37 +01:00
Gerald Squelart
9a3fb4229e Bug 1316432 - Fix nsCOMPtr constructions&assignments from 0 - r=froydnj
Giving '0' (literal zero) to nsCOMPtr is now ambiguous, as both
nsCOMPtr(decltype(nullptr)) and nsCOMPtr(T*) could be used.
In any case, our coding standards mandate the use of 'nullptr' for pointers.
So I'm changing all zeroes into nullptr's where necessary.

MozReview-Commit-ID: LXiZTu87Ck6
2016-11-10 14:11:27 +11:00
Brad Werth
6c6d0f3e72 Bug 1314080 Part 1: Rename CollectClientRects method and add a new parameter for collecting text. r=smaug
MozReview-Commit-ID: KQPky6Fh8sG
2016-11-02 13:49:43 -07:00
Jorg K
82d11230ae Bug 1263357 - When the caret is placed after visible line break, associate caret with frame on the next line instead. r=mats 2016-10-14 14:21:00 -04:00
Ehsan Akhgari
11e582734a Bug 1309628 - Hide support for dispatching selection events on the contents of text controls behind a pref; r=mystor
This patch adds a pref to control whether we dispatch the selection
events for changes in the contents of input and textarea text controls.
The spec for this feature hasn't been written yet, and we need to exclude
this part of the selection API from the part we want to ship.
2016-10-13 16:52:07 -04:00
Michael Layzell
b5c9cc2cfa Bug 1231923 - Enable selection events for documents with the System Principal, r=ehsan
MozReview-Commit-ID: J9UoI9Pdu48
2016-10-13 13:07:17 -04:00
Jonathan Kew
7a3cd2abcc Bug 924851 - patch 1 - Move definition of nsBidiLevel/nsBidiDirection and frame bidi properties from nsBidi.h to nsIFrame.h, in preparation for removal of nsBidi. r=xidorn 2016-10-06 09:49:14 +01:00
Kartikaya Gupta
22a5098249 Bug 1300905 - When long-pressing on a selection, don't dismiss the selection and start a new one. Show the context menu instead. r=TYLin,mats
MozReview-Commit-ID: J0e9DqIDwnC
2016-09-30 09:36:10 -04:00
Michael Layzell
c987b38274 Bug 1018486 - Part 4: Changes in layout/, r=bz
MozReview-Commit-ID: BsaKGHsoqOq
2016-09-07 10:50:40 -04:00
Jimmy Wang
a6f36a03ee Bug 1261299 - Only update nsClipboard::sSelectionCache in nsSelection.cpp when the selection listener is on the same process as the focused window where the selection occured or became active. r=smaug
MozReview-Commit-ID: KARKdc8G0nI
2016-08-03 19:08:33 -04:00
Jimmy Wang
706e10af7d Bug 1261299 - Update the selection cache on repaint to handle when a pre-existing selection becomes active aka the current selection. r=smaug
MozReview-Commit-ID: HrTQnHd12rg
2016-07-27 16:05:37 -04:00
Jimmy Wang
54a377e8db Bug 1261299 - Add method nsCopySupport::ClearSelectionTransferable() to clear the nsClipboard::sSelectionTransferable when you have no content selection. r=mstange
MozReview-Commit-ID: AjUe94N0Iiw
2016-06-08 14:11:39 -04:00
Jimmy Wang
e5ffcbb8c8 Bug 1261299 - Add new clipboard kSelectionCache to cache the current selection for OSX service menu. Add a constructor to nsAutoCopyListener which sets the clipboard to copy to. Pass in kSelectionCache for OSX or kSelectionClipboard for linux. r=mstange
MozReview-Commit-ID: B9mzVnJxUjl
2016-06-03 12:04:22 -04: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
Xidorn Quan
e58ba38557 Bug 1281099 part 2 - Merge three bidi frame properties into one. r=jfkthame
MozReview-Commit-ID: CEJhM3c21KO
2016-06-21 17:53:10 +10:00
Xidorn Quan
e4b1698b6a Bug 1281099 part 1 - Convert some macros to functions to help later change. r=jfkthame
MozReview-Commit-ID: 2OS5eIsNAYN
2016-06-21 17:21:09 +10:00
Masayuki Nakano
df276e50d4 Bug 1185307 part.2 Replace upcast from nsISelection to mozilla::dom::Selection with nsISelection::AsSelection() r=smaug
MozReview-Commit-ID: Gs3oiAgJFG9
2016-06-17 22:32:49 +09:00
Astley Chen
ca13d10ee9 Bug 1277131 : Part 1 - rename nsTableOuterFrame to nsTableWrapperFrame. r=heycam
MozReview-Commit-ID: KrSHLbmovTM
2016-06-16 13:14:08 +01:00
Masayuki Nakano
35646e4494 Bug 1278014 part.14 Rename SelectionType::SELECTION_URLSTRIKEOUT to SelectionType::eURLStrikeout r=smaug
MozReview-Commit-ID: 7AqeDbHxGE2
2016-06-09 20:58:56 +09:00
Masayuki Nakano
fdeb61aef7 Bug 1278014 part.13 Rename SelectionType::SELECTION_URLSECONDARY to SelectionType::eURLSecondary r=smaug
MozReview-Commit-ID: C2IW7nqjEkD
2016-06-09 20:47:48 +09:00
Masayuki Nakano
322b23236c Bug 1278014 part.12 Rename SelectionType::SELECTION_FIND to SelectionType::eFind r=smaug
MozReview-Commit-ID: BZxBnCDBghi
2016-06-09 20:35:20 +09:00
Masayuki Nakano
7cd21418f1 Bug 1278014 part.11 Rename SelectionType::SELECTION_ACCESSIBILITY to SelectionType::eAccessibility r=smaug
MozReview-Commit-ID: 2nU4KQB5S7N
2016-06-09 20:32:36 +09:00
Masayuki Nakano
22e3897811 Bug 1278014 part.10 Rename SelectionType::SELECTION_IME_SELECTEDCONVERTEDTEXT to SelectionType::eIMESelectedClause r=smaug
MozReview-Commit-ID: 8v3mqcYorOI
2016-06-09 19:29:29 +09:00
Masayuki Nakano
89a66c2729 Bug 1278014 part.9 Rename SelectionType::SELECTION_IME_CONVERTEDTEXT to SelectionType::eIMEConvertedClause r=smaug
MozReview-Commit-ID: 5UNqhB2ZEcZ
2016-06-09 19:14:17 +09:00
Masayuki Nakano
2bd1f0507f Bug 1278014 part.8 Rename SelectionType::SELECTION_IME_SELECTEDRAWTEXT to SelectionType::eIMESelectedRawClause r=smaug
MozReview-Commit-ID: DgprOxg87K6
2016-06-09 19:03:40 +09:00
Masayuki Nakano
52d14e77bb Bug 1278014 part.7 Rename SelectionType::SELECTION_IME_RAWINPUT to SelectionType::eIMERawClause r=smaug
MozReview-Commit-ID: BRe10Lyx5mt
2016-06-09 18:51:49 +09:00