Commit graph

2,200 commits

Author SHA1 Message Date
wolfbeast
c15f982d7a Use existing image decoders to handle clipboard BMP data.
This gets rid of the old nsImageClipboard widget code in favor of using
the nsBMPDecoder in imglib.
2019-02-16 00:28:11 +08:00
Alex Gaynor
84cc1f3239 Handle pasted data of certain types with an odd length. 2019-02-16 00:28:10 +08:00
wolfbeast
dbe5dd5e2a Never let "localhost" get sent to a proxy.
Also make "No proxy for" editable always when usable.
2019-02-16 00:28:08 +08:00
wolfbeast
183aae036f Get RefPtr to transaction before using it. (DiD)
Avoid potential use-after-free by getting a RefPtr to a transaction
before calling content code that could cause its de-allocation.
2019-02-16 00:28:07 +08:00
wolfbeast
c0871c52e1 Fix possible data race while updating scope object during compacting GC. 2019-02-16 00:28:06 +08:00
wolfbeast
becadd3588 Align instanceof with the final ES6 spec. 2019-02-16 00:28:03 +08:00
wolfbeast
254178f8e9 Revert "Add "check for updates" to main menu and AppMenu"
This reverts commit d9a05498806ede2978623019ce222150c5cfcef5.
2019-02-16 00:28:02 +08:00
wolfbeast
e89121d522 Add "check for updates" to main menu and AppMenu
Tag #963.
2019-02-16 00:28:00 +08:00
wolfbeast
5f35a6ccf0 Make sure Glass doesn't override LWT style for the title bar.
This resolves #965.
2019-02-16 00:27:59 +08:00
wolfbeast
1a5eb981a7 Include blankthumb in the correct file. 2019-02-16 00:27:57 +08:00
FranklinDM
44709de216 [Basilisk] Use mousemove events instead of MousePosTracker for hiding the navigation bar in fullscreen
* Tag #336
2019-02-16 00:27:56 +08:00
FranklinDM
3687a6bd06 [Pale Moon] Use mousemove events instead of MousePosTracker for hiding the navigation bar in fullscreen
* Tag #336
2019-02-16 00:27:55 +08:00
yami
b5376e63c5 issue #908 - implement missing parts of CSS mask 2019-02-16 00:27:53 +08:00
Andrew McCreight
7b5e5f85de Increase slice time for longer running CCs.
If a CC takes too long (around 50 slices) or gets interrupted by a GC,
we have to finish it synchronously, which can cause a big pause.
This patch tries to avoid that by eagerly increasing the slice budget
the longer a CC goes on. It linearly increases the slice time from 5ms
to 40ms as we approach the halfway point of a CC (1 second), matching
GC pauses, and then leaves it at 40ms.
2019-02-16 00:27:52 +08:00
wolfbeast
6cba36850f Increase purple limit triggers for CC.
Making these much larger to allow more purple buffer buildup
and prevent overzealous cycle collection on purple buffer pressure.
2019-02-16 00:27:50 +08:00
wolfbeast
39d5eb7759 Remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS 2019-02-16 00:27:49 +08:00
wolfbeast
e015efb999 Consolidate tracing and traversing. 2019-02-16 00:27:47 +08:00
Ascrod
13969c80a3 Pale Moon: Use file path for bookmarks import/export. 2019-02-16 00:27:46 +08:00
wolfbeast
5aa6fbb0ae Fix build error with JS_HAS_TOSOURCE undefined. 2019-02-16 00:27:44 +08:00
trav90
7c9325064a Update HSTS preload list
Tag #447
2019-02-16 00:27:43 +08:00
wolfbeast
191530d0cf Set incremental GC slice to 20 ms duration 2019-02-16 00:27:41 +08:00
NTD
e30598c519 [TychoAM] Fix GMP* so that EME works in Basilisk
Also, keep WebExAM working for the moment
2019-02-16 00:27:39 +08:00
adeshkp
521c918660 Remove telemetry leftovers from JS engine. 2019-02-16 00:27:38 +08:00
NTD
120aa8a81e Only state the stop notification for JSDownloads in nsWebBrowserPersist::EndDownload 2019-02-16 00:27:36 +08:00
wolfbeast
496aae0631 Revert "Fix bookmarks backup logic."
This reverts commit 99f5afe64b393809c4bdee6c92d0769091bd2ca0.
2019-02-16 00:27:35 +08:00
wolfbeast
eebdb819ea [AM] Remove spurious warning for staged cleanup.
This fixes #773.
2019-02-16 00:27:33 +08:00
trav90
a137fdb1c1 Always treat composition time offsets as signed
Even for version 0 ctts atoms that technically should contain only
unsigned values.
2019-02-16 00:27:32 +08:00
David Teller
7d0bef1093 Reduce number of allocations in AutoStopwatch
This patch fixes two related issues.
1. The AutoStopwatch uses a stack-allocated `mozilla::Vector` to
communicate with its callback during each compartment switch.
This vector was designed to allow its contents to be stack-allocated
but they turned out to be accidentally heap-allocated.

2. During each tick, the stopwatch fills a vector `recentGroups_`.
This vector always started with minimal capacity and had to grow
repeatedly as groups were added, causing repeated reallocations.
This patch preallocates `recentGroups_` to have the same capacity as the
previous tick. We expect that this should eventually reach a stable size
that closely matches the actual needs of the process.
2019-02-16 00:27:30 +08:00
wolfbeast
dce38e8d76 Revert "Reduce number of allocations in AutoStopwatch"
This reverts commit 3476c1d60ec29c5497123194acd7a9310b1023d2.
2019-02-16 00:27:29 +08:00
David Teller
059aeea416 Reduce number of allocations in AutoStopwatch
This patch fixes two related issues.
1. The AutoStopwatch uses a stack-allocated `mozilla::Vector` to
communicate with its callback during each compartment switch.
This vector was designed to allow its contents to be stack-allocated
but they turned out to be accidentally heap-allocated.

2. During each tick, the stopwatch fills a vector `recentGroups_`.
This vector always started with minimal capacity and had to grow
repeatedly as groups were added, causing repeated reallocations.
This patch preallocates `recentGroups_` to have the same capacity as the
previous tick. We expect that this should eventually reach a stable size
that closely matches the actual needs of the process.
2019-02-16 00:27:28 +08:00
wolfbeast
1e2c555484 [PALEMOON] Remove some dead code from browser glue
(plugin update service)
2019-02-16 00:27:26 +08:00
wolfbeast
8dab928cc3 [BASILISK] Align browser glue with TychoAM for enableable add-ons. 2019-02-16 00:27:25 +08:00
wolfbeast
b60487cfc9 Remove remote add-on debugging control. 2019-02-16 00:27:23 +08:00
wolfbeast
084eb46afa Add nullcheck for addons (pre-installed webextensions return null)
Tag #937.
2019-02-16 00:27:22 +08:00
FranklinDM
b8070842f1 Only use white audio indicator when using a lightweight theme [pinned tabs] 2019-02-16 00:27:21 +08:00
FranklinDM
e2b186d571 Only use white audio indicator when using a lightweight theme 2019-02-16 00:27:19 +08:00
wolfbeast
c2496a58d0 Fix incorrect file reference in onDownloadDragStart
Follow-up to Janek's port in 462332eee018e24d88255c708fa8acb67a717673
where this variable was changed creating a mismatch with surrounding
code.

This fixes #943.
2019-02-16 00:27:18 +08:00
wolfbeast
83dcf0f290 Fix bookmarks backup logic.
This is a follow-up to an incomplete patch submitted to Tycho:
https://github.com/MoonchildProductions/Pale-Moon/pull/1082

Also reduces the idle time before attempting to backup in the background
to 10 minutes (was 15).
2019-02-16 00:27:17 +08:00
wolfbeast
a1c22f3a76 Check for contiguous buffer state.
When we are reading large image data (i.e.: people using webp to stream
video instead of the native webm format; I'm looking at you, Giphy!)
we can run into the situation where the available data is not in a
contiguous buffer, and we need to either buffer additional data or
re-buffer from the start. If we don't do this, we can run into issues
because of buffer over-reading (causing corrupted data if allocated or
more likely crashes if not allocated).
Re-buffering is expensive, but this should be rare and limited to
dealing with unintended use for animated image formats.

This resolves #940.
2019-02-16 00:24:38 +08:00
wolfbeast
3640321580 Make Sourcebuffer::AppendFromInputStream handle canceled image loads. 2019-02-16 00:24:36 +08:00
wolfbeast
f84fdea422 Make resuming of decoding work for anonymous decoders. 2019-02-16 00:24:35 +08:00
wolfbeast
072fbe1a93 Update libwebp to version 1.0.2
This resolves #939.
2019-02-16 00:24:34 +08:00
wolfbeast
3cc2485e42 Properly camelCase dom.intersectionObserver.enabled pref. 2019-02-16 00:24:32 +08:00
wolfbeast
125d551bd6 Revert "Disable IntersectionObserver API because of crashes."
This reverts commit ac1beef5c10a114afe18897d5d3ced24ac378b92.
2019-02-16 00:24:31 +08:00
wolfbeast
7798af3c14 Actually unlink targets from registered intersection observers.
When a node is released/removed, and it has an intersection observer
attached to it, that observer should be unlinked at the time of release.

This resolves #935.
2019-02-16 00:24:29 +08:00
wolfbeast
bc84969432 Disable IntersectionObserver API because of crashes.
See #934 and #935.
2019-02-16 00:24:27 +08:00
Ascrod
b85fb498d9 Fix check for HSTS when service is disabled. 2019-02-16 00:24:25 +08:00
Ascrod
ecab329490 [PALEMOON] Fix the option to disable HSTS. 2019-02-16 00:24:24 +08:00
Ascrod
57ca286478 Add preference for fully disabling HSTS. 2019-02-16 00:24:23 +08:00
wolfbeast
dc2cf8544d Rewrite IntersectionObserver list handling to be more robust.
Tag #935.
2019-02-16 00:24:21 +08:00