searching for reviewer(smaug)
d9a704ef4623: 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 523163
Push 11081 by apavel@mozilla.com at Sat, 13 Apr 2019 23:59:06 +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
fceed60b10ce: 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 523033
Push 11031 by archaeopteryx@coole-files.de at Mon, 08 Apr 2019 10:37:16 +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.
78f43d6cbd56: 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 522968
Push 11011 by dvarga@mozilla.com at Fri, 05 Apr 2019 19:03:02 +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
985158cfb695: 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 522963
Push 11011 by dvarga@mozilla.com at Fri, 05 Apr 2019 19:03:02 +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
19cff61f4fed: 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 522612
Push 10871 by cbrindusan@mozilla.com at Mon, 18 Mar 2019 15:49:32 +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
fbfeb6efec16: Bug 1535438 - Remove Shadow DOM v0 APIs. r=smaug
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 16 Mar 2019 00:14:57 +0000 - rev 522360
Push 10871 by cbrindusan@mozilla.com at Mon, 18 Mar 2019 15:49:32 +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
9e076e178370: 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 522068
Push 10871 by cbrindusan@mozilla.com at Mon, 18 Mar 2019 15:49:32 +0000
Bug 1532712 - Expose pause/resume observing methods on DocumentL10n. r=smaug Differential Revision: https://phabricator.services.mozilla.com//D23244
ce3d863f85ac: 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 522046
Push 10871 by cbrindusan@mozilla.com at Mon, 18 Mar 2019 15:49:32 +0000
Bug 1531811 - Part 1: Remove onremovestream from RTCPeerConnection. r=smaug,jib Differential Revision: https://phabricator.services.mozilla.com/D23210
f8fa30e286ff: 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 522033
Push 10871 by cbrindusan@mozilla.com at Mon, 18 Mar 2019 15:49:32 +0000
Bug 1531811 - Part 1: Remove onremovestream from RTCPeerConnection. r=smaug,jib Differential Revision: https://phabricator.services.mozilla.com/D23210
e5b9c443c421: 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 522015
Push 10870 by nbeleuzu@mozilla.com at Fri, 15 Mar 2019 20:00:07 +0000
Bug 1528695 - Part 1 : Use referrerInfo in openWindow, cpp file r=smaug Differential Revision: https://phabricator.services.mozilla.com/D21910
9d33ee85f2d4: 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 521991
Push 10870 by nbeleuzu@mozilla.com at Fri, 15 Mar 2019 20:00:07 +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
5398aeeb552c: 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 521894
Push 10870 by nbeleuzu@mozilla.com at Fri, 15 Mar 2019 20:00:07 +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
99cde26aca85: 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 521881
Push 10870 by nbeleuzu@mozilla.com at Fri, 15 Mar 2019 20:00:07 +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
92d9228ac82d: 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 521838
Push 10867 by dvarga@mozilla.com at Thu, 14 Mar 2019 15:20:45 +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
483937099277: 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 521788
Push 10867 by dvarga@mozilla.com at Thu, 14 Mar 2019 15:20:45 +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
a4d1dd58552d: 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 521758
Push 10867 by dvarga@mozilla.com at Thu, 14 Mar 2019 15:20:45 +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
5fb5272aec8e: 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 521730
Push 10867 by dvarga@mozilla.com at Thu, 14 Mar 2019 15:20:45 +0000
Bug 1532712 - Expose pause/resume observing methods on DocumentL10n. r=smaug Differential Revision: https://phabricator.services.mozilla.com/D23244
4be0480f48d3: 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 521698
Push 10867 by dvarga@mozilla.com at Thu, 14 Mar 2019 15:20:45 +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
3e9b5b700a9d: 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 521614
Push 10867 by dvarga@mozilla.com at Thu, 14 Mar 2019 15:20:45 +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
c1e7e2cb32cd: 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 521519
Push 10867 by dvarga@mozilla.com at Thu, 14 Mar 2019 15:20:45 +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
88a92eb3865e: 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 521501
Push 10867 by dvarga@mozilla.com at Thu, 14 Mar 2019 15:20:45 +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
8620e56a5f38: 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 521448
Push 10866 by nerli@mozilla.com at Tue, 12 Mar 2019 18:59:09 +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
f0696ec9e92b: 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 521434
Push 10866 by nerli@mozilla.com at Tue, 12 Mar 2019 18:59:09 +0000
Bug 1534363. Annotate nsIDOMEventListener::HandleEvent as MOZ_CAN_RUN_SCRIPT. r=smaug Differential Revision: https://phabricator.services.mozilla.com/D23035
034dbb475f6d: Bug 1490658: Support RTCIceCandidate.usernameFragment. r=mjf,smaug
Byron Campen [:bwc] <docfaraday@gmail.com> - Fri, 08 Mar 2019 15:24:27 +0000 - rev 521377
Push 10866 by nerli@mozilla.com at Tue, 12 Mar 2019 18:59:09 +0000
Bug 1490658: Support RTCIceCandidate.usernameFragment. r=mjf,smaug Differential Revision: https://phabricator.services.mozilla.com/D21803
3a421f33761b: 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 521327
Push 10866 by nerli@mozilla.com at Tue, 12 Mar 2019 18:59:09 +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
2883b91c8f6f: 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 521306
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1529900 - Columnpicker restore column order doesn't work anymore, r=smaug Differential Revision: https://phabricator.services.mozilla.com/D22094
d9ed942f6b00: 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 521303
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
f9482e1d252f: 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 521289
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
199af6c43953: 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 521271
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
e0c39e6d8d2c: 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 521266
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
e5e798d73ac6: 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 521228
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
f996bb0f3d23: 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 521223
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
525dd00d5636: 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 521010
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
22b988a39a32: 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 520960
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
6ce854f480d6: Bug 1517546 - Enable dyanmic module import by default r=smaug
Jon Coppeard <jcoppeard@mozilla.com> - Wed, 06 Mar 2019 17:20:24 +0000 - rev 520799
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1517546 - Enable dyanmic module import by default r=smaug
f10044217e8f: 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 520741
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
5ad056528954: 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 520680
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
a52bca8b0dd5: 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 520482
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
621207c8ef88: 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 520441
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
577a1e61f6d3: Bug 1532527 - Support "insertFromPasteAsQuotation" inputType value r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 05 Mar 2019 14:35:43 +0000 - rev 520419
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
5b5c05af88e2: 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 520415
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
28d928686e97: 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 520211
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1532226 - Move observers registration for Fluent DOM to C++. r=smaug Differential Revision: https://phabricator.services.mozilla.com/D21898
29a17314e008: 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 520179
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
664b3bc4a449: 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 520101
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
deb832a494bb: 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 520070
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
f05208c48b86: 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 520042
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
fe805cb52ee2: Bug 1530519 - Fix error handling in TransferableToIPCTransferable. r=smaug
Tom Schuster <evilpies@gmail.com> - Sat, 02 Mar 2019 12:42:56 +0000 - rev 520032
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1530519 - Fix error handling in TransferableToIPCTransferable. r=smaug Differential Revision: https://phabricator.services.mozilla.com/D21836
a6fd8376d3ec: 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 520015
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +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
45807d96ca7f: 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 519921
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1521964 - Add privileged HTMLVideoElement.cloneElementVisually WebIDL method. r=jya,Ehsan,smaug Differential Revision: https://phabricator.services.mozilla.com/D20023
47629d4e3150: Bug 1485264 - Removed dom.event.highrestimestamp.enabled pref r=smaug
Josef Citrine <jcit@pm.me> - Fri, 01 Mar 2019 18:49:44 +0000 - rev 519862
Push 10862 by ffxbld-merge at Mon, 11 Mar 2019 13:01:11 +0000
Bug 1485264 - Removed dom.event.highrestimestamp.enabled pref r=smaug Differential Revision: https://phabricator.services.mozilla.com/D21580