Commit graph

59 commits

Author SHA1 Message Date
Moonchild
68639a9347 Clean up control flow in WaitableEvent. 2024-07-10 14:55:26 +08:00
Matheus Marinho
9e7d1492e6 Issue #2301 - Make Gecko Media Plugins optional when not building EME or WebRTC
Co-authored-by: Moonchild <moonchild@palemoon.org>
2023-09-14 10:22:47 +08:00
Moonchild
2f117eecaa Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from embedding, extensions, gfx, hal, ipc, layout, mailnews,
media and memory. More to come.
2023-05-05 22:57:19 +08:00
Brian Smith
dda19de1bf Issue #2000 - Stop using deprecated ext/hash_map. This has been long deprecated in favor of std::unsorted_map. Since all platforms are using modern compilers now it should not be a problem to switch over to std::unsorted_map in the single place hash_map is used. This allows us to build on platforms which have removed hash_map such as FreeBSD. 2022-09-07 10:39:29 +08:00
Jeremy Andrews
1856e4c18c Issue #1988 - Use libc's arc4random where available.
Configure was defining HAVE_ARC4RANDOM_BUF on systems that have it this whole
time, so the OS specific ifdefs weren't necessary. Maybe the flag that was in
the original patch was an obsolete name for that flag...
2022-08-24 09:27:48 +08:00
Moonchild
c0f4b97fab Issue #1053 - Follow-up: Correct conditional define on POSIX systems.
This conditional was incorrectly changed when removing Android support.
This potentially causes issues on Linux systems by not using pthreads correctly,
which may lead to high idle CPU usage.
2022-06-27 21:47:53 +08:00
Brian Smith
e55ae571da Issue #1905 - Part 3f - Collection of fixes connecting ARM support to the Mac build. Also update ARM XPT code to add Mac/Apple support. 2022-06-13 09:01:18 +08:00
Brian Smith
13fcc4a046 Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
Moonchild
d4eac725fd Issue #1877 - Resolve RELEASE_OR_BETA conditionals. 2022-04-21 21:46:47 +08:00
Moonchild
a4b0f333ba Issue #1751 -- Remove XP_MACOSX conditionals from the rest of the tree.
This also removes some PP abuse and takes file entries out of PP when no longer
needed without XP_MACOSX conditionals.
2021-05-07 09:53:59 +08:00
Moonchild
9aed800398 Issue #1751 -- Remove files unused without XP_DARWIN 2021-05-05 10:27:29 +08:00
Moonchild
2f27335cc4 Issue #1751 -- Remove XP_DARWIN 2021-05-05 10:27:04 +08:00
Moonchild
a9c8f3a84a Issue #1751 -- Remove XP_IOS 2021-05-05 10:26:14 +08:00
Olivier Certner
208a992fe9 Issue #1699 - Part 2: libevent: Remove 'evutil_secure_rng_add_bytes'
In fact, this is a security threat.

This function calls 'arc4random_addrandom', which was removed from the
reference implementation 7 years go [1], on the ground that this was in fact an
internal interface which is almost impossible to use correctly. This update has
since then been propagated to other implementations (e.g., FreeBSD, IllumOS,
Android).

Do this for all platforms, since 'evutil_secure_rng_add_bytes' is not even used
in the current tree, and for the reason stated above, should never be.

Related bugs at Mozilla and libevent: Links [2] and [3] below.

[1] http://marc.info/?l=openbsd-cvs&m=138238762705209&w=2
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=931354
[3] https://sourceforge.net/p/levent/bugs/320/
2021-01-08 17:40:51 +08:00
Moonchild
810ce6aa74 Issue #1606 - Add support for multi-monitor DPI awareness v2 (W10 1706+) 2020-10-09 21:00:03 +08:00
Gaming4JC
0a7e2d0150 Issue #1656 - Fix broken comment from Part 1
Removing the vim line unintentionally broke the comment leading to build failure, this restores the comment.
2020-10-02 17:19:52 +08:00
Moonchild
d5919942ff Issue #1656 - Part 8: Devtools and misc. 2020-09-25 22:06:55 +08:00
Moonchild
0cd673d720 Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
Moonchild
d7a4abc3d4 Issue #1656 - Part 4: Tackle *.idl, *.css, *.ipdlh, *.webidl, *.cc 2020-09-25 22:04:18 +08:00
Moonchild
8c395520d9 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-25 22:04:12 +08:00
Jiaxun Yang
08b5181555 Bug 1430745 - IPC: Fix unaligned accesses in DirReaderLinux
Tag: #1542
2020-05-23 06:55:31 +08:00
Matt A. Tobin
fc8de58854 Make the reference to Handle unambiguous in ipc/testshell/XPCShellEnvironment.cpp
.. correctly
2020-04-03 09:30:53 +08:00
JMadgwick
1640ee7bc6 Issue #1471 - Fix building on sparc64 Linux
Correct various pre-processor defines for sparc64 and in mozjemalloc use the JS arm64 allocator on Linux/sparc64.
This corrects build problems opn Linux sparc64 and is in line with bugzilla bug #1275204.
2020-04-03 09:26:50 +08:00
Matt A. Tobin
dd6048d3ec Issue #1053 - Remove android support from ipc except for ipc/chromium
This does not include android in the imported chromium code as specific research needs done on defines and logic.
2020-02-27 07:31:20 +08:00
wolfbeast
113362d3b3 Issue #1441 - Guard appomni/greomni with UXP_CUSTOM_OMNI env var.
This adds an addition to the environment set up for child processes
(plugin container) so that it may still be able to pass the omni
parameters there as-needed.
2020-02-15 07:03:45 +08:00
wolfbeast
25ae10aaec Issue #1342 - Remove support for system libevent 2020-01-24 09:36:30 +08:00
Matt A. Tobin
0b1090f40e No Issue - Fix indentation and account for system libevent in ipc/chromium/moz.build 2019-12-18 09:18:35 +08:00
athenian200
8e5c2bcaaa Issue #457 - Fix typo in ipc/chromium/src/base/sys_info_posix.cc
I made a typo in commit 687a789 when updating the ifdef style I used to comply with UXP standards. The typo I made resulted in a compiler warning I failed to notice, so I was asked to tag issue #457 when submitting the PR. I also fixed some trailing whitespace I apparently left behind in the file.
2019-11-22 10:52:00 +08:00
athenian200
1e75eb89f3 Fix nits.
I hope this addresses everything.
2019-11-04 11:54:09 +08:00
athenian200
45bf760ac5 MoonchildProductions#1251 - Part 27: Fix ifdef style.
This should do it for all the commits to files I changed, but while I'm in here I could probably go ahead and turn ALL the singular if defined statements into ifdef statements by using grep/find on the tree. On the other hand, perhaps we should do that as a separate issue so that this doesn't become a case of scope creep.
2019-11-04 11:54:07 +08:00
athenian200
0239eb8ac9 MoonchildProductions#1251 - Part 23: Allow AMD64 build to work.
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Compiling_32-bit_Firefox_on_a_Linux_64-bit_OS

Setting this up turned out to be easier than I thought it would be. All I had to do was apply these instructions in reverse and add the following to my .mozconfig file:

CC="gcc -m64"
CXX="g++ -m64"
AS="gas --64"
ac_add_options --target=x86_64-pc-solaris2.11
export PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig
ac_add_options --libdir=/usr/lib/amd64
ac_add_options --x-libraries=/usr/lib/amd64

Most of these changes were fairly trivial, just requiring me to make a few of the changes I made earlier conditional on a 32-bit build. The biggest challenge was figuring out why the JavaScript engine triggered a segfault everytime it tried to allocate memory. But this patch fixes it:

https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/web/firefox/patches/patch-js_src_gc_Memory.cpp.patch

Turns out that Solaris on AMD64 handles memory management in a fairly unusual way with a segmented memory model, but it's not that different from what we see on other 64-bit processors. In fact, I saw a SPARC crash for a similar reason, and noticed that it looked just like mine except the numbers in the first segment were reversed. Having played around with hex editors before, I had a feeling I might be dealing with a little-endian version of a big-endian problem, but I didn't expect that knowledge to actually yield an easy solution.

https://bugzilla.mozilla.org/show_bug.cgi?id=577056

https://www.oracle.com/technetwork/server-storage/solaris10/solaris-memory-135224.html

As far as I can tell, this was the last barrier to an AMD64 Solaris build of Pale Moon.
2019-11-04 11:54:02 +08:00
athenian200
a5dcb0f82a MoonchildProductions#1251 - Part 22: Remove some unused type declarations from IPC process_util.
https://bugzilla.mozilla.org/show_bug.cgi?id=1397928

Was looking into that _POSIX_PATH_MAX/NAME_MAX issue earlier because it didn't make a lot of sense and I was thinking of other approaches besides char arrays, and I wanted to make sure it didn't cause problems after they did it. Turns out that one commit after this was added, Mozilla determined the code I was working on fixing to be dead code as of Firefox 58. I don't know if it's dead code in Pale Moon as well, but given that it compiles fine without it and I can't find any other references to szExeFile in the IPC code, that seems like a safe bet.

Besides, I determined config/pathsub.c already seems to do what this code looks like it's trying to do, and implements the solution of just defining NAME_MAX to 256 and having done with it that I nearly adopted after realizing that even OS/2 and BeOS, let alone Unix/Linux systems, all basically use that value and there's just disagreement on which system header to check for it.
2019-11-04 11:54:00 +08:00
athenian200
cbf60a2058 Fix a bunch of dumb typos and omissions. 2019-11-04 11:53:57 +08:00
athenian200
9df21e3a0e MoonchildProductions#1251 - Part 10: ipc_channel_posix.cc should use IOV_MAX.
https://bugzilla.mozilla.org/show_bug.cgi?id=1345102

I assess this change to be low-risk for the following reasons:

1. It has been in Firefox since version 55 without issues.

2. The current behavior is not POSIX compliant, and is retained in the one instance where the new functionality causes issues.

3. It makes safer assumptions about implementation details than what we have now.
2019-11-04 11:52:28 +08:00
athenian200
68ee7c2d20 MoonchildProductions#1251 - Part 6: Solaris needs an audio implementation.
Current versions of libcubeb already have a Sun audio implementation, but in Firefox 52 and earlier, this was all they had. I'm not completely happy with this implementation because it has issues like video freezing if the soundcard isn't working, but I think fixing this or pulling in a newer libcubeb would be going too far for too little gain.
2019-11-04 11:52:21 +08:00
athenian200
bfb6af4f3a MoonchildProductions#1251 - Part 5: Fix POSIX compliance issue in process_util.h.
https://bugzilla.mozilla.org/show_bug.cgi?id=1364865

Solaris doesn't define NAME_MAX because if you read the current POSIX standard literally, no system that supports multiple file systems or networking should be defining it. It's a pedantic choice given that they USED to define NAME_MAX, but Solaris always did take POSIX compliance seriously, for better or worse.
2019-11-04 11:52:19 +08:00
athenian200
afb2e3a054 MoonchildProductions#1251 - Part 4: Core build system changes, lots of libevent/IPC junk.
This is mostly ifdefs, but as you can see, Solaris is actually a lot like Linux. They're both more SysV than BSD at core, and most of the differences have more to do with Solaris not using glibc than anything else.

I still need to audit a lot of these changes and understand why they're needed and what the alternative approaches are. After this patch, most of the core functionality needed to build Solaris is here.
2019-11-04 11:52:17 +08:00
wolfbeast
905323d092 Remove crashreporter toolkit files.
Resolves #20
2019-04-04 20:29:55 +08:00
wolfbeast
8ec2b1b1b5 Unhook CR exception handler.
Tag #20
2019-04-04 20:26:49 +08:00
adeshkp
aea50f182f Telemetry: Remove stubs and related code 2019-02-16 00:24:04 +08:00
wolfbeast
27d88fc505 Do not report resource-timing subdocument loads triggered by that subdocument. 2019-02-16 00:22:18 +08:00
wolfbeast
6d43998298 Bug 1478575 - Unify CamerasChild shutdown paths. 2019-02-16 00:13:12 +08:00
wolfbeast
8c8145e620 Remove all C++ Telemetry Accumulation calls.
This creates a number of stubs and leaves some surrounding code that may be irrelevant (eg. recorded time stamps, status variables).
Stub resolution/removal should be a follow-up to this.
2019-02-16 00:12:32 +08:00
wolfbeast
1d958d0390 Fix incorrect code removal in ipc.
Follow-up to a930db1c9e8444ed89754c5a79085d59c7295952
2019-02-16 00:12:15 +08:00
trav90
afedf5b82e Remove unnecessary GCC version checks 2019-02-16 00:06:37 +08:00
wolfbeast
0795e50d87 Refactor structured clone JSAPI to prevent mismatched scopes.
Roll-up of bugs 1442722, 1455071, 1433642, 1456604 and 1458320.
2019-02-16 00:01:32 +08:00
Gaming4JC
d4ac94cf3e Remove support and tests for HSTS priming from the tree. Fixes #384 2019-02-15 23:59:39 +08:00
wolfbeast
4f9e1b3147 Remove IPC CrashReporterClient/Host
Tag #20.
2019-02-15 23:58:29 +08:00
wolfbeast
74df182488 Remove other gonk widget conditionals and unused files.
Tag #288.
2019-02-15 23:57:15 +08:00
wolfbeast
2531de02eb Remove MOZ_WIDGET_GONK [2/2]
Tag #288
2019-02-15 23:57:10 +08:00