gecko-dev/dom/events
Masayuki Nakano 61af94acbd Bug 1367683 Optimize initializing nsRange r=smaug
nsRange::DoSetRange() adds/remove its root to/from mutation observer, initializes common ancestor, registers itself to the common ancestor, unregisters itself from old common ancestor, and notifies selection listeners of selection change.

However, those runtime cost is expensive but on the other hand, a lot of callers set both start and end of the range and that causes calling DoSetRange() twice.

This patch renames Set() to SetStartAndEnd() for easier to understand the meaning and make it call DoSetRange() only once.

MozReview-Commit-ID: FRV55tuBAgg

--HG--
extra : rebase_source : 67adf929cf119e2425f7d3741651217522094590
2017-05-30 13:18:25 +09:00
..
crashtests Bug 1334831 - script-generated patch to use .remove() instead of .parentNode.removeChild, r=jaws. 2017-01-30 08:10:22 +01:00
test Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz 2017-05-21 17:15:00 +08:00
AnimationEvent.cpp Bug 1292063 - Part 1: Add Event.composed. r=smaug 2016-08-31 11:16:11 +08:00
AnimationEvent.h
AsyncEventDispatcher.cpp Bug 1364570 - Dispatch link prefetch events asynchronously to avoid DocGroup mismatches (r=bz) 2017-05-23 13:56:49 -07:00
AsyncEventDispatcher.h Bug 1364570 - Dispatch link prefetch events asynchronously to avoid DocGroup mismatches (r=bz) 2017-05-23 13:56:49 -07:00
BeforeUnloadEvent.cpp
BeforeUnloadEvent.h
ClipboardEvent.cpp Bug 1313943 - Legacy event initializers should all do nothing during dispatch; r=bkelly 2016-11-01 17:19:59 +02:00
ClipboardEvent.h
CommandEvent.cpp Bug 1313943 - Legacy event initializers should all do nothing during dispatch; r=bkelly 2016-11-01 17:19:59 +02:00
CommandEvent.h
CompositionEvent.cpp Bug 1333925 Make CompositionEvent::mRanges cycle collected r=smaug 2017-01-26 15:35:09 +09:00
CompositionEvent.h Bug 1333925 Make CompositionEvent::mRanges cycle collected r=smaug 2017-01-26 15:35:09 +09:00
ContentEventHandler.cpp Bug 1367683 Optimize initializing nsRange r=smaug 2017-05-30 13:18:25 +09:00
ContentEventHandler.h Bug 1304624 ContentEventHandler::GetFlatTextLengthInRange() shouldn't include a line break length caused by the end node's open tag when the given range ends before the open tag r=smaug 2016-09-29 14:04:15 +09:00
CustomEvent.cpp Bug 1313943 - Legacy event initializers should all do nothing during dispatch; r=bkelly 2016-11-01 17:19:59 +02:00
CustomEvent.h
DataTransfer.cpp Bug 1352281 - Include KIND_OTHER types in DataTransfer.types, r=baku 2017-04-17 14:57:25 -04:00
DataTransfer.h Bug 1327798 - Part 1. PasteNoFormatting shouldn't set text/html to clipboard event on paste. r=enndeakin 2017-02-22 18:34:45 +09:00
DataTransferItem.cpp Bug 1343760 - Label runnables in dom/events. f=bevistseng, r=smaug 2017-03-16 08:11:50 +08:00
DataTransferItem.h Bug 1342057 - Part 1: Use correct MIME type for files as DataTransferItem.type, r=baku 2017-03-07 18:18:42 -05:00
DataTransferItemList.cpp Bug 1342057 - Part 1: Use correct MIME type for files as DataTransferItem.type, r=baku 2017-03-07 18:18:42 -05:00
DataTransferItemList.h Bug 1308287 part 1. Change [NeedsSubjectPrincipal] to only do the Maybe thing for interfaces that can be exposed to workers. r=baku 2016-10-10 21:07:48 -04:00
DeviceMotionEvent.cpp Bug 1261894 - Update InitDeviceMotionEvent to handle high-res timestamps. r=smaug 2017-02-28 16:50:15 -06:00
DeviceMotionEvent.h Bug 1287006 - Don't pass Nullable by value in various places, rather by const&. r=bz 2017-02-13 09:07:40 -08:00
DOMEventTargetHelper.cpp Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan 2017-05-08 08:24:22 +02:00
DOMEventTargetHelper.h Bug 1354599 - Implement DOMEventTargetHelper::KeepAliveIfHasListenersFor, r=smaug 2017-04-18 13:51:27 +02:00
DragEvent.cpp Bug 1313943 - Legacy event initializers should all do nothing during dispatch; r=bkelly 2016-11-01 17:19:59 +02:00
DragEvent.h
Event.cpp Bug 1323076 - Part 2: EventDispatcher with flag checking for TaskTracer. r=smaug 2017-03-22 21:44:00 +01:00
Event.h Bug 1323076 - Part 2: EventDispatcher with flag checking for TaskTracer. r=smaug 2017-03-22 21:44:00 +01:00
EventDispatcher.cpp Bug 1251198 - Remove various obsolete events from document.createEvent r=smaug 2017-04-20 15:45:37 +03:00
EventDispatcher.h Bug 1251198 - Remove various obsolete events from document.createEvent r=smaug 2017-04-20 15:45:37 +03:00
EventListenerManager.cpp Bug 1269490 - Merge nsHtml5Atoms into nsGkAtoms. r=wchen 2017-04-20 11:47:02 +03:00
EventListenerManager.h Bug 1357880 - Add a telemetry probe for non-passive keyboard event listeners r=smaug, data-review=bsmedberg 2017-04-27 18:32:08 -04:00
EventListenerService.cpp Bug 1343760 - Label runnables in dom/events. f=bevistseng, r=smaug 2017-03-16 08:11:50 +08:00
EventListenerService.h
EventNameList.h Bug 1314388 - Remove SVGZoomEvent; r=longsonr,smaug 2017-04-04 15:36:22 +03:00
EventStateManager.cpp Bug 1360441 - Disable the IsHandlingUserInput timeout for execCommand(copy/cut) commands, r=ehsan 2017-05-18 16:51:48 -04:00
EventStateManager.h Bug 1360441 - Disable the IsHandlingUserInput timeout for execCommand(copy/cut) commands, r=ehsan 2017-05-18 16:51:48 -04:00
EventStates.h Bug 1361244 - Add an internal -moz-autofill-preview pseudo class for styling preview fields. r=heycam 2017-05-04 13:54:34 +08:00
EventTarget.cpp Bug 1357880 - Add a telemetry probe for non-passive keyboard event listeners r=smaug, data-review=bsmedberg 2017-04-27 18:32:08 -04:00
EventTarget.h Bug 1357880 - Add a telemetry probe for non-passive keyboard event listeners r=smaug, data-review=bsmedberg 2017-04-27 18:32:08 -04:00
FocusEvent.cpp Bug 1323815, FocusEvent.relatedTarget should work consistently with MouseEvent.relatedTarget, r=masayuki 2016-12-19 13:36:48 +02:00
FocusEvent.h Bug 1323815, FocusEvent.relatedTarget should work consistently with MouseEvent.relatedTarget, r=masayuki 2016-12-19 13:36:48 +02:00
ImageCaptureError.cpp
ImageCaptureError.h
IMEContentObserver.cpp Bug 1359547 EventStateManager should grab IMEContentObserver with local variable before calling HandleQueryContentEvent() r=smaug 2017-04-28 20:09:55 +09:00
IMEContentObserver.h Bug 1359547 EventStateManager should grab IMEContentObserver with local variable before calling HandleQueryContentEvent() r=smaug 2017-04-28 20:09:55 +09:00
IMEStateManager.cpp Bug 1342552 - IMEStateManager should cache nsIWidget for sPresContext and use it. r=smaug 2017-04-20 13:43:50 +09:00
IMEStateManager.h Bug 1342552 - IMEStateManager should cache nsIWidget for sPresContext and use it. r=smaug 2017-04-20 13:43:50 +09:00
InputEvent.cpp Bug 1292063 - Part 1: Add Event.composed. r=smaug 2016-08-31 11:16:11 +08:00
InputEvent.h
InternalMutationEvent.h
JSEventHandler.cpp Bug 1345996. Change event handler invocation to only do the "true return cancels" for onerror handlers handed ErrorEvents, and only on globals. r=smaug 2017-03-10 23:53:09 -05:00
JSEventHandler.h
KeyboardEvent.cpp Bug 1322736 part.2 Remove "after keydown" and "after keyup" events r=smaug 2016-12-16 16:01:51 +09:00
KeyboardEvent.h
KeyNameList.h Bug 1274503 part.0 Move "MediaFastForward" to "Media Keys" section for keeping same order with the spec r=smaug 2016-11-03 22:01:10 +09:00
MessageEvent.cpp Bug 1311324 P2 Replace usage of ServiceWorkerMessageEvent with MessageEvent. r=bz 2017-03-09 20:50:13 -05:00
MessageEvent.h Bug 1311324 P2 Replace usage of ServiceWorkerMessageEvent with MessageEvent. r=bz 2017-03-09 20:50:13 -05:00
MouseEvent.cpp Bug 1339758, click() and similar can return 0 from various coordinate properties, r=masayuki 2017-03-23 12:57:44 +02:00
MouseEvent.h Bug 1317759. Remove LegacyIsCallerChromeOrNativeCode use in Event::GetScreenCoords in favor or caller type checks at the entrypoints where we really care about pretending that our screen is client-area sized. r=smaug 2016-11-16 14:10:22 -05:00
MouseScrollEvent.cpp Bug 1313943 - Legacy event initializers should all do nothing during dispatch; r=bkelly 2016-11-01 17:19:59 +02:00
MouseScrollEvent.h
moz.build Bug 1251198 - Remove various obsolete events from document.createEvent r=smaug 2017-04-20 15:45:37 +03:00
MutationEvent.cpp Bug 1313943 - Legacy event initializers should all do nothing during dispatch; r=bkelly 2016-11-01 17:19:59 +02:00
MutationEvent.h
NotifyPaintEvent.cpp Bug 1302071 - Part 3: Remove flags parameter to NotifyInvalidation since it's unused. r=tnikkel 2017-02-17 11:50:58 +13:00
NotifyPaintEvent.h Bug 1302071 - Part 3: Remove flags parameter to NotifyInvalidation since it's unused. r=tnikkel 2017-02-17 11:50:58 +13:00
nsIEventListenerService.idl Bug 1292063 - Part 2: Add composed argument to getEventTargetChainFor and refine test cases. r=smaug 2016-09-13 17:29:08 +08:00
PaintRequest.cpp Bug 1302071 - Part 3: Remove flags parameter to NotifyInvalidation since it's unused. r=tnikkel 2017-02-17 11:50:58 +13:00
PaintRequest.h Bug 1302071 - Part 3: Remove flags parameter to NotifyInvalidation since it's unused. r=tnikkel 2017-02-17 11:50:58 +13:00
PhysicalKeyCodeNameList.h
PointerEvent.cpp Bug 1292064 - [Pointer Event] Add digitizer/pen tangential (barrel) pressure and twist. r=smaug 2017-02-09 10:49:00 +08:00
PointerEvent.h Bug 1292064 - [Pointer Event] Add digitizer/pen tangential (barrel) pressure and twist. r=smaug 2017-02-09 10:49:00 +08:00
ScrollAreaEvent.cpp Bug 1333927 Make ScrollAreaEvent::mClientArea cycle collected r=smaug 2017-01-27 15:57:38 +09:00
ScrollAreaEvent.h Bug 1333927 Make ScrollAreaEvent::mClientArea cycle collected r=smaug 2017-01-27 15:57:38 +09:00
SimpleGestureEvent.cpp Bug 1313943 - Legacy event initializers should all do nothing during dispatch; r=bkelly 2016-11-01 17:19:59 +02:00
SimpleGestureEvent.h
SpeechRecognitionError.cpp Bug 1292063 - Part 1: Add Event.composed. r=smaug 2016-08-31 11:16:11 +08:00
SpeechRecognitionError.h
StorageEvent.cpp Bug 1322550 - Rename DOMStorage to Storage, r=smaug 2017-01-04 14:53:01 +01:00
StorageEvent.h Bug 1285898 - [e10s-multi] Localstorage "storage" event is not fired with multiple content processes. r=asuth 2017-02-19 22:16:48 -05:00
TextClause.cpp
TextClause.h
TextComposition.cpp Bug 1339331 TextEventDispatcher should replace \r in composition string with \n and TextComposition should allow to input \n with composition events r=m_kato 2017-03-16 16:26:43 +09:00
TextComposition.h
Touch.cpp Bug 1324035 part 4. Change nsContentUtils::ResistFingerprinting to just take a dom::CallerType instead of having all its consumers check it. r=qdot 2016-12-17 00:25:52 -05:00
Touch.h Bug 1317759. Remove LegacyIsCallerChromeOrNativeCode use in Event::GetScreenCoords in favor or caller type checks at the entrypoints where we really care about pretending that our screen is client-area sized. r=smaug 2016-11-16 14:10:22 -05:00
TouchEvent.cpp Bug 1357872, nsPresContext is refcounted, so use it so, r=kats 2017-04-25 00:38:33 +03:00
TouchEvent.h
TransitionEvent.cpp Bug 1292063 - Part 1: Add Event.composed. r=smaug 2016-08-31 11:16:11 +08:00
TransitionEvent.h
UIEvent.cpp Bug 1339758, click() and similar can return 0 from various coordinate properties, r=masayuki 2017-03-23 12:57:44 +02:00
UIEvent.h Bug 1347073 Get rid of UIEvent.isChar since it's not initialized properly on most platforms and the other browsers don't support this r=smaug 2017-03-14 18:29:39 +09:00
VirtualKeyCodeList.h Bug 1297013 part.2 Implement some helper methods to log constants related to event handling r=smaug 2016-09-15 00:48:47 +09:00
WheelEvent.cpp Bug 1313943 - Legacy event initializers should all do nothing during dispatch; r=bkelly 2016-11-01 17:19:59 +02:00
WheelEvent.h
WheelHandlingHelper.cpp Bug 1358758 - Use CSSIntRect for nsIFrame::GetScreenRect. r=kats 2017-04-25 07:33:13 +09:00
WheelHandlingHelper.h Bug 1358758 - Use CSSIntRect for nsIFrame::GetScreenRect. r=kats 2017-04-25 07:33:13 +09:00
XULCommandEvent.cpp Bug 1313943 - Legacy event initializers should all do nothing during dispatch; r=bkelly 2016-11-01 17:19:59 +02:00
XULCommandEvent.h