Commit graph

1,373 commits

Author SHA1 Message Date
roytam1
6477ec9b56 backport Bug 1502599: XHR should allow just "GET" method for blob URLs, r=smaug 2021-12-14 23:10:14 +08:00
roytam1
6036639e99 Bug 1738237, don't try to create too large string buffers, r=mccr8, a=RyanVM 2021-12-14 23:10:14 +08:00
roytam1
e5e5fa5ab3 Bug 1737009 - Make nsTextFragment::SetTo() check given string length first. r=smaug, a=RyanVM. DiD nsTextFragment::Append() 2021-12-14 23:10:14 +08:00
roytam1
537bcf5eaf backport Bug 1729517 - Set up document correctly. r=freddyb,ckerschb a=RyanVM 2021-11-10 09:10:26 +08:00
roytam1
8d7fa9bdd6 Bug 1723391 - Use RefPtr in ContentChild::RecvGetFilesResponse. r=smaug, a=RyanVM 2021-09-16 10:23:01 +08:00
Moonchild
13c48d24b0 Issue #1797 - Implement WindowOrWorkerGlobalScope.origin
Resolves #1797
2021-08-19 09:45:43 +08:00
Jens Stutte
04fdc6e681 [DOM] Be more explicit about the WorkerPrivate self-reference. 2021-08-12 23:48:13 +08:00
Moonchild
d1d00498ae [DOM/NPAPI] Defer loading object when setting attribute. 2021-08-12 11:21:26 +08:00
Moonchild
467e117fd9 Issue #1792 - Part 4: Implement constructors for the EventTarget interface. 2021-07-15 09:24:18 +08:00
Moonchild
6e0c05056b Issue #1792 - Part 3: Add ConstructibleEventTarget helper class.
Of course it couldn't be trivial :P
wrapObject is a pure virtual function which prevents an abstract constructor
from being used.
So, we need to extend DOMEventTargetHelper (applicable acronym: DETH :D) with
a wrapObject implementation - in a derivative class is the clearest way to do
this, as opposed to making DETH more complex.
2021-07-15 09:24:16 +08:00
Moonchild
dd06472de7 Issue #1792 - Part 2: Move GetParentObject() to EventTarget.h for re-use. 2021-07-15 09:24:15 +08:00
Moonchild
d751dbe1a4 Issue #1792 - Part 1: Remove superfluous check for abstract ancestors.
This removes some restrictions on whether an interface that implements
QueryInterface can have a non-abstract ancestor.

This restriction was put in place back when we automatically added
QueryInterface to all rootmost non-abstract interfaces (~Pale Moon 24).
At the time, we needed to make sure it did NOT end up on EventTarget, because
back then WebIDL quickstubs would replace the QI implementation on non-WebIDL
EventTargets with the WebIDL one, which would not work for them.

Since then, we have removed WebIDL quickstubs and we now explicitly list which
interfaces get QueryInterface, so this check is no longer needed.
2021-07-15 09:24:13 +08:00
athenian200
efc6048941 Issue #1784 - Add -moz-dark-theme media query and allow prefers-color-scheme to follow it. 2021-06-24 11:10:22 +08:00
Moonchild
2703c4fc63 [whitespace] Fix CRLF line endings.
When originally implementing ResizeObserver, line endings ended up being CRLF
instead of LF. This commit fixes those line endings (no code changes)
2021-06-24 11:09:12 +08:00
Moonchild
699781f37c Issue #1783 - Part 3: Remove ResizeObservation's BroadcastSize.
This is chrome-only and unused, and interfered with getting the spec update in.
2021-06-24 11:05:47 +08:00
Moonchild
25164d0b75 Issue #1783 - Part 2: Update ResizeObserver and resizeObserverSize.
This adds the later spec revision's contentBoxSize and borderBoxSize, and the
inlineSize and blockSize concepts.
The older spec contentRect remains functional as well for backwards
compatibility with the earlier spec (that was IMHO perfectly fine as it was...)
2021-06-24 11:05:45 +08:00
Moonchild
51d3f2d2f3 Issue #1783 - Part 1: Move GetNodeDepth to ResizeObserver.cpp
GetNodeDepth() is a specialized version for ResizeObserver to get the depth of
a node across Shadow DOM. It's better to have this in ResizeObserver.cpp
instead of the generic ContentUtils.

Also updated the function to bypass the shadow root itself and not count it
because ResizeObserver doesn't observe the shadow root and only needs the
relative depths among all observed targets. IOW we use the flattened tree here.
2021-06-24 11:05:44 +08:00
Moonchild
15a322effa Issue #1781 - Part 1: support calc() in stroke-dashoffset CSS
This adds basic calc() support to stroke-dashoffset. It does not provide
CSS animation (yet, todo for part 2)
2021-06-15 11:18:58 +08:00
Moonchild
a6ae35ba91 Issue #1751 -- Remove cocoa support code from /dom 2021-05-10 09:54:32 +08:00
Moonchild
a4b0f333ba Issue #1751 -- Remove XP_MACOSX conditionals from the rest of the tree.
This also removes some PP abuse and takes file entries out of PP when no longer
needed without XP_MACOSX conditionals.
2021-05-07 09:53:59 +08:00
Moonchild
2f27335cc4 Issue #1751 -- Remove XP_DARWIN 2021-05-05 10:27:04 +08:00
Moonchild
d29e4f8306 Issue #1751 -- Remove XP_MACOSX conditionals from /dom 2021-05-05 10:26:13 +08:00
Jeff Gilbert
88bfb5d5d1 [WebGL] Bind framebuffer before DrawBuffers/ReadBuffer selection. 2021-04-21 21:55:40 +08:00
Moonchild
7e02267fd3 [DOM] Add missing IDL definitions for CSP .nonce attributes.
Apparently Mozilla completely spaced out on this when adding the CSP nonce
mechanism, potentially causing web compat issues if scripting relies on
being able to get/set nonces through DOM and/or causing CSP policy check
issues if websites try to "hide" nonces.
2021-04-20 09:05:20 +08:00
athenian200
618fa768c8 Issue #1757 - Reinstate "dom.details_element.enabled" preference
The removal of this preference was botched, all other surrounding plumbing changes appear to be working okay. The ability to use prefs to control this stylesheet might be useful in the future, so perhaps this is one of those "if it ain't broke, don't fix it" bugs where leaving well enough alone in the first place would have been the best choice.
2021-04-02 10:33:54 +08:00
Moonchild
bdfe49f178 [WebGL] Only allow texture uploads from pixelbuffer if bound.
Throw an error if it mismatches.
2021-03-25 09:05:44 +08:00
athenian200
da2461fa57 Issue #1752 - Implement "prefers-color-scheme" as a user preference.
This PR passes all current tests for this feature, and implements the "prefers-color-scheme" media query as an enumerated keyword that is controlled by an integer preference.

Currently, the possible options are 0 to see a website's fallback code and essentially behave like this isn't implemented (our current behavior), 1 to express a preference for a light theme (the default for spec reasons), and 2 to express a preference for a dark theme. Over time, this list may expand to include other preferences like a preference for a sepia theme or something, and this leaves us prepared for that future.
2021-03-25 09:05:20 +08:00
Moonchild
b8f2ada817 Issue #1053 - Remove __ANDROID__ defines (except in third party code) 2021-03-25 09:04:29 +08:00
Moonchild
348c6604be Issue #1053 - Remove MOZ_WIDGET_ANDROID and IDB_MOBILE 2021-03-12 08:59:50 +08:00
Moonchild
0ced696351 Issue #1053 - Remove Android-specific blocks from system headers and /dom 2021-03-12 08:57:47 +08:00
Moonchild
1feafdc819 Issue #1053 - Remove mobile-specific graphics "optimizations" (=compromises) 2021-03-11 10:13:55 +08:00
Moonchild
50653a7c4c Issue #1053 - Remove build system MOZ_ANDROID_* defines and related code. 2021-03-11 10:13:09 +08:00
Moonchild
8a55eab0f0 [DOM] Don't reveal error details for CORS-cross-origin decoding errors. 2021-02-25 09:26:41 +08:00
Moonchild
d86d1256bc [dom] Update noscript serialization to the changed spec.
Make <noscript> escaping conditional on whether scripting is enabled.
2021-02-25 09:26:37 +08:00
Moonchild
d867f26c0e [widget] Require user interaction when picking files or folders v2
Now with extra sauce to make it work cross-platform and cross-versions and
for HTML input elements only.
2021-02-25 09:25:17 +08:00
Moonchild
20ba0b34ec Issue #1743 - Update CK_GCM_PARAMS use for PKCS11 v3.0 in WebCryptoTask 2021-02-18 21:57:45 +08:00
Moonchild
51c4b1838c Issue #1688 - Add flood guard to state change logic. 2021-02-18 21:57:43 +08:00
Moonchild
6de0687efc Issue #1720 - Remove explicit header inclusion from npapi.h
This should allow the header to be used outside of the UXP tree for compiling
plugins etc.
Resolves #1720
2021-02-03 10:04:45 +08:00
trav90
a0aabcdaba Issue #1723 - Fix Linux build bustage in HTMLMenuItemElement.cpp 2021-02-03 10:04:42 +08:00
Moonchild
202ef2a56a [DOM] Store weak pointer to next parents. 2021-01-27 21:03:05 +08:00
Moonchild
8630e4f6dc [DOM] Try to avoid slow shrinking GC during sync calls 2021-01-27 21:03:02 +08:00
Moonchild
1835a24351 [webaudio] Fix up ReverbInputBuffer's writeIndex. 2021-01-27 21:03:00 +08:00
Moonchild
9b6e17cf34 Fix rooting hazard in ImageBitmap::CreateInternal by avoiding movable data. 2021-01-27 21:02:53 +08:00
Matt A. Tobin
d4324dc064 Issue #1390 - Clean up presentation api leftovers 2021-01-27 21:01:56 +08:00
Moonchild
a828a5f321 Issue #1719 - Make <menuitem> pref-controlled and disable by default.
Resolves #1719
2021-01-27 21:01:54 +08:00
Moonchild
15feed4c00 Issue #1689 - Part 4: Add a preference for {Document,Element}.getAnimations()
This is probably the last thing we will ship (if ever) since it needs the most
spec and implementation work for arbitrary use that is pretty far into a corner.
2021-01-21 14:31:23 +08:00
Moonchild
fdeb68f0b8 Issue #1689 - Part 3: Add a preference for animation composite modes.
This feature should not be shipped until the various definitions of addition for
each additive property are properly specified and then implemented accordingly.

Unlike other patches in this series, compositing is not frequently used
internally so there is no need to enable this by default for chrome callers.
2021-01-21 14:31:22 +08:00
Moonchild
d9693c298c Issue #1689 - Part 2: Add a preference for implicit keyframes
This preference controls whether authors are allowed to specify animations
without a 0% or 100% keyframe.

We intend to ship this but it isn't implemented yet (needs a follow-up) but this
preference acts as a safeguard in case we discover we need to disable it once
it's implemented.
2021-01-21 14:31:20 +08:00
Moonchild
ad1e2abea1 Issue #1689 - Part 1: Add pref for DOM Animation timelines API
Default false, no intent to ship for web content. Always enabled for Chrome.
2021-01-21 14:31:18 +08:00
Moonchild
21f707390d Issue #1705 - Part 3: Rename ScrollbarStyles to ScrollStyles.
ScrollbarStyles contains values of overflow, (over)scroll-behavior, etc.
The only one which is marginally related to scroll _bars_ is overflow, which can
be used to hide scrollbar (by making an element not scrollable) or enforce the
scrollbar to display.

It makes more sense to be called ScrollStyles as it's mainly concerning behavior
of scrolling, not scrollbars. Also, with the addition of scrollbar width
properties, the current name can be confusing.
2021-01-14 22:19:53 +08:00