Commit graph

4,024 commits

Author SHA1 Message Date
Matt A. Tobin
ed0edf6a22 Issue #1611 - Enable WASM by default but only enable jit when 64bit 2020-07-25 06:25:44 +08:00
Pale Moon
8df44f9320 [Pale-Moon] Issue #1811 - Indicate our per-monitor DPI-awareness to the O.S.
This resolves #1811
2020-07-20 09:41:37 +08:00
Gaming4JC
d081fe1bc6 Issue #618 - Remove eager instantiation - Debug follow up
The added debug assertion did not take into account microtask refactoring done in BZ 1405821.
Resulting in error: no member named 'IsInMicroTask' in 'nsContentUtils'.

This resolves the error.
2020-07-20 09:38:43 +08:00
Moonchild
02a893b998 [Basilisk] Issue #17 - Reinstate erroneously removed unload event listener
Looks like this was just lazily lumped in with WebExtension stuff and got
removed as a result. This should prevent the autorefresh blocker from leaking.
2020-07-11 07:14:23 +08:00
Lootyhoof
be8bea50ff [Basilisk] Issue MoonchildProductions/UXP#1578 - Add global menubar support for GTK 2020-07-11 07:09:11 +08:00
Moonchild
8d5005090a [network] Use query and ref lengths if available in nsStandardURL. 2020-07-11 07:02:31 +08:00
Moonchild
415542eb7c [js] Get the class pointer from the ObjectGroup in NativeObject::slotSpan
This changes NativeObject::slotSpan() to get the class from the object group
rather than getting it from the base shape to avoid a race between
Shape::ensureOwnBaseShape and background sweeping.
2020-07-11 07:02:27 +08:00
Moonchild
e74bd52c8c Force clobber 2020-07-10 22:19:00 +08:00
Moonchild
9890572c8e [NSS] Version and build bump 2020-07-10 22:18:56 +08:00
Sohaib ul Hassan
62467c473d [NSS] Implement constant-time GCD and modular inversion
The implementation is based on the work by Bernstein and Yang
(https://eprint.iacr.org/2019/266)
"Fast constant-time gcd computation and modular inversion".

It fixes the old mp_gcd and s_mp_invmod_odd_m functions. The patch also fixes
mpl_significant_bits s_mp_div_2d and s_mp_mul_2d by having less control flow to
reduce side-channel leaks.

Co-authored by : Billy Bob Brumley
2020-07-10 22:18:52 +08:00
Moonchild
db9ccc90e0 [js] Improve readability and control flow of js date string parser. 2020-07-10 22:18:48 +08:00
Byron Campen [:bwc]
36e1df9ffb [WebRTC] Make candidate pair insertion code easier to read/understand.
Includes removing an error code for a function that never fails, and removing an
error return when the function successfully did what it said it would.

Ref: BZ 1644477
2020-07-10 22:18:45 +08:00
Moonchild
6aaea9dde6 [AppCache] Add check for disallowed encoded path separators 2020-07-10 22:18:42 +08:00
Moonchild
6cf5f024c4 [image] Add a sanity check to JPEG encoder buffer handling, just in case. 2020-07-10 22:18:38 +08:00
Moonchild
5ff6eca6c9 Issue #618 - Fix typo and remove old function declarations. 2020-07-10 22:18:24 +08:00
Moonchild
9201808e0a Issue #618 - Report source position information (line/column)
Report source position information for module export resolution failures.

Ref: BZ 1362098
2020-07-10 22:18:10 +08:00
Moonchild
e0ab4f9abf Issue #618 - Slightly improve module scripting tests.
Ref: BZ 1388728
2020-07-10 22:18:07 +08:00
Moonchild
743bdc04fb Issue #618 - Further align error handling for module scripts with the spec
Ref: BZ 1388728
2020-07-10 22:18:04 +08:00
Moonchild
c65ca2ca58 Issue #618 - Remove context and heap-idle check
For checking if a module is in an error state and what the error is, it
shouldn't matter if we are currently GC-ing or not. So we don't need to check
for it, which removes the requirement to pass in the JS context (needed for
AssertHeapIsIdle's runtime check); this unblocks progress where otherwise we'd
have to figure out what the context is at the module level just to satisfy this
check.
2020-07-10 22:18:01 +08:00
Moonchild
a754a7be26 Issue #618 - Remove eager instantiation
This backs out the stuff added in Bug 1295978.
Ref: BZ 1295978, 1388728
2020-07-10 22:17:58 +08:00
Moonchild
b590ecea12 Issue #618 - Fix JSAPI additions to pass the JS context. 2020-07-10 22:17:55 +08:00
Moonchild
91a79c0ddc Issue #618 - Match JSAPI names with the changes in 9ca74147225eed305e28c7887f9b2251aeeb0f36
Ref: BZ 1388728
2020-07-10 22:17:52 +08:00
Moonchild
5838eded5f Issue #618 - Add APIs to query module record errors
Ref: BZ 1388728
2020-07-10 22:17:48 +08:00
Moonchild
7b30bfee4c Issue #618 - Update code comments for ModuleInstantiate 2020-07-10 22:17:44 +08:00
Moonchild
c7d195e633 Issue #618 - Align module instantiation/errors with the updated spec.
Store and re-throw module instantiation and evaluation errors.
Ref: BZ 1374239, 1394492
2020-07-10 22:17:41 +08:00
Moonchild
336347212b Issue #618 - Add clarifying code comments. 2020-07-10 22:17:38 +08:00
Moonchild
27f4d0b5a5 Issue #618 - Check for failed instantiation when starting to fetch dependencies
If instantiation has failed, then also fail the load and don't fetch imports.
Ref BZ: 1358882
2020-07-10 22:17:34 +08:00
Moonchild
c04b682a88 Issue #1603 - Part 2: Split some classes out of ScriptLoader.cpp
This splits ScriptLoader up the same way Mozilla did with the exception of
ScriptRequest due to the fact that ScriptLoader and ScriptRequest are
interdependent and would create a circular dependency if split apart when not
using unified building.
2020-07-04 07:01:03 +08:00
Moonchild
f85b274e94 Issue #1603 - Part 1: Reorganize ScriptLoader/ScriptElement
- Moves scripting parts of DOM into 'dom/script'
- Renames nsScript{Loader/Element} to Script{Loader/Element}
- Adjusts all callers
2020-07-04 07:01:00 +08:00
wolfbeast
179fd7df8a Issue #1602 - Make sure we have a JSObject before trying to get global.
Dynamic script loading/unloading (thank you modules) can yank the script
out from under us before the JS API for it is initialized, leading to
null deref crashes.
This adds a simple check if the passed-in object is sane and present.
Resolves #1602
2020-07-04 07:00:57 +08:00
Moonchild
61e78cda6a [Pale-Moon] Issue #1782 - Add option to insert all new tabs after the current tab
This adds 'browser.tabs.insertAllAfterCurrent' as a preference which
makes all new tabs opened to be next to the currently active tab, instead
of at the end - regardless if the tab is considered "related" to the active
tab. This (naturally and logically) overrides 'insertRelatedAfterCurrent'

Resolves #1782
2020-06-27 06:33:45 +08:00
Lootyhoof
9f5067486b [Pale-Moon] Issue MoonchildProductions/UXP#1578 - Add global menubar support for GTK 2020-06-20 06:46:07 +08:00
Gaming4JC
1a100c40d7 Bug 1316302 - Part 4: Refine HTMLEditRules::TryToJoinBlocks() and HTMLEditRules::MoveNodeSmart() with early return style for making scope of EditActionResult variable smaller
For now, let's make the scope of EditActionResult variable in them smaller without big change.

Tag #1563
2020-06-20 06:44:51 +08:00
Gaming4JC
4731db5173 Bug 1316302 - Part 3: Create EditActionResult class for making the methods which return nsresult, handled and canceled with out params
In a lot of places, edit action handlers and their helper methods return nsresult and aHandled and aCanceled with out params. However, the out params cause the code complicated since:

* it's not unclear if the method will overwrite aHandled and aCanceled value.
* callers need to create temporary variable event if some of them are not necessary.

This patch rewrites the helper methods of HTMLEditRules::WillDeleteSelection() with it.

Tag #1563
2020-06-20 06:44:49 +08:00
Gaming4JC
2afdd9f0ba Bug 1316302 - Part 2: WillDeleteSelection() should retry to handle it when selection is collapsed and JoinBlocks() doesn't handle nor cancel the action
When selection is collapsed and JoinBlocks() doesn't handle nor cancel the action, WillDeleteSelection() should move selection to the start/end of leftmost/rightmost editable leaf node and retry to handle the action again.

For avoiding infinite loop, it checks if selected node is changed actually before calling itself again.

Tag #1563
2020-06-20 06:44:47 +08:00
Gaming4JC
bdd709df2b Bug 1316302 - Part 1: Helper methods for HTMLEditRules::WillDeleteSelection() should have an out argument to indicates if it actually handles the action
When HTMLEditRules::WillDeleteSelection() tries to remove something from the end/start of a block to its last/first text node but it's contained by block elements, it tries to join the container and the block. However, JoinBlocks() always fails to join them since it's impossible operation. In this case, HTMLEditRules::WillDeleteSelection() should retry to remove something in the leaf, however, it's impossible for now because JoinBlocks() and its helper methods don't return if it handles the action actually.

This patch renames |JoinBlocks()| to |TryToJoinBlocks()| for representing what it is. And this patch adds |bool* aHandled| to the helper methods. Then, *aHandled and *aCancel are now always returns the result of each method. Therefore, for merging the result of multiple helper methods, callers need to receive the result with temporary variables and merge them by themselves.

Note that when they modify DOM node actually or the action should do nothing (for example, selection is across tables), aHandled is set to true.

Tag #1563
2020-06-20 06:44:45 +08:00
Lootyhoof
2b8d258df0 Follow up to Issue #1578 - Remove unnecessary MOZ_ASSERT 2020-06-20 06:44:31 +08:00
Moonchild
478eed8da0 Issue #1594 - restore UAC elevation in the uninstaller.
Effectively backs out BZ 1333789 which was uplifted to
Firefox before we forked for UXP.
Resolves #1594
2020-06-20 06:44:29 +08:00
Gaming4JC
c0409464b6 Bug 1613623 - For IMAP, no longer allow STARTTLS when server sends PREAUTH greeting.
Tag #1312
2020-06-20 06:44:27 +08:00
Matt A. Tobin
90e9fd3550 Bug 1430299 - Add DocumentOrShadowRoot interface
Tag #1375
2020-06-20 06:43:51 +08:00
Matt A. Tobin
693a79ca08 Bug 1429656 - Implement ShadowRoot.activeElement
Tag #1375
2020-06-20 06:43:49 +08:00
Matt A. Tobin
db72493615 Bug 1426494 - Share more code between nsIDocument and ShadowRoot
Tag #1375
2020-06-20 06:43:47 +08:00
Matt A. Tobin
15f6d2efda Bug 1355787 - nsIdentifierMapEntry should let one to use either strings or atoms as keys to avoid slow string assignments when possible.
Tag #1375
2020-06-20 06:43:45 +08:00
Matt A. Tobin
c21eecd1b3 Bug 1217436 - Make nsIdentifierMapEntry::mIdContentList an AutoTArray to save an allocation
Tag #1375
2020-06-20 06:43:43 +08:00
Matt A. Tobin
9e9b145d6d [Pale-Moon] Remove duplicate panels with the same ID
Currently Pale Moon uses an older version of autocomplete as a private binding
2020-06-12 22:13:57 +08:00
Moonchild
1b3eeca9eb Issue #1587 - Part 10: Expose controlling pref and enable by default 2020-06-12 22:12:39 +08:00
Moonchild
3d396386dc Issue #1587 - Part 9: Immediately reject an already-aborted signal 2020-06-12 22:12:37 +08:00
Moonchild
8ac3ccd67a Issue #1587 - Part 8: Remove controller follow/unfollow
Since it didn't end up being in the final spec after all.
2020-06-12 22:12:34 +08:00
Moonchild
b988c351ff Issue #1587 - Part 7: Rename FetchController to AbortController
Also renames FetchSignal to AbortSignal. Includes renaming the various
controlling prefs to enable.
2020-06-12 22:12:32 +08:00
Moonchild
0c2404efa7 Issue #1587 - Part 6: Move FetchController/Signal to its own dir
Since it is specced separately from fetch.
2020-06-12 22:12:29 +08:00