Commit graph

1,056 commits

Author SHA1 Message Date
FranklinDM
b72ddcf657 Issue #2135 - Bug 1414692: Adopt shadow roots when adopting a shadow host across documents 2023-03-06 16:20:46 +08:00
FranklinDM
7b395189ac Issue #2135 - Bug 1518795: Properly track responsive content in a connected ShadowRoot 2023-03-06 16:17:59 +08:00
FranklinDM
56193120c5 Issue #2135 - Implement sequential focus navigation for shadow DOM
This covers the following:
Bug 1413834	Implement sequential focus navigation regarding shadow DOM
> Bug 1430020	Let sequential focus navigation in shadow DOM enter iframes
> Bug 1430701	Handle focus navigation on frameless shadow hosts in light DOM
> Bug 1430692	Handle focus navigation on NAC in shadow DOM
> Bug 1453693	Ensure sequential focus navigation works in Shadow DOM and add some tests
> Bug 1466581	Handle sequential focus also in nested shadow DOM
> Bug 1481079	Shadow DOM hosts should be focusable
> Bug 1507101	Use StyleChildrenIterator instead of custom frame tree walking code to handle NAC inside shadow dom
> Bug 1512043	Ensure traverse all nodes owned by the top level shadow host
> Bug 1512457	Fix various cases that focus navigation doesn't work well with frameless shadow host
> Bug 1513141	Really minor nsFocusManager cleanup
> Bug 1519090	Keyboard focus is trapped inside <slot>
> Bug 1528034	Make IsHostOrSlot null-safe
> Bug 1544826	Wrong focus navigation behavior when the root element is a shadow root
>> Bug 1500273	Ensure backward focus navigation works in Shadow DOM
2023-03-06 16:17:39 +08:00
FranklinDM
263b719ef8 Issue #2135 - Bug 1455891/Part 1: Improve StyleChildrenIterator 2023-03-06 16:17:21 +08:00
FranklinDM
588c2154a5 Issue #2135 - Bug 1410578: Make <link rel="stylesheet"> work in shadow trees 2023-03-06 16:17:01 +08:00
FranklinDM
45c179d01b Issue #2135 - Bug 1453789: Remove Element.createShadowRoot 2023-03-06 16:16:40 +08:00
FranklinDM
010db07bf3 Issue #2135 - Bug 1066965: Make contentEditable and spellchecking to work in Shadow DOM 2023-03-06 16:16:21 +08:00
FranklinDM
e64aeea52d Issue #2135 - Bug 1430301: Implement ShadowRoot.elementFromPoint/elementsFromPoint 2023-03-06 16:15:38 +08:00
FranklinDM
3350af82c2 Issue #2135 - Bug 1438129: Remove ShadowRoot.applyAuthorStyles. 2023-03-06 16:15:24 +08:00
FranklinDM
1185cfe3f0 Issue #2135 - Bug 1323815: FocusEvent.relatedTarget should work consistently with MouseEvent.relatedTarget
* This incorporates changes from Bug 1413102.
2023-03-06 16:15:09 +08:00
FranklinDM
1bb2009f61 Issue #2135 - Bug 1413102 (Follow-up): Ignore current target because of shadow DOM retargeting
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1466581
2023-03-06 16:14:50 +08:00
FranklinDM
24572438a0 Issue #2135 - Bug 1413102: Ensure Shadow DOM boundaries are dealt properly in event handling
* RE: BasicEvents.h - our WidgetEvent is not movable (yet), so the change that requires that wasn't included.
* Parts of this use code that was introduced in bug 1427511. For now, they were replaced with their equivalents.
2023-03-06 16:14:31 +08:00
FranklinDM
e286eb8adb Issue #2135 - Bug 1430305: Implement ShadowRoot.fullscreenElement 2023-03-06 16:14:14 +08:00
FranklinDM
3dfffeaeca Issue #2135 - Bug 1430303: Implement ShadowRoot.pointerLockElement 2023-03-06 16:13:59 +08:00
Job Bautista
c920f32df3 Issue #1693 - Use scoped enums for IDBTransaction.
Based on a patch from Mozilla bug 1598164.
Needed due to identifier collision between NSS and IDBTransaction.

Co-authored by: Simon Giesecke <simon.giesecke@gmail.com>
Co-authored by: Matt A. Tobin <email@mattatobin.com>
2023-03-06 16:10:42 +08:00
FranklinDM
6781f5b6c5 Issue #1375 - Part 2: customElements.define must upgrade custom element in shadow-including tree order
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1326028
2023-03-02 14:28:30 +08:00
u3shit
2b88f2c9ac Issue #2101 - Part 6: Plumbing of ColorRange between video decoders and YUV convert 2023-02-27 12:11:30 +08:00
u3shit
e59e8c3b2c Issue #2101 - Part 5: Add ColorRange support to video decoders 2023-02-27 12:10:57 +08:00
u3shit
42f3296899 Issue #2101 - Part 2: Use stdint.h types instead of uint8 and friends
Required for upcoming libyuv update
2023-02-27 12:06:38 +08:00
u3shit
c0c76cd455 Issue #2101 - Part 1: Add mColorRange info to YCbCrBuffer
https://hg.mozilla.org/integration/autoland/rev/6f4c7904cda8
2023-02-27 12:02:53 +08:00
u3shit
3e62b1fc9f Issue #2118 - Part 2: Add support for Identity YUVColorSpace
https://hg.mozilla.org/mozilla-central/rev/be342c90755d11551623362f2058c0326f63bbb3
2023-02-27 11:08:35 +08:00
Moonchild
0b9698c80a [DOM] WebCrypto: Check decoded key type before using it.
Just in case someone forces the wrong key type and misuses WebCrypto.
It won't be usable anyway so better to throw.
2023-02-22 07:08:44 +08:00
FranklinDM
14e8922dca Issue #2078 - Part 3: Rename nsCSSRuleProcessor::SelectorListMatches to RestrictedSelectorListMatches
This is in preparation for merging the logic of RestrictedSelectorListMatches and AnySelectorInArgListMatches.
2023-02-22 07:05:25 +08:00
Moonchild
bc50a7d3c6 [DOM] Check whether module load request was already cancelled when a load fails 2023-02-20 12:01:36 +08:00
Moonchild
1644bf94f0 No issue - Accept also video/vp8 as MIME type 2023-02-08 16:57:28 +08:00
FranklinDM
4c9665a4ae Issue #2104 - Part 2: Indicate if a label was cropped via the "_is_cropped" attribute 2023-02-08 16:57:11 +08:00
Martok
6b50dd5d06 Issue #2089 - Use JS engine stack if necessary when reporting errors
Based-on: m-c 996060
2023-01-26 11:39:57 +08:00
Moonchild
f080f2e978 [DOM] Make nsHTMLContentSerializer handle noscript depending on the scripting enabled state of the document. 2023-01-19 09:42:47 +08:00
Moonchild
d8756a58db [DOM] Add some null checks for PerformanceWorkers 2023-01-19 09:41:54 +08:00
Moonchild
efeb0e3e97 Issue #2087 - Don't throw on lacking PresShell in SetFontInternal
In CanvasRenderingContext2D::SetFontInternal, we should not throw if
there is no PresShell due to (sandboxed/hidden) iframe use that has not
initialized its presentation yet at the time of property manipulation.
This removes the throwing of the error and just silently fails.

Resolves #2087
2023-01-10 07:42:08 +08:00
Martok
a6a420259c Issue #2073 - m-c 1546500: Avoid dispatching synchronous thread shutdown runnables 2023-01-10 07:31:26 +08:00
Job Bautista
ba1887ff4c Issue #80 - Fix deprot in dom/base.
This regression was introduced by my PR #2015.
Found while building dom/base de-unified.
2022-12-30 09:22:21 +08:00
Martok
b4dd106262 Issue #2030 - Dispatch click on common interactive ancestor if mousdown/up are not on the same element
For example, if the mouse is dragged from one element to another while
staying inside the same button, dispatch from their common ancestor
2022-12-02 23:56:40 +08:00
Martok
4354c7a1bc Issue #2030 - Allow child nodes of button to participate in mouse hit tests
This is needed for web compatibility, even if standards compliance is debatable.
2022-12-02 23:55:57 +08:00
Martok
4d310562d9 Issue #2030 - (chore) refactor event dispatch functions
Based on selected bits of M-C 1461708:
- EventStateManager::CheckForAndDispatchClick() to early-return style
- split EventStateManager::CheckForAndDispatchClick() into:
  EventCausesClickEvents, PostHandleMouseUp, DispatchClickEvents
- Move implementation of UIEvent::GetRangeParent() and UIEvent::RangeOffset() to nsLayoutUtils
2022-12-02 23:55:37 +08:00
Moonchild
f35ae1ce7b Issue #2019 - Follow-up: Make nsPluginInstanceOwner also listen to keypress events in the system event group.
nsPluginInstanceOwner only listens to keypress events in the default event group.
However, in our changed operating mode, keypress events are not fired in the
default event group if the key does not result in something printable.
This means that nsPluginInstanceOwner should also listen to keypress events
in the system event group and should handle each keypress that way, but
only once. I.e., if a printable keypress event is received in the system event
group, it should be ignored, since it would've already been handled in the
default event group in that case.
2022-11-25 11:45:41 +08:00
Moonchild
37f0199c79 [Network, DOM] Align our implementation with the current CORS/Fetch spec. 2022-11-25 11:41:52 +08:00
Moonchild
211b7cf219 Issue #2024 - Part 1: Add wildcard to Access-Control-Expose-Headers
For requests without credentials, add wildcard to Access-Control-Expose-Headers.
2022-11-10 14:54:33 +08:00
Moonchild
2f0acd868e [WebGL] Implement webgl.max-size-per-texture-mib 2022-10-27 09:04:31 +08:00
Moonchild
e69b52eac1 Hold some strong references on nsRefreshDriver 2022-10-27 09:03:27 +08:00
Moonchild
2e944692c3 Issue #21 - Remove panning/tab animation performance measurements
Based on FranklinDM's follow-up for the issue.

This would require browser FE changes, particularly removing the associated
code in `tabbrowser.xml`, however, that was already done in Pale Moon previously.
Other front-end applications may need to take note, though.

Based on changes from the following bugs:
* Bug 696398 - Need an api to analyze panning performance
* Bug 800031 - Include paint time in tab switch telemetry
* Bug 820167 - Enable performance measurement of tab animation
* Bug 826383 - Improve Start/Stop FrameTimeRecording for telemetry usage
2022-10-27 08:59:25 +08:00
Basilisk-Dev
9277c9418d Issue #1375 - Don't mark nodes in the shadow tree as orphan nodes
Port of Bug 1026714
2022-10-27 08:58:24 +08:00
Job Bautista
d367067698 Issue #1375 - Use nsIAtom* instead of nsAtom* for CE Upgrade function.
We haven't refactored nsIAtom* as Mozilla did yet.
2022-10-12 17:20:51 +08:00
Job Bautista
bc36c607a9 Issue #1375 - Implement customElements.upgrade.
Backported from Mozilla bug 1443722.
2022-10-12 17:20:32 +08:00
Moonchild
d2276a48d2 Issue #1977 - Follow-up: Correct pref check to be selective on wave formats only. 2022-09-23 11:04:00 +08:00
Moonchild
95120acbb2 [DOM security] Be more explicit about CSP checks and reports. 2022-09-22 10:18:33 +08:00
Job Bautista
b93c4ada8a Issue #1995 - Fix build bustage in GCC 12
For some reason, GCC 12 is treating this include as a circular dependency.
See athenian200's analysis for more details.
2022-09-09 10:13:16 +08:00
Moonchild
60e4e33442 Issue #80 - Re-unify most of DOM 2022-09-09 10:09:40 +08:00
Moonchild
142f08ce1f Issue #1720 - Follow-up: Explicitly include X11UndefineNone.h in HTMLOptGroupElement.cpp to fix unified building on X11 2022-09-07 11:02:14 +08:00
Moonchild
5dfded811d Issue #80 - reinstated unified building for some large chunks of our code.
This should reduce compile complexity saving time and reducing linker stress.
2022-09-07 10:36:23 +08:00