summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Issue #1629 - Part 4: Ensure isExplicitlyEnabled is false upon sheet creation.athenian2002020-09-06-2/+5
| | | | This clarifies the assumptions the code is making and the order in which the variables pass through the loading process. The new variable is set after the sheet is created and prepared, and is assumed to be false in the beginning.
* Fix nitsathenian2002020-08-14-3/+3
|
* Issue #1629 - Part 3: Implement behind preference.athenian2002020-08-14-7/+26
| | | | | | This is not very "clean," and is mostly done in the same sloppy way as Emilio did it because that's basically the only way you can do it. Note well that this does NOT actually turn off everything I've done in a clean fashion like ifdefs would. For instance, the Explicitly Enabled flag is still present, but is now always false because the only condition that can set it true is behind the pref and therefore inert when this pref is off. Also, because the arguments of SetDisabled have changed, my modifications to SetMozDisabled must be present regardless of whether the pref is on or off. What I have done is turn off the actual reflection of the disabled attribute in Disabled and SetDisabled, as well as in AfterSetAttr. However, turning the pref off seems to restore more or less our old behavior, though there may be subtle differences unlike with an ifdef since this is, unfortunately, not an exact science and I can only turn off changes that happen within individual functions and not changes in how functions interact with each other.
* Issue #1629 - Part 2: Implement the Explicitly Enabled flag.athenian2002020-08-13-31/+79
| | | | | | | | | | | | | | | | This part of the bug was significantly complicated by the following major refactors: https://bugzilla.mozilla.org/show_bug.cgi?id=1456435 https://bugzilla.mozilla.org/show_bug.cgi?id=1459498 As best as I can tell, we just need to implement the explicitly enabled flag on every instance of GetStyleSheetInfo, make sure aIsExplicitlyEnabled is false in every situation except the one where the disabled content attribute is removed from a link element, and enable alternate stylesheets if this flag is set on them. So we take the explicitly enabled flag as an input to PrepareSheet, and also add it to LoadStyleLink and LoadInlineStyle. I also decided not to defer loading of alternate stylesheets that have been explicitly enabled.
* Issue #1629 - Part 1: Implement basic logic in HTMLLinkElement.athenian2002020-08-13-12/+24
| | | | | | | | | | | | | | | So basically, I'm trying to adapt this to UXP: https://bugzilla.mozilla.org/show_bug.cgi?id=1281135 The earliest source of difficulty while adapting Bug 1281135 to our codebase was simply getting the new ErrorResult flag added to the SetDisabled function to play nice with the SetMozDisabled function. At this point, the implementation can actually have a stylesheet be disabled by default but there are supposedly issues with alternate stylesheets. At first I played around with the return type of SetMozDisabled to no avail, but I found another solution fairly quickly. https://bugzilla.mozilla.org/show_bug.cgi?id=846972 https://bugzilla.mozilla.org/show_bug.cgi?id=1157898 Essentially, the way around the problem of the number of return arguments not matching up is to declare a local variable within SetMozDisabled called ErrorResult rv, and using that to store the return value of the ErrorResult argument from SetDisabled. After that, because ErrorCode was removed, you would return rv.StealNSResult() in order to report success or failure to any consumer that calls on SetMozDisabled.
* Merge pull request #1607 from g4jc/618Moonchild2020-07-12-1/+2
|\ | | | | Issue #618 - Remove eager instantiation - Debug follow up
| * Issue #618 - Remove eager instantiation - Debug follow upGaming4JC2020-07-11-1/+2
|/ | | | | | | 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.
* [network] Use query and ref lengths if available in nsStandardURL.Moonchild2020-07-10-2/+6
|
* [js] Get the class pointer from the ObjectGroup in NativeObject::slotSpanMoonchild2020-07-10-1/+4
| | | | | | 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.
* Force clobberMoonchild2020-07-09-1/+1
|
* [NSS] Version and build bumpMoonchild2020-07-09-7/+6
|
* [NSS] Implement constant-time GCD and modular inversionSohaib ul Hassan2020-07-09-132/+292
| | | | | | | | | | | | 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
* [js] Improve readability and control flow of js date string parser.Moonchild2020-07-09-3/+16
|
* [WebRTC] Make candidate pair insertion code easier to read/understand.Byron Campen [:bwc]2020-07-09-14/+7
| | | | | | | 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
* [AppCache] Add check for disallowed encoded path separatorsMoonchild2020-07-09-0/+8
|
* [image] Add a sanity check to JPEG encoder buffer handling, just in case.Moonchild2020-07-09-3/+8
|
* Merge branch 'es-modules-work'Moonchild2020-07-08-3/+1
|\
| * Issue #618 - Fix typo and remove old function declarations.Moonchild2020-07-07-3/+1
| |
* | Merge branch 'es-modules-work'Moonchild2020-07-06-446/+1097
|\|
| * Issue #618 - Report source position information (line/column)Moonchild2020-07-04-39/+161
| | | | | | | | | | | | Report source position information for module export resolution failures. Ref: BZ 1362098
| * Issue #618 - Slightly improve module scripting tests.Moonchild2020-07-04-16/+44
| | | | | | | | Ref: BZ 1388728
| * Issue #618 - Further align error handling for module scripts with the specMoonchild2020-07-04-89/+280
| | | | | | | | Ref: BZ 1388728
| * Issue #618 - Remove context and heap-idle checkMoonchild2020-07-04-8/+4
| | | | | | | | | | | | | | | | | | 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.
| * Issue #618 - Remove eager instantiationMoonchild2020-07-04-129/+10
| | | | | | | | | | This backs out the stuff added in Bug 1295978. Ref: BZ 1295978, 1388728
| * Issue #618 - Fix JSAPI additions to pass the JS context.Moonchild2020-07-03-6/+8
| |
| * Issue #618 - Match JSAPI names with the changes in ↵Moonchild2020-07-03-21/+20
| | | | | | | | | | | | 9ca74147225eed305e28c7887f9b2251aeeb0f36 Ref: BZ 1388728
| * Issue #618 - Add APIs to query module record errorsMoonchild2020-07-03-0/+20
| | | | | | | | Ref: BZ 1388728
| * Issue #618 - Update code comments for ModuleInstantiateMoonchild2020-07-03-2/+2
| |
| * Issue #618 - Align module instantiation/errors with the updated spec.Moonchild2020-07-03-217/+611
| | | | | | | | | | Store and re-throw module instantiation and evaluation errors. Ref: BZ 1374239, 1394492
| * Issue #618 - Add clarifying code comments.Moonchild2020-07-01-0/+12
| |
| * Issue #618 - Check for failed instantiation when starting to fetch dependenciesMoonchild2020-07-01-0/+6
| | | | | | | | | | If instantiation has failed, then also fail the load and don't fetch imports. Ref BZ: 1358882
* | Merge branch 'es-modules-work'Moonchild2020-07-01-949/+1106
|\|
| * Issue #1603 - Part 2: Split some classes out of ScriptLoader.cppMoonchild2020-07-01-534/+651
| | | | | | | | | | | | | | 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.
| * Issue #1603 - Part 1: Reorganize ScriptLoader/ScriptElementMoonchild2020-06-30-514/+554
|/ | | | | | - Moves scripting parts of DOM into 'dom/script' - Renames nsScript{Loader/Element} to Script{Loader/Element} - Adjusts all callers
* Issue #1602 - Make sure we have a JSObject before trying to get global.wolfbeast2020-06-27-1/+7
| | | | | | | | 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
* Merge pull request #1596 from g4jc/1563Moonchild2020-06-16-137/+388
|\ | | | | Allow backspace to work in editor even if there is a non-empty text node on the right
| * Bug 1316302 - Part 4: Refine HTMLEditRules::TryToJoinBlocks() and ↵Gaming4JC2020-06-14-53/+59
| | | | | | | | | | | | | | | | 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
| * Bug 1316302 - Part 3: Create EditActionResult class for making the methods ↵Gaming4JC2020-06-14-149/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Bug 1316302 - Part 2: WillDeleteSelection() should retry to handle it when ↵Gaming4JC2020-06-14-3/+15
| | | | | | | | | | | | | | | | | | | | 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
| * Bug 1316302 - Part 1: Helper methods for ↵Gaming4JC2020-06-14-59/+149
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge pull request #1595 from Lootyhoof/issue-1578-fixupNew Tobin Paradigm2020-06-14-1/+0
|\ \ | | | | | | Remove unnecessary MOZ_ASSERT from widget/gtk/nsNativeMenuService.cpp
| * | Follow up to Issue #1578 - Remove unnecessary MOZ_ASSERTLootyhoof2020-06-14-1/+0
| | |
* | | Issue #1594 - restore UAC elevation in the uninstaller.Moonchild2020-06-14-28/+7
| |/ |/| | | | | | | | | Effectively backs out BZ 1333789 which was uplifted to Firefox before we forked for UXP. Resolves #1594
* | Merge pull request #1590 from g4jc/mail_patchNew Tobin Paradigm2020-06-14-19/+35
|\ \ | | | | | | Don't allow STARTTLS when server sends PREAUTH
| * | Bug 1613623 - For IMAP, no longer allow STARTTLS when server sends PREAUTH ↵Gaming4JC2020-06-11-19/+35
| | | | | | | | | | | | | | | | | | greeting. Tag #1312
* | | Merge pull request #1591 from MoonchildProductions/sr.activeElement-workMoonchild2020-06-14-419/+556
|\ \ \ | |_|/ |/| | Implement ShadowRoot.activeElement
| * | Bug 1430299 - Add DocumentOrShadowRoot interfaceMatt A. Tobin2020-06-13-6/+31
| | | | | | | | | | | | Tag #1375
| * | Bug 1429656 - Implement ShadowRoot.activeElementMatt A. Tobin2020-06-13-72/+88
| | | | | | | | | | | | Tag #1375
| * | Bug 1426494 - Share more code between nsIDocument and ShadowRootMatt A. Tobin2020-06-13-335/+369
| | | | | | | | | | | | Tag #1375
| * | Bug 1355787 - nsIdentifierMapEntry should let one to use either strings or ↵Matt A. Tobin2020-06-13-22/+76
| | | | | | | | | | | | | | | | | | atoms as keys to avoid slow string assignments when possible. Tag #1375