searching for reviewer(smaug)
d9a704ef462353c6427f316faad23af8bd76832d: Bug 1530188 - Make nsChildView::GetEditorView() use eQueryContentState without flushing layout r=smaug a=pascalc
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 03 Apr 2019 10:27:13 +0000 - rev 526161
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530188 - Make nsChildView::GetEditorView() use eQueryContentState without flushing layout r=smaug a=pascalc `nsChildView::GetEditorView()` is called by `TextInputHandlerBase::GetWindowLevel()` which is called when Cocoa requests window level of focused widget. It currently gets widget including focused element (e.g., it may be in a XUL `<panel>`) with `eQueryTextContent` event. However, it requires only the widget (i.e., when a XUL `<panel>` has focused element, the widget for the panel). Therefore, it does not require to flush the layout. However, on macOS, `ContentEventHandler` always flushes layout even with `eQueryContentState` which does not require any layout information. Whether it requires flushing layout or not is considered with `WidgetQueryContentEvent::mNeedsToFlushLayout` but this is set to false only when `IMEContentObserver` notifies widget (and IME) of focus set. At this time, only on macOS, IME caches the layout information, for example, the character coordinates, but we don't have a way to update it. This is the reason why we always flush layout on macOS. Unfortunately, when a menu popup frame is created, widget for the popup is created synchronously. Then, Cocoa retrieves window level of the widget including focused element. But this is unsafe to flush the layout. So, we need to stop flushing layout in this case. Therefore, this patch moves the `#ifdef` from `TextEvents.h` to `IMEContentObserver.cpp`, then, makes `nsChildView::GetEditorView()` use `eQueryContentState` which is the simplest query content event, and finally, sets `mNeedsToFlushLayout` to `false`. Differential Revision: https://phabricator.services.mozilla.com/D25912
fceed60b10ce9ca9b022b73d769f6a070c859339: Bug 1516425 - Hold a strong reference to TabParent from nsFrameLoader and make TabParent cycle collected. r=smaug a=pascalc
Ryan Hunt <rhunt@eqrion.net> - Tue, 02 Apr 2019 10:35:51 -0400 - rev 526031
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1516425 - Hold a strong reference to TabParent from nsFrameLoader and make TabParent cycle collected. r=smaug a=pascalc Currently TabParent is refcounted, but nsFrameLoader hold a weak pointer. The pointer should be cleared out when the TabParent is destroyed, but that's a bit of a footgun and it's not obvious that we always do this correctly. Because TabParent holds a reference to a nsFrameLoader and the frame element (which contains a nsFrameLoader), I think this means we need to cycle collect TabParent.
78f43d6cbd56ffeff48ddeefb73f0ce7bf2010da: Bug 1533989 - Make InputEvent.data and InputEvent.dataTransfer not expose clipboard data if user disables clipboard events r=smaug a=pascalc
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 29 Mar 2019 16:08:11 +0000 - rev 525966
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1533989 - Make InputEvent.data and InputEvent.dataTransfer not expose clipboard data if user disables clipboard events r=smaug a=pascalc If user disables clipboard events, it means that they don't want to expose clipboard data to web apps even if web apps cannot handle "paste" operation. Therefore, they must not want to leak clipboard data with `InputEvent.data` and `InputEvent.dataTransfer`. This patch makes `InputEvent::GetData()` and `InputEvent::GetDataTransfer()` returns empty string or new `DataTransfer` object which has only empty string if: - They are called by content JS. - The event is a trusted event. - `inputType` value is `insertFromPaste` or `insertFromPasteAsQuotation`. The reason why we don't return null for both is, Input Events spec declares `data` or `dataTransfer` shouldn't be null in the `inputType` values. And the reason why we don't return empty `DataTransfer` is, web apps may expect at least one data is stored in non-null `dataTransfer` value. Differential Revision: https://phabricator.services.mozilla.com/D25350
985158cfb6950e416e0d4664e1aa9aad83c923ab: Bug 1539172 - Make nsContentUtils::DispatchInputEvent() notify content of valid state change of input element r=smaug a=pascalc
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 28 Mar 2019 23:40:18 +0000 - rev 525961
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1539172 - Make nsContentUtils::DispatchInputEvent() notify content of valid state change of input element r=smaug a=pascalc When `nsContentUtils::DispatchInputEvent()` dispatches `input` event, the editor's value was changed by somebody. In this case, it needs to update the valid state **and** notify to update the style. (Note that I'm not sure whether this is right approach.) Differential Revision: https://phabricator.services.mozilla.com/D25029
19cff61f4fed314bb596c9b82483d1bc88a246fd: Bug 1533293 - part 1: Create Selection::SetStartAndEnd() to set new range as far as faster r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 18 Mar 2019 01:50:59 +0000 - rev 525610
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1533293 - part 1: Create Selection::SetStartAndEnd() to set new range as far as faster r=smaug `Selection::Extend()` is too slow because: - it may create some `nsRange` instances. - it users `nsContentUtils::ComparePoints()` multiple times. Therefore, we can improve the performance if we can stop using it in some places. First, this patch creates `Selection::SetStartAndEnd()` and `Selection::SetStartAndEndInLimiter()` for internal use. They remove current ranges, reuse `nsRange` instance as far as possible and add new range which is set by their arguments. Then, this patch makes `Selection::SelectAllChildren()` stop using `Selection::Extend()`. At this time, this fixes a web-compat issue. `Selection::Expand()` cannot cross the selection limiter boundary when there is a limiter (e.g., when an editing host has focus). But we can now fix this with using the new internal API. Note that methods in editor shouldn't move selection to outside of active editing host. Therefore, this patch adds `Selection::SetStartAndEndInLimiter()` and `Selection::SetBaseAndExtentInLimiter()` for them. Differential Revision: https://phabricator.services.mozilla.com/D23459
fbfeb6efec16dc63340328ac30946c25d35aead8: Bug 1535438 - Remove Shadow DOM v0 APIs. r=smaug
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 16 Mar 2019 00:14:57 +0000 - rev 525358
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1535438 - Remove Shadow DOM v0 APIs. r=smaug Looks like these three APIs slipped through when shipping v1, but no other vendor supports them, so no reason to be here. I don't think there's any harm in letting the implementations keep living in DocumentOrShadowRoot, but let me know if you think otherwise and I'll move them to Document. Differential Revision: https://phabricator.services.mozilla.com/D23577
9e076e178370e309828ca0b2a598058df83848af: Bug 1532712 - Expose pause/resume observing methods on DocumentL10n. r=smaug
Zibi Braniecki <zbraniecki@mozilla.com> - Wed, 13 Mar 2019 00:24:41 +0000 - rev 525066
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1532712 - Expose pause/resume observing methods on DocumentL10n. r=smaug Differential Revision: https://phabricator.services.mozilla.com//D23244
ce3d863f85ac9a88695b12a7ae891600277d7ef2: Bug 1531811 - Part 1: Remove onremovestream from RTCPeerConnection. r=smaug,jib
Byron Campen [:bwc] <docfaraday@gmail.com> - Fri, 15 Mar 2019 14:22:02 +0000 - rev 525044
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1531811 - Part 1: Remove onremovestream from RTCPeerConnection. r=smaug,jib Differential Revision: https://phabricator.services.mozilla.com/D23210
f8fa30e286ff96d6aaa2ef8febc35d9c224bdbd4: Bug 1531811 - Part 1: Remove onremovestream from RTCPeerConnection. r=smaug,jib
Byron Campen [:bwc] <docfaraday@gmail.com> - Wed, 13 Mar 2019 14:53:22 +0000 - rev 525031
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1531811 - Part 1: Remove onremovestream from RTCPeerConnection. r=smaug,jib Differential Revision: https://phabricator.services.mozilla.com/D23210
e5b9c443c421e5c77177584bfd60099b9b7212b5: Bug 1528695 - Part 1 : Use referrerInfo in openWindow, cpp file r=smaug
Thomas Nguyen <tnguyen@mozilla.com> - Fri, 15 Mar 2019 05:11:43 +0000 - rev 525013
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1528695 - Part 1 : Use referrerInfo in openWindow, cpp file r=smaug Differential Revision: https://phabricator.services.mozilla.com/D21910
9d33ee85f2d4e5f45d6c795c2be3c27ec31f2bae: Bug 1488991: Update remote browser position before showing context menu. r=pbro,smaug
Daisuke Akatsuka <dakatsuka@mozilla.com> - Fri, 15 Mar 2019 00:09:20 +0000 - rev 524989
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1488991: Update remote browser position before showing context menu. r=pbro,smaug The position of remote browser was not updated by resizing the window and changing the align of viewport etc, although will be updated when the window moves, the frame reflows and so on. Thus, in this patch, update the position of remote browser before showing context menu so as to locates at proper position. I investigated though, when reflow and moving happens, the position is updated by TabParent::UpdateDimensions()[1]. This patch as well is taking an approach which update the position explicitly by TabParent::UpdateDimensions() before showing context menu. [1] https://searchfox.org/mozilla-central/source/dom/ipc/TabParent.cpp#729 Differential Revision: https://phabricator.services.mozilla.com/D23470
5398aeeb552c26d1433f4219619c1930f49f0577: Bug 1535297 - Remove some unnecessary namespace qualification in Document.h r=smaug
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 14 Mar 2019 14:44:52 +0000 - rev 524892
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1535297 - Remove some unnecessary namespace qualification in Document.h r=smaug Only kept the ones needed to not conflict with method names. Differential Revision: https://phabricator.services.mozilla.com/D23486
99cde26aca85a66f102dfbc618d475b78dcf3d1c: Bug 1535297 - Remove some unnecessary namespace qualification in Document.h r=smaug
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 14 Mar 2019 14:44:52 +0000 - rev 524879
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1535297 - Remove some unnecessary namespace qualification in Document.h r=smaug Only kept the ones needed to not conflict with method names. Differential Revision: https://phabricator.services.mozilla.com/D23486
92d9228ac82d8ae5d30af464014d4e037917b578: Bug 1514940 - part 2: Add telemetry probe to decide when we can remove the hack for Confluence data-review=liuche, r=smaug,janerik
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 14 Mar 2019 05:39:38 +0000 - rev 524836
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1514940 - part 2: Add telemetry probe to decide when we can remove the hack for Confluence data-review=liuche, r=smaug,janerik We need to collect how many Confluence instances are loaded and how percentage of that is old versions which require split keypress event model. Differential Revision: https://phabricator.services.mozilla.com/D17908
4839370992776387e26b8115a73e311574efe7c3: Bug 1531084 - Part 2: Update webidl to have a default value for selector, according to spec. r=smaug
Byron Campen [:bwc] <docfaraday@gmail.com> - Tue, 12 Mar 2019 00:02:40 +0000 - rev 524786
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1531084 - Part 2: Update webidl to have a default value for selector, according to spec. r=smaug Depends on D23053 Differential Revision: https://phabricator.services.mozilla.com/D23054
a4d1dd58552d02854ce438e11dc4c97ec885f166: Bug 1534914 - Improve blocked cursor behavior to fall back to next image. r=smaug
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 13 Mar 2019 18:38:09 +0000 - rev 524756
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1534914 - Improve blocked cursor behavior to fall back to next image. r=smaug Right now we just block the image returned from nsIFrame::GetCursor, which is the first loading cursor image. I think we should do the same we do when the image fails to load, which is to fall back to the next image instead. This patch moves all the custom cursor code selection logic to EventStateManager, and lets the frame return a CursorKind and whether custom images are allowed. Differential Revision: https://phabricator.services.mozilla.com/D23289
5fb5272aec8ea6c5018441e7e9b5ba1e7e890203: Bug 1532712 - Expose pause/resume observing methods on DocumentL10n. r=smaug
Zibi Braniecki <zbraniecki@mozilla.com> - Wed, 13 Mar 2019 16:39:41 +0000 - rev 524728
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1532712 - Expose pause/resume observing methods on DocumentL10n. r=smaug Differential Revision: https://phabricator.services.mozilla.com/D23244
4be0480f48d3bede45eb0f18479dc7cd2d686aa8: Bug 1466208 - part 45: Rename `aFrame` of `HandleEvent()` to `aFrameForPresShell` r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 13 Mar 2019 10:32:36 +0000 - rev 524696
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 45: Rename `aFrame` of `HandleEvent()` to `aFrameForPresShell` r=smaug Now, other methods taking `aFrame` of `HandleEvent()` names the argument as `aFrameForPresShell`. So, `HandleEvent()`'s `aFrame` should also be renamed. This patch renames it and adds MOZ_CAN_RUN_SCRIPT and comment to `nsIPresShell::HandleEvent()`. This is the final patch for bug 1466208. Differential Revision: https://phabricator.services.mozilla.com/D22463
3e9b5b700a9d49cce14b1636df6f2096876bb616: Bug 1534761 - Change maximum cursor size when intersecting UI to 32 pixels. r=smaug
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 12 Mar 2019 22:07:29 +0000 - rev 524612
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1534761 - Change maximum cursor size when intersecting UI to 32 pixels. r=smaug See bug 1445844 comment 28+ for context. Differential Revision: https://phabricator.services.mozilla.com/D23200
c1e7e2cb32cdd90af697743ce7dea3303a249977: Bug 1531156 - Part 2: Some code simplification that part 1 lets us do. r=smaug,jib
Byron Campen [:bwc] <docfaraday@gmail.com> - Mon, 11 Mar 2019 21:01:21 +0000 - rev 524517
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1531156 - Part 2: Some code simplification that part 1 lets us do. r=smaug,jib Differential Revision: https://phabricator.services.mozilla.com/D22209
88a92eb3865e6482155111c684ba56bf73612ee3: Bug 1466208 - part 44: Rename PresShell::EventHandler::HandleEventInternal() to HandleEventWithCurrentEventInfo() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 12 Mar 2019 04:25:13 +0000 - rev 524499
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 44: Rename PresShell::EventHandler::HandleEventInternal() to HandleEventWithCurrentEventInfo() r=smaug In my understanding, `PresShell::EventHandler::HandleEvent()` may redirect the event to another class or PresShell first. Otherwise, it computes event target and sets current event info of mPresShell to it. Then, calls `HandleEventInternal()` to dispatch the event. Then, `HandleEventInternal()` may handle the event before dispatch, and/or prepare to dispatch, then, finally dispatches the event and finalize the state of mPresShell and the event. Therefore, `HandleEventInternal()` actually handles the event, but the word, "internal" is not explicitly explain its different points from `HandleEvent()`. Therefore, I think that `HandleEventWithCurrentEventInfo()` is better name since `HandleEvent()` considers the current event info. Differential Revision: https://phabricator.services.mozilla.com/D22462
8620e56a5f3858391b42f51684ff735699895049: Bug 1466208 - part 43: Create PresShell::EventHandler::FinalizeHandlingEvent() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 11 Mar 2019 01:52:40 +0000 - rev 524446
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 43: Create PresShell::EventHandler::FinalizeHandlingEvent() r=smaug Finally, we should move the last switch statement in `HandleEventInternal()` to the new method. Then, `HandleEventInternal() does nothing complicated things by itself. Differential Revision: https://phabricator.services.mozilla.com/D22461
f0696ec9e92bb948060e8fac7c131637d31333a9: Bug 1534363. Annotate nsIDOMEventListener::HandleEvent as MOZ_CAN_RUN_SCRIPT. r=smaug
Boris Zbarsky <bzbarsky@mit.edu> - Mon, 11 Mar 2019 21:15:40 +0000 - rev 524432
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1534363. Annotate nsIDOMEventListener::HandleEvent as MOZ_CAN_RUN_SCRIPT. r=smaug Differential Revision: https://phabricator.services.mozilla.com/D23035
034dbb475f6dc7bb2f839a6ead75d4fd0abf8e2a: Bug 1490658: Support RTCIceCandidate.usernameFragment. r=mjf,smaug
Byron Campen [:bwc] <docfaraday@gmail.com> - Fri, 08 Mar 2019 15:24:27 +0000 - rev 524375
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1490658: Support RTCIceCandidate.usernameFragment. r=mjf,smaug Differential Revision: https://phabricator.services.mozilla.com/D21803
3a421f33761b6b852b6b18ee61fb8dc33f8e0d7f: Bug 1466208 - part 42: Clean up PresShell::EventHandler::DispatchEvent() with using early-return style r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 11 Mar 2019 01:52:17 +0000 - rev 524325
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 42: Clean up PresShell::EventHandler::DispatchEvent() with using early-return style r=smaug Differential Revision: https://phabricator.services.mozilla.com/D22460
2883b91c8f6f0fe8ecfc762787d0ebdb06beef75: Bug 1529900 - Columnpicker restore column order doesn't work anymore, r=smaug
Victor Porof <vporof@mozilla.com> - Tue, 05 Mar 2019 16:35:01 +0000 - rev 524304
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1529900 - Columnpicker restore column order doesn't work anymore, r=smaug Differential Revision: https://phabricator.services.mozilla.com/D22094
d9ed942f6b002499529e25bf7b31b118051fcc73: Bug 1466208 - part 41: Create PresShell::EventHandler::DispatchEvent() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Sat, 09 Mar 2019 23:39:16 +0000 - rev 524301
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 41: Create PresShell::EventHandler::DispatchEvent() r=smaug This is the part which actually handles the event. The new method should notify EventStateManager of dispatching event before and after that, and actually dispatch the event into the DOM. Differential Revision: https://phabricator.services.mozilla.com/D22459
f9482e1d252f37c9da57bb1e76e6d8ea6bb7c89b: Bug 1466208 - part 40: Create PresShell::EventHandler::PrepareToDispatchEvent() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Sat, 09 Mar 2019 23:38:38 +0000 - rev 524287
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 40: Create PresShell::EventHandler::PrepareToDispatchEvent() r=smaug For making `PresShell::EventHandler::HandleEventInternal()` easier to read, move the large switch statement for preparation into the new method. Differential Revision: https://phabricator.services.mozilla.com/D21341
199af6c43953e40303895707c3d38ca162ef6844: Bug 1466208 - part 39: Create PresShell::EventHandler::MaybeHandleKeyboardEventBeforeDispatch() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 08 Mar 2019 12:46:17 +0000 - rev 524269
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 39: Create PresShell::EventHandler::MaybeHandleKeyboardEventBeforeDispatch() r=smaug `PresShell::EventHandler::HandleEventInternal()` may handle `Escape` key before dispatching it in some cases. This requires too many lines for somebody who investigate the method for the other events. Therefore, this patch moves it into the new method. Additionally, this patch creates `WidgetKeyboardEvent::CanTreatAsUserInput()` and `WidgetKeyboardEvent::ShouldInteractionTimeRecorded()` because we should manage similar checks in one place (we already have `WidgetKeyboardEvent::CanUserGestureActivateTarget()`). Finally, their conditions are not enough for what the comment wants to do there since they do not check some modifier keys. Therefore, this patch makes them check all possible modifier keys too. Differential Revision: https://phabricator.services.mozilla.com/D21340
e0c39e6d8d2c77b51118d388515c37628277f2a6: Bug 1466208 - part 38: Create PresShell::EventHandler::PrepareToDispatchContextMenuEvent() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 08 Mar 2019 23:41:30 +0000 - rev 524264
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 38: Create PresShell::EventHandler::PrepareToDispatchContextMenuEvent() r=smaug The first switch statement of `PresShell::EventHandler::HandleEventInternal()` has 2 jobs: - Prepare something for specific event type. - Record the preparation time of some types of events to telemetry. This intermixed code is not easy to understand and somebody may add new preparation after recording them. So, even though the preparation time becomes worse a couple of nanoseconds, we should split those jobs. The patch moves the latter job into the new method. Differential Revision: https://phabricator.services.mozilla.com/D21339
e5e798d73ac60837904e9e84753be4173c3a0924: Bug 1466208 - part 37: Move trusted eMouseMove event preparation into the previous switch-case block r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 08 Mar 2019 23:37:34 +0000 - rev 524226
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 37: Move trusted eMouseMove event preparation into the previous switch-case block r=smaug Oddly, there are two trusted eMouseMove preparation code in `PresShell::EventHandler::HandleEventInternal()`. One is in the `switch` statement which is used only when `aEvent` is trusted. The other is after `TouchManager::PreHandleEvent()` is called and after `AutoHandlingUserInputStatePusher` is created. However, both of them do nothing if the event is `eMouseMove`. Therefore, we can move the latter into the former. Differential Revision: https://phabricator.services.mozilla.com/D21338
f996bb0f3d232ad13c8d9f87ecbe9baa868ebac2: Bug 1527977 - Share XUL prototype cache with XUL and XHTML. r=smaug
Brendan Dahl <bdahl@mozilla.com> - Sat, 09 Mar 2019 01:00:23 +0000 - rev 524221
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1527977 - Share XUL prototype cache with XUL and XHTML. r=smaug Create a new parser (PrototypeDocumentParser) and content sink (PrototypeDocumentContentSink) that can be used by both XUL and XHTML. The new parser moves the code from XULDocument that handles creating and loading a nsXULPrototypeDocument from either the cache or the source file. Once the parser has finished loading the prototype it notifies the content sink. The parser is largely a stub and would be better suited for use as a nsBaseParser, but nsHTMLDocument unfortunately needs an nsIParser. The new content sink has the XULDocument code responsible for the prototype traversal that creates the DOM (XULDocument::ResumeWalk and friends) and fires off various events. To unify XUL and XHTML, the XHTML readystate event sequence is used in XUL. However, the layout path of XHTML loaded from the prototype cache more closely follows XUL, where frame initializers and layout don't start until the entire DOM is built. Differential Revision: https://phabricator.services.mozilla.com/D21236
525dd00d5636fb4bae03be8b401bbc7ef668d4ac: Bug 1466208 - part 36: Create PresShell::EventHandler::PrepareToDispatchContextMenuEvent() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 28 Feb 2019 10:33:52 +0000 - rev 524008
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 36: Create PresShell::EventHandler::PrepareToDispatchContextMenuEvent() r=smaug If `Shift` state of `eContextMenu` event is active, we make it not fired on web content. Additionally, if it's not time to open context menu, we shouldn't dispatch it into the DOM. The new method prepare and check them. Differential Revision: https://phabricator.services.mozilla.com/D21337
22b988a39a32a7dc02051aff5426bb02ad0b751c: Bug 1466208 - part 35: Reduce one indent level in PresShell::EventHandler::HandleEventInternal() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 07 Mar 2019 06:30:36 +0000 - rev 523958
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 35: Reduce one indent level in PresShell::EventHandler::HandleEventInternal() r=smaug If `aEvent` requires frame but there is no event target, `PresShell::EventHandler::HandleEventInternal()` just records the response time. So, we can reduce one indent level in the big method. Note that I'm not sure recording the response time in such case because the *good* values may make the average and median better. But this is out of scope of bug 1466208. Differential Revision: https://phabricator.services.mozilla.com/D21336
6ce854f480d62475419081de730a80166d4946f4: Bug 1517546 - Enable dyanmic module import by default r=smaug
Jon Coppeard <jcoppeard@mozilla.com> - Wed, 06 Mar 2019 17:20:24 +0000 - rev 523797
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1517546 - Enable dyanmic module import by default r=smaug
f10044217e8f15b664ad4077f663adb5d462abf0: Bug 1466208 - part 34: Create a helper class, PresShell::EventHandler::HandlingTimeAccumulator() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 07 Mar 2019 06:30:08 +0000 - rev 523739
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 34: Create a helper class, PresShell::EventHandler::HandlingTimeAccumulator() r=smaug `PresShell::EventHandler::HandleEventInternal()` needs to accumulate event handling time per each event type. The handling start time needs to be recorded before sending EventStateManager. Therefore, this patch makes the helper class which is a stack class, records current time at construction and calls `Telemetry::AccumulateTimeDelta()` at destruction automatically. Differential Revision: https://phabricator.services.mozilla.com/D21335
5ad056528954bd501ceedf8d69c1e2554a924664: Bug 1466208 - part 33: Create PresShell::EventHandler::RecordEventHandlingResponsePerformance() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 06 Mar 2019 06:03:54 +0000 - rev 523678
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 33: Create PresShell::EventHandler::RecordEventHandlingResponsePerformance() r=smaug `PresShell::EventHandler::HandleEventInternal()` recodes event handling response performance with telemetry after it dispatches the event. We can move it into new method simply. Differential Revision: https://phabricator.services.mozilla.com/D21334
a52bca8b0dd5027e116400b9dfa69a3d53ba8cb6: Bug 1466208 - part 32: Create PresShell::EventHandler::HandleEventAtFocusedContent() and PresShell::EventHandler::HandleEventWithFrameForPresShell() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 06 Mar 2019 06:03:31 +0000 - rev 523480
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 32: Create PresShell::EventHandler::HandleEventAtFocusedContent() and PresShell::EventHandler::HandleEventWithFrameForPresShell() r=smaug The remaining part of `PresShell::EventHandler::HandleEvent()` does: 1. Handles the event at focused content. 2. Handles the event with given frame which is a frame for `mPresShell`. For making them clearer, this patch moves them into new methods. Differential Revision: https://phabricator.services.mozilla.com/D21197
621207c8ef880bcee9a263fbf029fafd6a8364ea: Bug 1515716 - refactor the RTC RTP stats types to match spec r=jib,smaug
Nico Grunbaum <na-g@nostrum.com> - Wed, 06 Mar 2019 01:50:20 +0000 - rev 523439
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1515716 - refactor the RTC RTP stats types to match spec r=jib,smaug realigning the RTP stats types to match spec. This involves breaking out the remote dictionary types. This shouldn't create user space visible changes. Differential Revision: https://phabricator.services.mozilla.com/D20432
577a1e61f6d37c5cc402d9fd0fc1cb40a489c616: Bug 1532527 - Support "insertFromPasteAsQuotation" inputType value r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 05 Mar 2019 14:35:43 +0000 - rev 523417
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1532527 - Support "insertFromPasteAsQuotation" inputType value r=smaug Only Firefox has an operation to paste clipboard data as quoted text (Control + middle button paste). Input Events Level 1 and Level 2 declared new inputType value for this operation. Therefore, we should support it. Differential Revision: https://phabricator.services.mozilla.com/D22067
5b5c05af88e26abb051604aa0ff4256ce980f588: Bug 1466208 - part 31: Create a PresShell::EventHandler::MaybeHandleEventWithAnotherPresShell() overload r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 05 Mar 2019 06:09:02 +0000 - rev 523413
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 31: Create a PresShell::EventHandler::MaybeHandleEventWithAnotherPresShell() overload r=smaug If focused element is in another document, `PresShell::EventHandler::HandleEvent()` needs to retarget the event to another `PresShell`. This patch moves the case into new overload method, `MaybeHandleEventWithAnotherPresShell()`. Additionally, removes `PresShell::HandleRetargetedEvent()` and makes `EventHandler::HandleRetargetedEvent()` non-public because the new method is the only user of them. Differential Revision: https://phabricator.services.mozilla.com/D21196
28d928686e97f9d194b7794505d1a48008572e57: Bug 1532226 - Move observers registration for Fluent DOM to C++. r=smaug
Zibi Braniecki <zbraniecki@mozilla.com> - Tue, 05 Mar 2019 02:16:14 +0000 - rev 523209
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1532226 - Move observers registration for Fluent DOM to C++. r=smaug Differential Revision: https://phabricator.services.mozilla.com/D21898
29a17314e008b518935a689a125ff767b34752d5: Bug 1466208 - part 30: Create PresShell::EventHandler::AutoCurrentEventInfoSetter class r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 04 Mar 2019 06:12:22 +0000 - rev 523177
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 30: Create PresShell::EventHandler::AutoCurrentEventInfoSetter class r=smaug With splitting `HandleEvent()` a lot, it becomes more difficult to keep managing each set of calling `PushCurrentEventInfo()` and `PopCurrentEventInfo()`. So, `EventHandler` should have a helper class to push and pop current event info into/from the stack. Differential Revision: https://phabricator.services.mozilla.com/D21198
664b3bc4a44924722ff985840ac1041bd45f3e74: Bug 1466208 - part 29: Create PresShell::EventHandler::ComputeFocusedEventTargetElement() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 04 Mar 2019 06:11:41 +0000 - rev 523099
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 29: Create PresShell::EventHandler::ComputeFocusedEventTargetElement() r=smaug Most remaining code in `PresShell::EventHandler::HandleEvent()` is what computes event target of the event which should be handled on focused content. This patch moves the part to the new method. Additionally, moves `nsIPresShell::gKeyDownTarget` to `EventHandler::sLastKeyDownEventTargetElement` and make it use `StaticRefPtr`. Finally, for using `Element*` instead of `nsIContent*`, changes the result type of `Document::GetUnfocusedKeyEventTarget()` to `Element*`. Differential Revision: https://phabricator.services.mozilla.com/D21195
deb832a494bb9930a617fb08629f6f07bade9dab: Bug 1466208 - part 28: Make PresShell::EventHandler::HandleEvent() handle non-using-coordinates events without frame before with frame case r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Sat, 02 Mar 2019 20:35:21 +0000 - rev 523068
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 28: Make PresShell::EventHandler::HandleEvent() handle non-using-coordinates events without frame before with frame case r=smaug When the event is not handled with coordinates and there is no frame for `mPresShell`, `PresShell::EventHandler::HandleEvent()` handles the events simpler than the case there is a frame. Therefore, this patch moves the `else` block of `if (aFrame)` and reduce the indent of `if (aFrame)` case. Differential Revision: https://phabricator.services.mozilla.com/D21194
f05208c48b860a5fd4461e13a1eafc61832326b4: Bug 1466208 - part 27: Create PresShell::EventHandler::HandleEventUsingCoordinates() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Sat, 02 Mar 2019 00:03:01 +0000 - rev 523040
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 27: Create PresShell::EventHandler::HandleEventUsingCoordinates() r=smaug Now, the block in HandleEvent(), which handles event using coordinates is less than 200 lines. Perhaps, this is good amount to be split to a method. This patch just moves the block to a new method. Differential Revision: https://phabricator.services.mozilla.com/D21193
fe805cb52ee25ab4d3079dfbb98c010014094ed1: Bug 1530519 - Fix error handling in TransferableToIPCTransferable. r=smaug
Tom Schuster <evilpies@gmail.com> - Sat, 02 Mar 2019 12:42:56 +0000 - rev 523030
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1530519 - Fix error handling in TransferableToIPCTransferable. r=smaug Differential Revision: https://phabricator.services.mozilla.com/D21836
a6fd8376d3ec14c2fb5eacb4720d97813b0e28e9: Bug 1466208 - part 26: Create PresShell::EventHandler::EventTargetData::UpdateTouchEventTarget() r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Sat, 02 Mar 2019 00:02:10 +0000 - rev 523013
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1466208 - part 26: Create PresShell::EventHandler::EventTargetData::UpdateTouchEventTarget() r=smaug After dispatching pointer events, `PresShell::EventHandler::HandleEvent()` updates event target only when the event is a touch event. We should do it in a new method of `EventTargetData`. Although I don't know why this is done in `PresShell::EventHandler::DispatchPrecedingPointerEvent()`. Differential Revision: https://phabricator.services.mozilla.com/D21192
45807d96ca7f5378567115595b98db0d2f3cd0bc: Bug 1521964 - Add privileged HTMLVideoElement.cloneElementVisually WebIDL method. r=jya,Ehsan,smaug
Mike Conley <mconley@mozilla.com> - Fri, 01 Mar 2019 22:36:40 +0000 - rev 522919
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1521964 - Add privileged HTMLVideoElement.cloneElementVisually WebIDL method. r=jya,Ehsan,smaug Differential Revision: https://phabricator.services.mozilla.com/D20023
47629d4e3150e77e91201d93d5d9e8b7cda8f909: Bug 1485264 - Removed dom.event.highrestimestamp.enabled pref r=smaug
Josef Citrine <jcit@pm.me> - Fri, 01 Mar 2019 18:49:44 +0000 - rev 522860
Push 2032 by ffxbld-merge at Mon, 13 May 2019 09:36:57 +0000
Bug 1485264 - Removed dom.event.highrestimestamp.enabled pref r=smaug Differential Revision: https://phabricator.services.mozilla.com/D21580