Commit graph

513 commits

Author SHA1 Message Date
Moonchild
f1c456c625 Issue #2713 - Check for NaN before std::min/max() in DOMQuad and DOMRect.
If there is a NaN involved we should not return 0 here.
2025-03-23 12:52:03 +08:00
Moonchild
6449b7514b No issue - Fix some deprot 2025-03-23 12:25:55 +08:00
Moonchild
2e4620b5af Issue #2692 - Part 6: Don't #include js/SourceBufferHolder.h in jsapi.h.
Instead, require users to do so. This is a minor translation-unit size
improvement for anyone who never has to use SourceBufferHolder other than
by reference.
2025-03-13 23:01:46 +08:00
Moonchild
afefd0731b No Issue - NULL crash fix in nsExternalResourceMap::PendingLoad::OnDataAvailable
Curiously, we should have had this at our fork point (as it was backported
by Mozilla to 52.5.2) by apparently Tobin's import wasn't actually 52.6.0.
:-/
2025-03-07 21:44:02 +08:00
Martok
0590764f1f Issue #2686 - Don't rely on return value of ExecutionContext::Compile when the context may forbid running scripts
This is relevant if scripting is terminated due to execution timeout but there are setTimeout/Interval callbacks pending
or if scripting is disabled altogether.
2025-01-29 12:23:50 +08:00
Moonchild
139e7a7ac6 Issue #2678 - Remove NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED
This no longer does anything at this point, except add indirection.
2025-01-20 21:12:18 +08:00
Moonchild
85f8f23a23 Issue #2678 - Make QIing to a few often-used CCed classes faster.
QIing to CC interfaces is a hot path for a few widely-used classes.
Presumably there are many of these objects being created and destroyed.
By making these classes check first for the CC interfaces directly, rather
than going up the inheritance chain, the resulting overhead is reduced.
2025-01-20 21:09:23 +08:00
Moonchild
0121aefb61 Issue #2678 - Remove now-unnecessary ClearExternalRefsForWrapperRelease.
All DOMProxyHandler::ClearExternalRefsForWrapperRelease now does is clear
a backpointer to the expando, and that's handled during reflector
finalization already, making it redundant.
2025-01-20 21:07:31 +08:00
Moonchild
c9c941f321 Issue #2678 - Stop using EnsureExpandoObject in codegen code when we just want to preserver the wrapper for a DOM proxy. 2025-01-20 21:07:17 +08:00
Moonchild
5ea8de0262 [DOM] Convert cleanup of FlushCurrentWord() to a ScopeExit task.
Ensures consistent cleanup even if early exit due to OOM.
2025-01-10 22:31:52 +08:00
Moonchild
e60e1266e9 [DOM] Slightly extend lifetime of data in Structured Clone operations. 2025-01-10 22:30:58 +08:00
Moonchild
ff89fee91d Issue #1787 - Remove nsIAppsService, mozIApplication and mozapp data cleanup. 2024-11-21 21:09:05 +08:00
Moonchild
53cab0f8ce Issue #2653 - Part 4: Remove isApp from quota manager and its clients 2024-11-21 21:02:50 +08:00
Moonchild
7f086f216c Issue #2653 - Part 3: Remove support for packaged apps from asmjscache 2024-11-21 21:02:19 +08:00
Moonchild
7b6e3a2d4a Issue #2653 - Part 1: Initial cleanup of AppId and isolated mozbrowser.
This removes a lot of the plumbing for having the platform embed itself
through IPC which was required for B2G running the browser as both
shell and browser application.
2024-11-21 21:01:27 +08:00
Moonchild
7d978ccd71 Issue #2641 - Update Fetch to adhere to the updated spec (pass refpolicy)
Resolves #2641
2024-10-24 07:37:31 +08:00
Moonchild
f6f046930d Issue #2641 - Speculative load changes for referrerpolicy 2024-10-24 07:37:15 +08:00
FranklinDM
97a40adc75 Issue #2251 - Expose ghost window unlinking to release builds. 2024-09-22 20:43:48 +08:00
Moonchild
71bd54891a Issue #1810 - Implement {get|set}Transform with DOMMatrix arguments.
We already had part of the plumbing for other canvas manipulations, so
this is somewhat simplified.

This excludes the interface as that is breaking the build at this stage.
Some more research is required.
2024-08-21 10:48:06 +08:00
Moonchild
314ba652f4 [DOM] Pass error up the chain in SetColorValue. 2024-08-09 15:16:03 +08:00
Moonchild
ec7351a5d4 Issue #1925 - Remove use of NS_SIDE_* macros. 2024-08-05 10:31:46 +08:00
Moonchild
7e3f0d53a2 Issue #2515 - Remove mForceContentDispatch and mNoContentDispatch 2024-08-05 10:29:26 +08:00
Moonchild
d0e568577f Issue #2547 - Remove hidden network.dns.disablePrefetchFromHTTPS pref.
Resolves #2547
2024-07-18 22:31:03 +08:00
Moonchild
2b8d75e136 Issue #2546 - Part 2: Remove special FoxEye CreateImageBitmap method. 2024-07-10 14:50:16 +08:00
Moonchild
60fbaa2155 Issue #2546 - Part 1: Remove BufferSource support in CreateImageBitmap. 2024-07-10 14:50:00 +08:00
Moonchild
fb16b1b4ae Issue #2534 - Part 1: window.postMessage should provide a trusted MessageEvent 2024-06-24 23:11:25 +08:00
Moonchild
6a200d5284 No Issue - Add navigator.webdriver attribute.
This patch adds an enumerable, configurable, readonly attribute "webdriver" to
the Navigator object. The attribute is always false because we do not support
WebDriver or scripted automation.

The navigator.webdriver attribute is meant as an indication to web authors that
a document is visited by WebDriver. It is important to stress that it is not
meant as a way to detect that a website is being visited by a browser automation
tool or bot, but as a tool for web documents to take alternate code paths.

On the off-chance exposing navigator.webdriver turns out to be catastrophic,
we put it behind a new preference dom.webdriver.enabled that controls its
exposure.
2024-06-17 16:14:48 +08:00
Moonchild
87a7cf7332 Issue #2472 - Part 6: Fire cancel event and close modal <dialog> on [ESC]
This implementation is different than Mozilla, not indirectly queueing cancel
tasks to be arbitrarily ordered, but rather synchronously close in reverse
top layer order.
2024-05-08 09:57:53 +08:00
Moonchild
7a04afab4a Issue #2472 - Part 4: Make TopLayer{Push|Pop} part of nsIDocument. 2024-05-08 09:55:38 +08:00
Moonchild
79c7489bb0 Issue #2472 - Part 3: Refactor Fullscreen stack to Top Layer stack
Fullscreen stack isn't part of the spec anymore; it's been changed to a more
generic version called Top Layer stack, which is being used by both full-screen
APIs and dialog elements.

This patch refactors it to Top Layer stack so that it can be reused for dialog
elements.

Top Layer stack spec: https://fullscreen.spec.whatwg.org/#new-stacking-layer
2024-05-08 09:55:18 +08:00
Moonchild
3058bef840 Issue #2472 - Part 1: Add helper method to directly dispatch events to widgets. 2024-05-08 09:53:11 +08:00
Moonchild
35d7a1fe5a Issue #2503 - Part 1: add CPU IS support flags to Navigator interface 2024-04-16 14:58:41 +08:00
Moonchild
2811d30051 [DOM] Add nullcheck on mDoc in GetEventTargetParent 2024-04-16 14:58:23 +08:00
Moonchild
641b556c53 Issue #2490 - Part 20: Remove the stuff that was added temporarily to deal with a mix of WebIDL and non-WebIDL rules. 2024-04-08 11:12:53 +08:00
Moonchild
7fb5d53a79 Issue #2490 - Part 19: Convert CSSCounterStyleRule to WebIDL. 2024-04-08 11:12:32 +08:00
Moonchild
b984856d8f Issue #2490 - Part 18: Convert CSSKeyframesRule to WebIDL. 2024-04-08 11:08:39 +08:00
Moonchild
89d96e0226 Issue #2490 - Part 17: Convert CSSKeyframeRule to WebIDL. 2024-04-08 11:08:06 +08:00
Moonchild
f0de637255 Issue #2490 - Part 16: Convert CSSFontFeatureValuesRule to WebIDL. 2024-04-08 11:07:44 +08:00
Moonchild
50f8c18757 Issue #2490 - Part 15: Convert CSSFontFaceRule to WebIDL.
The .style PutForwards bit is coming along for the ride here as a new feature.
2024-04-08 11:07:15 +08:00
Moonchild
74fdaed1fe Issue #2490 - Part 14: Convert CSSPageRule to WebIDL.
The .style PutForwards bit is coming along for the ride here as a new feature.
2024-04-08 11:05:31 +08:00
Moonchild
d1b6a584b8 Issue #2490 - Part 13: Convert media, supports, and moz-document rules to WebIDL.
This also converts the internal ConditionRule and GroupingRule classes.
2024-04-08 11:03:50 +08:00
Moonchild
6176bd62d9 Issue #2490 - Part 12: Convert CSSStyleRule to WebIDL.
The .style PutForwards bit is coming along for the ride here, aligning us with
the behavior of Blink and Gecko.
2024-04-08 11:01:02 +08:00
Moonchild
525606c15d Issue #2490 - Part 11: Convert CSSImportRule to WebIDL.
Note that the .media PutForwards is a new feature coming along for the ride, now
that we're using the spec IDL.
2024-04-08 10:59:42 +08:00
Moonchild
95642cb4e5 Issue #2490 - Part 10: Convert CSSNamespaceRule to WebIDL. 2024-04-08 10:58:54 +08:00
Moonchild
bb2aaeac9f Issue #2490 - Part 8: Get rid of css::Rule::GetDOMRule. 2024-04-08 10:56:04 +08:00
Moonchild
8c871f602e Issue #2490 - Part 6: Make css::Rule inherit from nsIDOMCSSRule. 2024-04-08 10:55:26 +08:00
Moonchild
1342838b3f Issue #2490 - Part 4: Make css::Rule wrappercached. 2024-04-08 10:46:40 +08:00
Moonchild
e510cc84af Issue #2490 - Part 3: Give CSS rules a PreCreate hook so we can safely wrappercache them. 2024-04-08 10:42:57 +08:00
Moonchild
d6ec56a4c4 Issue #2490 - Part 1: Make all CSS rules cycle-collected. 2024-04-08 10:39:37 +08:00
FranklinDM
f0116f51db Issue #2488 - Part 6: Define and declare CSSStyleSheet cast functions directly in StyleSheet
This renames AsGecko calls to AsConcrete and removes the header containing leftover Stylo macros.
2024-04-02 22:52:28 +08:00