summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| * | 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.
| * | | Issue #1620 - Intrinsic Aspect Ratio: Debug Follow up.Gaming4JC2020-08-16-0/+2
|/ / / | | | | | | | | | | | | | | | | | | Newly introduced aspect-ratio property did not have CSS_PROP_LIST_EXCLUDE_INTERNAL defines, resulting in the following assertion: \!nsCSSProps::PropHasFlags(p, (1<<28)) (properties defined outside of #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL sections must not have the CSS_PROPERTY_INTERNAL flag), at ...layout/style/nsCSSProps.cpp:289 This patch resolves the assertion by adding #ifndef around the aspect-ratio property.
* | | [CSS] Alias -webkit-appearance for compatibility reasonsMoonchild2020-08-10-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since this is supported as an alias by Firefox and Edge for the same reasons and we have websites using this to (attempt to) override the system-provided styling with their own, leaving out the only supported keyword we'd otherwise have (with -moz- prefix) but still stating -webkit-. TODO: unprefix this completely and make the vendor prefixes aliases.
* | | Merge pull request #1613 from RealityRipple/AspectRatioMoonchild2020-08-08-155/+379
|\ \ \ | | | | | | | | [Image/CSS] Intrinsic Aspect Ratio
| * | | Issue #1620 - Enable Intrinsic Ratio by DefaultAndy2020-08-07-2/+2
| | | | | | | | | | | | | | | | A simpler name feels so much cleaner.
| * | | Issue #1620 - Remove Development CommentsAndy2020-08-07-18/+4
| | | |
| * | | Issue #1620 - Use Intrinsic Aspect Ratio for ImagesAndy2020-08-04-143/+381
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugzilla.mozilla.org/show_bug.cgi?id=1547231 https://bugzilla.mozilla.org/show_bug.cgi?id=1559094 https://bugzilla.mozilla.org/show_bug.cgi?id=1633434 https://bugzilla.mozilla.org/show_bug.cgi?id=1565690 https://bugzilla.mozilla.org/show_bug.cgi?id=1602047 Make use of Aspect Ratios in Image frames before Images are loaded. - Check for width and height HTML properties and create a ratio with them. - Overwrite HTML size values with actual image dimensions on load. - Collapse any frames with srcless images. Comments: dom/html/nsGenericHTMLElement.cpp:1483 layout/generic/nsImageFrame.cpp:289
* | | | Pref and disable getRootNode()Moonchild2020-08-07-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is apparently used for fallback selection and if available it is "assumed" Shadow DOM is also available, while this is a utility function. Webcompat is a nightmare sometimes.
* | | | Issue #1628 - Remove redundant PREF_EM_UPDATE_BACKGROUND_URLMatt A. Tobin2020-08-07-8/+1
|/ / /
* | | Merge pull request #1623 from g4jc/libeditor_patchMoonchild2020-08-04-340/+411
|\ \ \ | | | | | | | | Improve Performance of libeditor