gecko-dev/dom/events
Masayuki Nakano a1c3cc4ad1 Bug 1296217 ContentEventHandler::OnQueryTextRectArray() should apply CSS transform to each character or line breaker rect r=smaug
Currently, ContentEventHandler::OnQueryTextRectArray() is used only in e10s mode (at caching necessary character rects in ContentCacheInChild).  Therefore, this bug occurs only in e10s mode.

ContentEventHandler::OnQueryTextRectArray() applies CSS transform only to each frame rect.  Therefore, character rect's width and height are not applied.

This patch makes the loop apply CSS transform to each character or line breaker rect (i.e., each item of charRects).  Then, we need to rewrite the lastCharRect hack.  It stores the last charRect value for computing next line breaker rect if next line breaker is caused by a block level element or something, i.e., not caused by a <br> frame.  So, when brRect is computed with lastCharRect, the loop needs to apply CSS transform of the last text frame to the following brRect because it tries to compute a caret rect immediately after the last character.  For doing this, this patch adds lastFrame which stores the last frame for lastCharRect and set it to baseFrame.  Then, at applying CSS transform to each charRect, it can apply CSS transform of expected frame.

Similarly, when brRect is computed with last text frame, this patch looks for the last text frame from lastTextContent and use it as base frame to apply to CSS transform.

MozReview-Commit-ID: 5Yr2HMrooHd

--HG--
extra : rebase_source : fa643f442036d9167a1df3a4383b0802a1729a3e
2016-09-06 11:46:31 +09:00
..
crashtests Bug 938341 - Crashtest. 2015-11-24 20:04:04 +01:00
test Bug 1298255 - [Pointer Event] Update web-platform-test pointerevent_element_haspointercapture-manual.html. f=bevistseng r=smaug 2016-08-26 10:38:59 +08:00
AnimationEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
AnimationEvent.h
AsyncEventDispatcher.cpp Bug 1283617 - remove QI call when constructing AsyncEventDispatchers from WidgetEvents; r=baku 2016-07-05 18:49:06 -04:00
AsyncEventDispatcher.h Bug 1263311: Part 3 - s/nsCancelableRunnable/CancelableRunnable/g. r=froydnj 2016-04-11 11:40:06 -07:00
BeforeAfterKeyboardEvent.cpp Bug 1288736 - Add some missing rv.SuppressException(), r=smaug 2016-07-22 16:50:10 +02:00
BeforeAfterKeyboardEvent.h
BeforeUnloadEvent.cpp Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat 2015-10-18 01:24:48 -04:00
BeforeUnloadEvent.h
ClipboardEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
ClipboardEvent.h Bug 1224061: Make Event::InitEvent infallible. r=smaug 2015-11-13 08:09:42 +08:00
CommandEvent.cpp Bug 1259669 Rename WidgetCommandEvent::command to WidgetCommandEvent::mCommand r=masayuki 2016-05-12 13:28:31 +09:00
CommandEvent.h
CompositionEvent.cpp Bug 1275473 - Implement CompositionEvent.ranges. r=masayuki, r=smaug 2016-07-26 12:09:07 +02:00
CompositionEvent.h Bug 1275473 - Implement CompositionEvent.ranges. r=masayuki, r=smaug 2016-07-26 12:09:07 +02:00
ContentEventHandler.cpp Bug 1296217 ContentEventHandler::OnQueryTextRectArray() should apply CSS transform to each character or line breaker rect r=smaug 2016-09-06 11:46:31 +09:00
ContentEventHandler.h Bug 1286464 part.19 ContentEventHandler::OnQueryTextRect() should handle the case when queried range starts from the end of mRootContent r=smaug 2016-08-12 14:57:33 +09:00
CustomEvent.cpp Bug 1003432: Expose CustomEvent in Worker. r=smaug 2016-03-22 00:09:57 +08:00
CustomEvent.h Bug 1003432: Expose CustomEvent in Worker. r=smaug 2016-03-22 00:09:57 +08:00
DOMEventTargetHelper.cpp Bug 1293384 - Part 1: Rename snprintf_literal to SprintfLiteral. r=froydnj 2016-08-14 23:44:00 -07:00
DOMEventTargetHelper.h Bug 1282150 part 5. Kill off all the unused GetJSContextForEventHandlers cruft. r=bholley 2016-07-07 20:08:26 -04:00
DataContainerEvent.cpp Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
DataContainerEvent.h
DataTransfer.cpp Bug 1297186 - Correctly propagate principals when getting the files list in DataTransfer, r=enndeakin 2016-09-01 11:22:15 -04:00
DataTransfer.h Bug 1297186 - Correctly propagate principals when getting the files list in DataTransfer, r=enndeakin 2016-09-01 11:22:15 -04:00
DataTransferItem.cpp Bug 1297186 - Correctly propagate principals when getting the files list in DataTransfer, r=enndeakin 2016-09-01 11:22:15 -04:00
DataTransferItem.h Bug 1297186 - Correctly propagate principals when getting the files list in DataTransfer, r=enndeakin 2016-09-01 11:22:15 -04:00
DataTransferItemList.cpp Bug 1297186 - Correctly propagate principals when getting the files list in DataTransfer, r=enndeakin 2016-09-01 11:22:15 -04:00
DataTransferItemList.h Bug 1297186 - Correctly propagate principals when getting the files list in DataTransfer, r=enndeakin 2016-09-01 11:22:15 -04:00
DeviceMotionEvent.cpp Bug 1222098 - Devicemotion event timestamp should return values from Android sensor API and not Gecko. r:smaug 2016-04-04 12:22:59 -05:00
DeviceMotionEvent.h Bug 1222098 - Devicemotion event timestamp should return values from Android sensor API and not Gecko. r:smaug 2016-04-04 12:22:59 -05:00
DragEvent.cpp Bug 1297048 - remove useless null check in DragEvent::InitDragEvent. r=masayuki 2016-08-22 15:13:57 +03:00
DragEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Event.cpp Bug 1264291 - initEvent must unset the stop propagation flag; r=smaug 2016-08-18 16:37:26 +03:00
Event.h Bug 1288898 - Document::createEvent sometimes creates events with the initialized flag set, r=masayuki 2016-07-29 19:45:52 +03:00
EventDispatcher.cpp Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm. 2016-09-01 15:01:16 +10:00
EventDispatcher.h Bug 1259656 part.5 Rename WidgetEvent::target to WidgetEvent::mTarget r=smaug 2016-04-19 00:46:00 +09:00
EventListenerManager.cpp bug 1300129, Ensure devtools get the right event listener data, r=mccr8 2016-09-02 23:19:56 +03:00
EventListenerManager.h Bug 1287706 part 7 - Add support of AddEventListenerOptions.once. r=smaug 2016-07-28 12:00:06 +10:00
EventListenerService.cpp Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
EventListenerService.h Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat 2015-10-18 01:24:48 -04:00
EventNameList.h Backed out changeset c5cb27604f9f (bug 1206133) for timing out in notification tests of passwordmanager on Linux. r=backout 2016-08-18 19:58:44 +02:00
EventStateManager.cpp Bug 1258808 - Part 1: Passing PointerId (Gecko). r=smaug, f=btseng 2016-09-01 16:12:15 +08:00
EventStateManager.h Bug 1162050 - Remove draggesture and eLegacyDragDrop from comments in EventStateManager.cpp/.h. r=enn 2016-05-27 15:43:17 -04:00
EventStates.h Bug 1069015 - Restore code for :placeholder-shown pseudo-class. r=dbaron 2016-08-31 14:21:44 -04:00
EventTarget.cpp Bug 1261673: Handle wheel event when mouse cursor is hovered on a focused number input as increasing/decreasing it's value. r=smaug 2016-05-06 18:39:10 +08:00
EventTarget.h Bug 1261673: Handle wheel event when mouse cursor is hovered on a focused number input as increasing/decreasing it's value. r=smaug 2016-05-06 18:39:10 +08:00
FocusEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
FocusEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
IMEContentObserver.cpp Bug 1260651 part.59 Rename nsEditor to mozilla::EditorBase (and also their file names) r=mccr8 2016-07-08 13:10:13 +09:00
IMEContentObserver.h Bug 1282668 Get rid of nsIMEUpdatePreference::NOTIFY_SELECTION_CHANGE r=m_kato 2016-06-28 15:23:12 +09:00
IMEStateManager.cpp Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj 2016-08-24 14:47:04 +08:00
IMEStateManager.h Bug 1275918 part.2 Update TextComposition::mCompositionStartOffset when it's modified in the remote process r=m_kato 2016-06-14 21:06:34 +09:00
ImageCaptureError.cpp
ImageCaptureError.h
InputEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
InputEvent.h
InternalMutationEvent.h
JSEventHandler.cpp Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02:00
JSEventHandler.h summary: Bug 1231378 - part 5 - Fix uninitialized members of classes in dom/{workers,events,media,canvas}, r=smaug 2016-01-12 18:16:59 +00:00
KeyNameList.h Bug 1277234 - Rename key name VolumeUp to AudioVolumeUp. r=masayuki 2016-06-02 15:55:53 +02:00
KeyboardEvent.cpp Bug 1254755 part.4 Rename WidgetKeyboardEvent::location to WidgetKeyboardEvent::mLocation r=smaug 2016-05-12 18:17:22 +09:00
KeyboardEvent.h Bug 1110030 - part5 - Expose KeyboardEventInit dictionary. r=masayuki, r=smaug 2016-03-15 13:46:29 +08:00
MessageEvent.cpp Bug 1247679, part 3 - Replace NS_IMPL_CYCLE_COLLECTION_TRACE_JSVAL_MEMBER_CALLBACK with JS_MEMBER. r=smaug 2016-02-22 10:11:02 -08:00
MessageEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
MouseEvent.cpp Bug 1259661 part.9 Rename WidgetMouseEvent::clickCount to WidgetMouseEvent::mClickCount r=smaug 2016-05-10 23:29:14 +09:00
MouseEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
MouseScrollEvent.cpp Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug 2016-04-18 23:09:02 +09:00
MouseScrollEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
MutationEvent.cpp Bug 1260871 - Remove do_GetAtom() and rename NS_NewAtom() as NS_Atomize(). r=erahm. 2016-03-29 10:09:43 +11:00
MutationEvent.h
NotifyPaintEvent.cpp Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
NotifyPaintEvent.h Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
PaintRequest.cpp Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat 2015-10-18 01:24:48 -04:00
PaintRequest.h Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat 2015-10-18 01:24:48 -04:00
PhysicalKeyCodeNameList.h
PointerEvent.cpp Bug 1259665 part.3 Rename WidgetPointerEvent::isPrimary to mIsPrimary r=smaug 2016-08-03 17:34:53 +09:00
PointerEvent.h
ScrollAreaEvent.cpp Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
ScrollAreaEvent.h Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
SimpleGestureEvent.cpp Bug 1259667 - part5: rename WidgetSimpleGestureEvent.delta to mDelta. r=masayuki 2016-05-10 04:16:55 +09:00
SimpleGestureEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
SpeechRecognitionError.cpp Bug 1224061: Make Event::InitEvent infallible. r=smaug 2015-11-13 08:09:42 +08:00
SpeechRecognitionError.h Bug 1224061: Make Event::InitEvent infallible. r=smaug 2015-11-13 08:09:42 +08:00
StorageEvent.cpp Bug 1224061: Make Event::InitEvent infallible. r=smaug 2015-11-13 08:09:42 +08:00
StorageEvent.h Bug 1224061: Make Event::InitEvent infallible. r=smaug 2015-11-13 08:09:42 +08:00
TextClause.cpp Bug 1275473 - Implement CompositionEvent.ranges. r=masayuki, r=smaug 2016-07-26 12:09:07 +02:00
TextClause.h Bug 1275473 - Implement CompositionEvent.ranges. r=masayuki, r=smaug 2016-07-26 12:09:07 +02:00
TextComposition.cpp Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj 2016-08-24 14:47:04 +08:00
TextComposition.h Bug 1275918 part.2 Update TextComposition::mCompositionStartOffset when it's modified in the remote process r=m_kato 2016-06-14 21:06:34 +09:00
Touch.cpp Bug 1234656 - Add TouchEvent ctor, r=mbrubeck 2015-12-29 15:46:18 +02:00
Touch.h Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
TouchEvent.cpp Bug 970346 - Add a DocShell attribute to override the default touch event options to a tab. r=bz 2016-07-18 10:26:38 -04:00
TouchEvent.h Bug 970346 - Add a DocShell attribute to override the default touch event options to a tab. r=bz 2016-07-18 10:26:38 -04:00
TransitionEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
TransitionEvent.h
UIEvent.cpp Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
UIEvent.h Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
VirtualKeyCodeList.h
WheelEvent.cpp Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug 2016-04-18 23:09:02 +09:00
WheelEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
WheelHandlingHelper.cpp Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm. 2016-09-01 15:01:16 +10:00
WheelHandlingHelper.h Add APZ support for mousewheel.acceleration prefs. (bug 1214170 part 1, r=kats) 2015-12-01 13:45:49 -08:00
XULCommandEvent.cpp Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki 2016-03-28 13:29:42 +09:00
XULCommandEvent.h Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
moz.build Bug 1296277 - Move DataTransferItem.cpp and DataTransferItemList.cpp into UNIFIED_SOURCES, r=baku 2016-08-18 15:54:22 -04:00
nsIEventListenerService.idl