Commit graph

1,373 commits

Author SHA1 Message Date
wolfbeast
21f7feb805 Avoid following the prototype chain
No longer follow the value's prototype chain when creating index updates
in IndexedDB.
2019-10-25 12:00:16 +08:00
wolfbeast
d21dc0f76a Issue #1253 - Reset performance object on navigation
This also addresses clearing of document dependent JS slots which might
get out of sync with innerWindow navigation; relevant comments added.

This resolves #1253
2019-10-25 12:00:08 +08:00
Gaming4JC
1f9d16132b Issue #1233 - Part 2: Update Reftests
List of relevant patches applied:

1425599 part 15 - [css-grid] Test reference fixes + more tests.

1373678 Part 3: Add line number checks to test_grid_implicit.html.

1416350 - Part 3: Add test to verify line numbers of grids with leading implicit tracks.

1416350 - Part 4: Add a reftest of repeat:auto-fit grids with leading implicit tracks.

1417711 - [css-grid] An abs.pos. grid container child that only covers removed 'auto-fit' tracks should not span to the end padding edge.

1416350 - Part 5: Correct the expected results for grids that have leading implicit tracks.

1418727 part 3 - [css-grid] Reftest updates.
2019-10-05 07:22:08 +08:00
Gaming4JC
f22ad944b7 Issue #1233 - Part 1: Fix grid overflow and rendering issues by improving Layout CSS-Grid API
List of relevant patches applied:

1425599 part 1 - [css-grid] Change the track sizing algorithm for spanning items so that it accumulates individual item contributions to the plan by max() rather than incrementing the planned size directly.

Also, fix a bug when copying back the planned limits after updating it for the first span group. It should only copy back track sizes that were actaully spanned by those items, other content-sized tracks' limits should remain at "infinity".

1425599 part 2 - [css-grid] Factor out the min-sizing parts of the track sizing for spanned items to a templated method (idempotent change).

1425599 part 3 - [css-grid] Factor out most of the max-sizing parts of the track sizing for spanned items to a templated method (idempotent change).

1425599 part 4 - [css-grid] Factor out the starting base/limit size to a templated method (idempotent change).

1425599 part 5 - [css-grid] Make CollectGrowable a templated method so that it works with either base/limit sizes (idempotent change).

1425599 part 6 - [css-grid] Make the size distribution methods templated with the intent of merging them in a later patch (idempotent change).

This patch also introduces an eInfinitelyGrowable bit to help get rid of the 'limits' temporary track sizes in the next patch.

1425599 part 7 - [css-grid] Remove the 'limits' copy of track sizes since they are no longer needed (idempotent change).

1425599 part 8 - [css-grid] Factor out the fit-content clamping function from DistributeToTrackLimits and pass it as a param instead (idempotent change).

1425599 part 9 - [css-grid] Merge DistributeToTrackLimits/Bases (idempotent change).

1425599 part 10 - [css-grid] Make MarkExcludedTracks a static method since it doesn't use 'this' (idempotent change).

1425599 part 11 - [css-grid] Hoist the marking of excluded tracks out from GrowSelectedTracksUnlimited to a separate method (idempotent change).

1425599 part 12 - [css-grid] Merge CopyPlanToBase/Limits into a templated method instead (idempotent change).

1425599 part 13 - [css-grid] Merge Grow[Base|Limits]ForSpanningItems into a templated method instead (idempotent change).

1425599 part 14 - [css-grid] Use iterators instead of an array + start/end index for the item data (idempotent change).

1425599 part 16 - [css-grid] Make SizeContributionForPhase a template.

1425599 - [css-grid] Follow-up bustage fix for stupid compiler warnings.

1378481 - Assign 'roundingError' in the default branch too, to avoid a maybe-uninitialized compiler warning.

1423292 - [css-grid] Add a couple of ItemState bits to Dump(), and make an ItemState assertion stricter (DEBUG-only changes).

1373678 Part 1: Reduce grid line numbers by count of leading implicit lines, minimum 0.

1416350 - Part 1: Correctly account for removed 'auto-fit' tracks also when there are leading implicit tracks.

1416350 - Part 2: Correct logic for Grid API line numbering with leading implicit tracks.

1418727 part 1 - [css-grid] Introduce StateBitsForRange() that collects the union of the state bits for a range of tracks (idempotent change).

1418727 part 2 - [css-grid] Require that an item spans at least one track with an 'auto' min sizing function for Automatic Minimum Size to apply.
2019-10-05 07:22:06 +08:00
wolfbeast
c2fafd67b0 Fix whitelisting of JavaScript-uris by CSP hash. 2019-09-06 23:50:03 +08:00
Olli Pettay
ec1e15a6f2 Ensure the right body element is used throughout the method call. 2019-09-06 23:49:56 +08:00
Sebastian Streich
3f25eeefaf Add checks to respect CSP-wildcard + Ports. 2019-09-06 23:49:53 +08:00
wolfbeast
cfc50f18c4 Fix a crash in IndexedDB. 2019-09-06 23:49:51 +08:00
wolfbeast
b3b78fea06 Issue #1222: Don't load plugin instances when they have no src URI.
Favor fallback content in that case (if present). Fallback is always
considered "good" in this case so may end up doing nothing which is what
we'd want for corner cases that hammer this routine with no content.
2019-09-06 23:48:49 +08:00
wolfbeast
19a7a8f535 Issue #1179: fix indentation 2019-09-06 23:48:44 +08:00
wolfbeast
f34f8ca034 Issue #1221: Pass the original element into
nsXMLContentSerializer::CheckElementEnd so that we can properly
determine whether it has children.

This resolves #1221
2019-08-30 13:37:37 +08:00
win7-7
e6f376f5ef Convert dom/base/nsImageLoadingContent.cpp to use AsyncOpen2 and followups along with it (1445670 and 1373780 part 2 and 3)
Convert dom/base/nsImageLoadingContent.cpp to use AsyncOpen2 and followups along with it (1445670 and 1373780 part 2 and 3)
2019-08-10 06:26:08 +08:00
Gaming4JC
624a2f1b61 1283712 - Part 8: Add WorkerErrorBase, WorkerErrorNote, and WorkerErrorReport. 2019-07-22 19:50:22 +08:00
Gaming4JC
fffabb3de4 1283712 - Part 7: Add nsIScriptErrorNote and nsIScriptError.notes. 2019-07-22 19:50:19 +08:00
Gaming4JC
19854690b7 1332245 - Move nsScriptError from js/xpconnect to dom/bindings. 2019-07-22 19:50:13 +08:00
Gaming4JC
317605333c 1320408 - Part 22: Remove JSContext* parameter from ProxyObject::renew and Wrapper::Renew. 2019-07-22 19:48:52 +08:00
Gaming4JC
1af9026a89 1333045 - Update Location object properties to current spec.
Specifically, three changes:
1) valueOf should be non-enumerable.
2) valueOf should be === to Object.prototype.valueOf.
3) There should be no toJSON.
2019-07-22 19:47:15 +08:00
wolfbeast
08ccf18274 Use WeakPtr for extension parent pointer. 2019-07-22 19:45:24 +08:00
Kyle Machulis
b2512d610b Don't allow cross-origin POST redirects on 308 codes.
We already don't allow cross origin POST redirects on 307 redirects;
this adds extra guards to make sure we don't allow them on 308s either.
2019-07-22 19:45:11 +08:00
wolfbeast
537197dfdc Truncate Buffer/Texture on GL_OOM. 2019-07-20 06:25:26 +08:00
wolfbeast
4ad12f3588 Get RefPtr for IDBOpenDBRequest before using it. (DiD) 2019-07-20 06:25:23 +08:00
Jeroen Vreeken
3dfc953945 Alow AAC audio codec data in matroska/webm streams.
Allow CRC32 elements in matroska cluster elements.
2019-07-19 10:04:57 +08:00
wolfbeast
d2baf53a14 Revert "Capture delayed events and cancel as necessary."
Tag #1052 (backout).
Backed out for creating issues like #1191 and other issue-less problems
with e.g. losing the caret from text boxes. Of note: this was also
backed out from m-c for similar reasons in Bug 1332433.
This fixes #1191.
This reverts commit 3424afccaebc71c4acd4fa9eadf519c408c5965b.
2019-07-19 10:04:49 +08:00
wolfbeast
9a4b847b7e Consider domain when deciding on inner window reuse. 2019-07-19 10:04:47 +08:00
Bryce Van Dyk
30f4771cb7 Use a RefPtr to hold owner element ref when moving media resource load
to background.
2019-07-19 10:04:45 +08:00
wolfbeast
71a6b780d9 Don't access gNeckoChild if not on main thread. (DiD)
This patch also makes UDPSocketChild::Bind return NS_ERROR_NOT_AVAILABLE
when mBackgroundManager is null.
2019-07-19 10:04:25 +08:00
win7-7
ffb2d9d791 Dispatch a PluginRemoved event for actual plugins, not images/unknown/iframe-type <objects>
If a page uses or removes many <object> elements which are not actually plugins, loading the page goes to a crawl because UXP recalculates the plugin UI every time.

Only dispatch a PluginRemoved event for actual plugins.
2019-07-19 10:04:08 +08:00
wolfbeast
e4273a3c58 Selectively allow ftp subresources in the blocked mode.
- Allow "Save As..." downloads
- Allow subresource use if the top-level document is also on FTP
2019-07-19 10:03:19 +08:00
wolfbeast
797f3eae35 Add preference to allow the loading of FTP subresources for corner cases 2019-07-19 10:03:17 +08:00
Jeroen Vreeken
68c810a1ac Make matroska mime type checking more consistent. 2019-07-12 16:56:04 +08:00
Jeroen Vreeken
a960d679d5 Allow matroska mime types for video element and MSE
Allow avc (h.264) content in matroska/webm containers
2019-07-12 16:56:02 +08:00
win7-7
922e819d1c Attach FrameProperties to each frame instead of using a shared hashtable
Dispense the shared hashtable and instead attach the frame property list directly to nsIFrame.
2019-07-05 21:32:14 +08:00
wolfbeast
c3a85ded77 Improve origin-clean algorithm based on our previous changes.
- Instead of trying the failing refactored Mozilla way, simply add a
check where needed building on what was put in place previously.
2019-06-07 09:52:36 +08:00
wolfbeast
64acfb5ca0 Revert "Improve origin-clean algorithm"
This reverts commit e69b3f567c4b8957cc09ba4359e84939f77781c5.
2019-06-07 09:52:34 +08:00
wolfbeast
de22dcde32 [WebGL] Enable size limit on Linux.
Some drivers on Linux are not supportive of very large allocation sizes
(esp. applicable to Linux x86 builds of UXP applications) and could
cause issues. Treat this the same way we already do on Mac/Darwin.
2019-05-31 07:22:28 +08:00
wolfbeast
85e68b684f Improve origin-clean algorithm 2019-05-31 07:21:08 +08:00
wolfbeast
b3deb955e9 [places] Prevent some abuse of smart queries. 2019-05-31 07:21:02 +08:00
win7-7
53acd97766 NodeInfoManager should use a local cache
issue #1111
2019-05-31 07:19:14 +08:00
wolfbeast
450910d668 [media] Rewrite AudioConverter::DownmixAudio
- Structure the code better
- Directly downmix to mono from multichannel
2019-05-31 07:18:47 +08:00
wolfbeast
a6d976c0cd [IndexedDB] Call SendFailureResult if the actor has been destroyed.
Normally we wouldn't need to send any notifications if the actor was
already destroyed, but it can be a VersionChangeOp which needs to
notify its parent operation (OpenDatabaseOp) about the failure.
So SendFailureResult needs to be called even when the actor was
destroyed.  Normal operations redundantly check if the actor was
destroyed in SendSuccessResult and SendFailureResult, therefore it's
ok to call it in all cases here.
2019-05-31 07:18:37 +08:00
win7-7
f7def6729d change for nsNodeInfoManager.cpp
based to patch for https://bugzilla.mozilla.org/show_bug.cgi?id=1352235 v1 add main thread only cache.
2019-05-31 07:18:03 +08:00
win7-7
37870c0ff2 Add missing NS_AtomizeMainThread(nameToUse);
nsCOMPtr<nsIAtom> nameAtom = NS_AtomizeMainThread(nameToUse);
2019-05-31 07:17:59 +08:00
win7-7
c4af2549b2 add main thread only cache for nsIAtoms to speed up atomization dom/base
add main thread only cache for nsIAtoms to speed up atomization
2019-05-31 07:17:44 +08:00
Gaming4JC
4ab1401ee6 Issue #1102 - Disable <meta http-equiv=set-cookie>
Create a new pref 'dom.meta-set-cookie.enabled' which is set to 'false', disabling http-equiv meta cookies.
2019-05-31 07:17:21 +08:00
wolfbeast
b39b43014b Add nullcheck.
This resolves #1088
2019-05-17 22:17:22 +08:00
wolfbeast
78b6f639b2 Map IntersectionObserver rect to the correct viewport.
targetFrame is modified during the intersection computation loop, so
it's not the viewport you want if there are scrollframes around.
This bug triggers when IntersectionObservers are used on frames that
wrap.

Follow-up for #249.
2019-05-17 22:17:16 +08:00
Gaming4JC
852ce8292d Fix failure to print when pages contain zero-sized <canvas> element.
Fixes #1058
2019-05-03 21:31:23 +08:00
wolfbeast
e3827df1a0 Capture delayed events and cancel as necessary.
Tag #1052
2019-04-27 08:56:22 +08:00
Matt A. Tobin
97059c1b48 Issue #1053 - Drop support Android and remove Fennec - Part 1b: Remove MOZ_FENNEC 2019-04-27 08:51:55 +08:00
Ascrod
f1d39b624e Issue #991 Part 5: DOM and layout 2019-04-27 08:21:58 +08:00