summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Issue #1587 followup - Improve resilience of AbortSignals.Moonchild2020-08-28-2/+9
|
* [misc/mar] Don't use a signed type for a length parameter.Moonchild2020-08-28-1/+1
|
* [DOM] Only construct JS-implemented objects if inner window is current.Kris Maglione2020-08-28-1/+6
|
* [media] Only include source error details in debugging scenarios.Moonchild2020-08-28-1/+21
| | | | | | | Unless a user is debugging media errors, this detail is unnecessary to report and could include sensitive data which could be abused by third-party requesters. This aligns it with the standard success/error paradigms in normal browsing situations.
* Merge branch 'es-modules-work'Moonchild2020-08-27-1460/+1783
|\
| * Merge pull request #1637 from g4jc/618Moonchild2020-08-27-734/+780
| |\ | | | | | | Don't preload nomodule scripts when modules are enabled
| | * Issue #618 - Regenerate the HTML Parser code for nomodule changesGaming4JC2020-08-26-717/+724
| | | | | | | | | | | | Ref: BZ 1446082
| | * Issue #618 - Don't preload nomodule scripts when modules are enabledGaming4JC2020-08-26-18/+57
| |/ | | | | | | Ref: BZ 1382020
| * Issue #618 - (async) Implement async attribute for inline module scripts.Moonchild2020-08-25-41/+73
| | | | | | | | | | | | | | | | | | | | This commit does several things: - Moves the pref check from ScriptLoader to ns[I]Document so it can be called on the document. - Changes the atrribute freezing function to a better name that takes the document as a parameter. - Sets the proper async/defer attributes on HTML script elements based on keywords and whether they are module scripts or not.
| * Issue #618 - (async) Keep track of script modes in a single mode state.Moonchild2020-08-25-17/+61
| | | | | | | | | | | | This simplifies handling of combinations of async/defer by assigning one and only one state to scripts. If async then always async > if defer or module then defer > otherwise blocking.
| * Issue #618 - (async, preload) Correctly pass info about async/defer to parser.Moonchild2020-08-24-15/+53
| | | | | | | | | | | | This makes sure we don't block body-referred sub-resources by head-referenced defer and async scripts. This is important for all script loads, not just modules, but is added here because it was run into while implementing modules.
| * Issue #618 - (async) Split out function to add async request.Moonchild2020-08-24-23/+31
| |
| * Issue #618 - Rename some script load request flags to be more descriptive.Moonchild2020-08-24-11/+11
| |
| * Issue #618 - Make document.currentScript null in modules.Moonchild2020-08-23-4/+7
| | | | | | | | Because the spec says so.
| * Issue #618 - Fix processing of non-parser-generated module scripts.Jon Coppeard2020-08-22-23/+32
| |
| * Issue #618 - Handle errors for inline module scripts and ensure we update theJon Coppeard2020-08-22-12/+18
| | | | | | | | module map after fetch errors.
| * Issue #618 - Split SRI verification out from OnStreamComplete.Moonchild2020-08-22-19/+35
| |
| * Issue #618 - Split handling of load errors out from OnStreamComplete.Moonchild2020-08-22-59/+67
| |
| * Issue #618 - Integrity for descendant module scripts should be the empty stringMoonchild2020-08-22-4/+4
| | | | | | | | Because the spec says so.
| * Issue #618 - Don't mute errors for module scripts because they always use CORSJon Coppeard2020-08-22-4/+4
| |
| * Merge branch 'master' into es-modules-workMoonchild2020-08-22-16407/+22265
| |\
| * | Issue #618: Pass down referrer and referrer policy when fetching modules.Moonchild2020-08-13-25/+42
| | | | | | | | | | | | Because the spec says so.
| * | Issue #618: Ignore 'event' and 'for' attributes for module scripts.Moonchild2020-08-13-23/+30
| | | | | | | | | | | | Because the spec says so.
| * | Merge branch 'master' into es-modules-workMoonchild2020-08-13-2981/+4289
| |\ \
| * | | [js] Try to catch bad pointers for GC and bail if not valid.Moonchild2020-08-06-0/+42
| | | |
| * | | Issue #618 - Simplify module resolve hook to be a function pointerMoonchild2020-08-06-74/+76
| | | | | | | | | | | | | | | | | | | | This is an ahead-of time port to try and address #1624. This is based on BZ 1461751 and Jon Coppeard's work in it.
| * | | [js] Add some utility functions to get the current JS runtime.Moonchild2020-08-06-0/+8
| | | |
| * | | Merge pull request #1627 from g4jc/618Moonchild2020-08-06-86/+106
| |\ \ \ | | | | | | | | | | Keep track of which modules in a graph have been fetched
| | * | | Issue #618 - Keep track of which modules in a graph have been fetched using ↵Gaming4JC2020-08-04-72/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a visited set Ref: BZ 1365187
| | * | | Issue #618 - Simplify module map interfaceGaming4JC2020-08-04-14/+14
| |/ / / | | | | | | | | | | | | Ref: BZ 1365187
| * | | Merge pull request #1626 from g4jc/618Moonchild2020-08-04-3/+5
| |\ \ \ | | | | | | | | | | Fix debug build issues on es-modules-work branch
| | * | | Issue #618 - Align error handling for module scripts with the spec - Debug ↵Gaming4JC2020-08-03-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | follow up MODULE_STATUS_ERRORED is no more. Replacing with newer API. Ref: BZ 1420420
| | * | | Issue #618 - Lazily initialise module binding maps - Debug follow upGaming4JC2020-08-03-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The added debug assertion does not work due to missing API. They were added in BZ 1337491, 1395366, and others, but were primarily used for multi-threading. This uses our existing non-multithreaded syntax instead, resolving a `no member named` build error.
| | * | | Issue #618 - Remove eager instantiation - Debug follow upGaming4JC2020-08-03-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.
| * | | Issue #618 - Record module dependency before starting fetch so that errorJon Coppeard2020-08-02-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | handling works correctly Ref BZ 1395896
| * | | Issue #618 - Lazily initialise module binding mapsMoonchild2020-07-08-27/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it so they are not allocated on a background thread in a different zone to the final module. Ref: BZ 1372258
| * | | Issue #618 - Use a single slot for the module's environment object.Moonchild2020-07-08-47/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the spec this isn't created until the module is instantiated, but we create it when we compile the module. We stored this previously in InitialEnvironmentSlot and copied it to EnvironmentSlot when it was supposed to be created, but we can just store it in the latter slot straight away and check the module's status and return null if it shouldn't exist yet. This reduces the number of slots needed on a moduleObject to 17. Re: BZ 1420412 Part 1 We can't implement the second part to further reduce our number of slots, because it relies on SetProxyReservedSlot which in turn relies on rearchitecturing JS proxies to make reserved slots dynamic. That's a rabbit hole we really don't want to fall into. So, we'll end up being a bit slower because it can't be in-line allocated with having more than 16 slots, but so be it. I sincerely doubt it will make any practical difference.
| * | | Issue #618 - Align error handling for module scripts with the spec (again)Moonchild2020-07-08-266/+331
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This updates module implementation to match spec regarding handling of instantiation errors, after it was changed yet again, this time to not remember instantiation errors, but instead immediately rethrow applicable ones. Ref: BZ 1420420
| * | | Issue #618 - Fix error events fired when loading JS module dependencies failMoonchild2020-07-08-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When module dependencies fail, don't spam with errors for each import; only fire the error event once. Ref: BZ 1421259
* | | | Update old.configure for --enable-phoenix-extensionsMatt A. Tobin2020-08-22-0/+1
| |_|/ |/| |
* | | Follow up to eb28b1f32 - Correct inputmethod build file by putting ↵Matt A. Tobin2020-08-19-1/+2
| | | | | | | | | | | | | | | | | | Keyboard.jsm back in EXTRA_JS_MODULES JSMs are NOT Components.
* | | [js] Reinstate precise floating point model for all js sources.Moonchild2020-08-19-1/+1
| | |
* | | Issue #457 - Silence SQLite compiler warningMoonchild2020-08-18-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our use of SQLite explicitly avoids using MSVC's _msize which the lib would notrmally use. This was set up this way in BZ bug 719579 for legitimate reasons (because _msize would end up using the system symbol, which would crash trying to get the size information from jemalloc allocations). Since we build the SQLite lib separately there is no easy way to avoid this warning as it's not directly linked against mozglue.dll which has the jemalloc functions it wants for _msize when not using the system allocator. It is implicitly assuming the function is an extern returning an int (with the call specifically casting to int) which is correct (well, correct _enough_, anyway) so the warning can safely be ignored for our specific use as it all lines up at link time.
* | | [db] Update SQLite lib to 3.33.0Moonchild2020-08-18-16361/+22133
| | |
* | | Merge pull request #1632 from athenian200/link_element_disabledMoonchild2020-08-18-44/+123
|\ \ \ | | | | | | | | Respond to disabled attribute set on <link> elements from HTML
| * | | 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 #1635 from g4jc/1620Moonchild2020-08-17-0/+2
|\ \ \ \ | |_|_|/ |/| | | Intrinsic Aspect Ratio: Debug Follow up.