Commit Graph
129 Commits
Author SHA1 Message Date
Sylvestre Ledru 3bdffba86f Bug 2023419 - Remove Emacs/Vim modelines from modules/ r=emilio
replaced by .editorconfig
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D287857
2026-03-17 12:06:03 +00:00
serge-sans-paille 9b6eb9c7f9 Bug 1996048 - Remove unused inclusion of UniquePtr.h or UniquePtrExtensions.h r=emilio,media-playback-reviewers,profiler-reviewers,win-reviewers,firefox-style-system-reviewers,firefox-svg-reviewers,layout-reviewers,gstoll,mstange,TYLin,chunmin
Differential Revision: https://phabricator.services.mozilla.com/D269782
2025-10-24 06:50:27 +00:00
serge-sans-paille 5bb9e0bbc5 Bug 1982662 - Use std::default_delete instead of mozilla::DefaultDelete r=necko-reviewers,webrtc-reviewers,dom-storage-reviewers,firefox-style-system-reviewers,jesup,emilio,pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D260855
2025-08-25 08:59:21 +00:00
Valentin Gosu 047b388bc9 Bug 1940027 - Use nsACString in jar code r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D234164
2025-01-17 14:33:04 +00:00
Sean e23b5e1040 Bug 1898652 - Remove network.jar.require_size_match pref r=gregp,valentin
Differential Revision: https://phabricator.services.mozilla.com/D212176
2024-06-10 13:24:56 +00:00
Masatoshi Kimura 190ed9853f Bug 1875001 - Remove unused features from nsDirIndexParser. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D198797
2024-01-27 01:09:43 +00:00
Valentin Gosu 38caefee8b Bug 1838117 - Reject JAR entries that don't inflate to the correct size r=jesup
- Adds pref for whether to enforce size match with central->orglen
- Checks return code of inflateEnd and returns error if it's not Z_OK
- Also enter the finished block if mZs.total_out > mOutSize

Differential Revision: https://phabricator.services.mozilla.com/D181458
2023-06-26 13:58:38 +00:00
Noemi Erli eb7432bed2 Backed out changeset 8e2d2d475096 (bug 1838117) for causing bustages in nsJARInputStream.cpp CLOSED TREE 2023-06-24 22:57:32 +03:00
Valentin Gosu c0ef625f61 Bug 1838117 - Reject JAR entries that don't inflate to the correct size r=jesup
- Adds pref for whether to enforce size match with central->orglen
- Checks return code of inflateEnd and returns error if it's not Z_OK
- Also enter the finished block if mZs.total_out > mOutSize

Differential Revision: https://phabricator.services.mozilla.com/D181458
2023-06-24 19:21:12 +00:00
Valentin Gosu e283b6f1d6 Bug 1828068 - Add some null checks/assertions to jar code r=jesup
Differential Revision: https://phabricator.services.mozilla.com/D178986
2023-06-12 07:34:07 +00:00
Valentin Gosu 3134f03fb3 Bug 1836322 - End jar inflation if nothing to read r=jesup
Depends on D162239

Differential Revision: https://phabricator.services.mozilla.com/D179796
2023-06-07 10:46:24 +00:00
Valentin Gosu 378c702b72 Bug 1812038 - Avoid OOM with corrupt JAR archive r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D176907
2023-05-10 17:06:06 +00:00
Noemi Erli 7cc00871e8 Backed out changeset 68f1bedc4fd5 (bug 1812038) for causing build bustages in nsJARInputStream.cpp 2023-05-03 12:04:50 +03:00
Valentin Gosu 58b16dcaaa Bug 1812038 - Avoid OOM with corrupt JAR archive r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D176907
2023-05-03 07:59:26 +00:00
serge-sans-paille 5300bd545c Bug 1828386 - Make modules/libjar buildable outside of a unified build environment r=andi
Differential Revision: https://phabricator.services.mozilla.com/D175599
2023-04-18 13:43:20 +00:00
Nika Layzell 2e6ea183a0 Bug 1818305 - Part 2: Add a streamStatus method to nsIInputStream, r=xpcom-reviewers,necko-reviewers,geckoview-reviewers,valentin,jesup,m_kato,mccr8
This is semantically similar to the existing available() method, however will
not block, and doesn't need to do the work to actually determine the number of
available bytes.

As part of this patch, I also fixed one available() implementation which was
incorrectly throwing NS_BASE_STREAM_WOULD_BLOCK.

Differential Revision: https://phabricator.services.mozilla.com/D170697
2023-03-15 19:52:34 +00:00
Jan Rio Krause 3fe00f5de7 Bug 1519200 - Remove NS_ERROR_FILE_TARGET_DOES_NOT_EXIST in favor of NS_ERROR_FILE_NOT_FOUND. r=xpcom-reviewers,nika,dom-storage-reviewers,jstutte
Differential Revision: https://phabricator.services.mozilla.com/D77575
2022-04-05 15:17:03 +00:00
Randell Jesup 902e82c0b6 Bug 1744043: Clean up nsJAR r=nika,valentin,extension-reviewers,robwu
Differential Revision: https://phabricator.services.mozilla.com/D132794
2022-03-24 13:54:56 +00:00
Marian-Vasile Laza 11a28c9714 Backed out 2 changesets (bug 1754063, bug 1744043) for causing xpcshell failures on test_ext_clear_cached_resources.js. CLOSED TREE
Backed out changeset faf305b1b14d (bug 1754063)
Backed out changeset 24ee1c0756ae (bug 1744043)
2022-03-08 09:08:23 -08:00
Randell Jesup d113688326 Bug 1744043: Clean up nsJAR r=nika,valentin
Differential Revision: https://phabricator.services.mozilla.com/D132794
2022-03-08 13:57:56 +00:00
Nika Layzell 0e975d0e8d Bug 1741665 - Align nsCString's public size_type better with other C++ APIs, r=mccr8,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D131422
2021-12-13 21:47:56 +00:00
Mike Hommey 4ccd662af2 Bug 1717947 - Remove support for brotli streams in Jar archives. r=valentin
This was added in bug 1355661, has been kept Nightly-only since then,
and was only used briefly for omni.ja, and eventually we switched
compression off entirely on omni.ja. If we ever switch compression on
again on omni.ja, it would likely be with zstd, which is much faster
on the compression side.

Differential Revision: https://phabricator.services.mozilla.com/D118654
2021-06-25 00:20:10 +00:00
Valentin Gosu c5729c1168 Bug 1707853 - Use std::copy instead of memcpy to ensure exception handling works r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D113497
2021-04-27 13:33:27 +00:00
Valentin Gosu 213ad384c9 Bug 1551562 - Use CopyMemory instead of memcpy on Windows inside try/catch blocks r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D112343
2021-04-16 12:58:28 +00:00
Valentin Gosu 46552466b4 Bug 1675465 - Add DIAGNOSTIC_ASSERT in nsJARInputStream::Read r=jstutte
We want to make sure we don't accidentally read more than the size of the file.

Differential Revision: https://phabricator.services.mozilla.com/D96006
2020-11-05 12:18:39 +00:00
Doug Thayer 07ea733e25 Bug 1656261 - Back out all recent StartupCache work r=RyanVM
This backs out all work from bug 1627075 as well as all of its
descendents. There were a few conflicts when backing this out but
overall it was pretty clean, so I would say it's a fairly mild
level of risk. Historically Nathan Froyd has reviewed these patches,
but he is no longer at Mozilla, and no one else is particularly
familiar with the code, so I am passing this off to RyanVM who has
at least been familiar with the history of the bug.

Differential Revision: https://phabricator.services.mozilla.com/D90096
2020-09-14 17:00:53 +00:00
Doug Thayer b2dfc6e015 Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.

Depends on D77635

Differential Revision: https://phabricator.services.mozilla.com/D77634
2020-07-08 02:46:34 +00:00
Narcis Beleuzu 800959c79c Backed out 6 changesets (bug 1627075) for bustages on startupcache/StartupCache.cpp . CLOSED TREE
Backed out changeset 21605186687e (bug 1627075)
Backed out changeset e29b15980da2 (bug 1627075)
Backed out changeset eb5265addd5e (bug 1627075)
Backed out changeset dfd71f4ecb81 (bug 1627075)
Backed out changeset 13ecd68b3c0d (bug 1627075)
Backed out changeset 333d035afe92 (bug 1627075)
2020-07-07 23:30:48 +03:00
Doug Thayer dc2a01073b Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.

Depends on D77635

Differential Revision: https://phabricator.services.mozilla.com/D77634
2020-07-07 17:04:27 +00:00
Mihai Alexandru Michis 92ee58898a Backed out 6 changesets (bug 1627075) for causing bustages in StartupCache.cpp
CLOSED TREE

Backed out changeset fc144caf5d06 (bug 1627075)
Backed out changeset a345e05df151 (bug 1627075)
Backed out changeset 288a67aed661 (bug 1627075)
Backed out changeset 2cb021a493d8 (bug 1627075)
Backed out changeset 920398d1c3d3 (bug 1627075)
Backed out changeset ebdcd96a9d20 (bug 1627075)
2020-07-07 08:47:14 +03:00
Doug Thayer 1fe434493e Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.

Depends on D77635

Differential Revision: https://phabricator.services.mozilla.com/D77634
2020-07-07 04:36:27 +00:00
Noemi Erli effd9b0737 Backed out 7 changesets (bug 1627075) for causing @nsZipArchive crashes CLOSED TREE
Backed out changeset 9705b2759d45 (bug 1627075)
Backed out changeset 699212a443c3 (bug 1627075)
Backed out changeset 7ae4df10749c (bug 1627075)
Backed out changeset ece9a4223349 (bug 1627075)
Backed out changeset 6c4eedaa0d04 (bug 1627075)
Backed out changeset f5106898239f (bug 1627075)
Backed out changeset b6029c7c0016 (bug 1627075)
2020-07-02 14:05:53 +03:00
Doug Thayer a37de50ab4 Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.

Depends on D77635

Differential Revision: https://phabricator.services.mozilla.com/D77634
2020-07-02 02:51:41 +00:00
Mihai Alexandru Michis 7bf8703134 Backed out 6 changesets (bug 1627075) for causing failures regarding startupcache.
CLOSED TREE

Backed out changeset cf23b456ba12 (bug 1627075)
Backed out changeset b07887474f51 (bug 1627075)
Backed out changeset 65c0e6790a33 (bug 1627075)
Backed out changeset 6cd31f17a931 (bug 1627075)
Backed out changeset 0f0d1bd2a8ac (bug 1627075)
Backed out changeset 763a5a7b43a0 (bug 1627075)
2020-07-01 22:16:28 +03:00
Doug Thayer 6ebf575132 Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.

Depends on D77635

Differential Revision: https://phabricator.services.mozilla.com/D77634
2020-07-01 17:09:53 +00:00
Simon Giesecke a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Doug Thayer 789bc9044a Bug 1595596 - Use MMAP_FAULT_HANDLER in StartupCache r=aklotz
Please double check that I am using this correctly. I believe we are
seeing the crash in the linked bug because we are not handling hardware
faults when reading from the memory mapped file. This patch just wraps
all accesses in the MMAP_FAULT_HANDLER_ macros.

Depends on D53042

Differential Revision: https://phabricator.services.mozilla.com/D53043
2020-04-10 21:16:15 +00:00
Dorel Luca 327e1a87e2 Backed out 2 changesets (bug 1595596) for build bustage in build/src/mozglue/misc/MmapFaultHandler.cpp. CLOSED TREE
Backed out changeset 34c018c96749 (bug 1595596)
Backed out changeset 1e21eefd5fce (bug 1595596)
2020-03-31 02:07:33 +03:00
Doug Thayer 8a0d512a88 Bug 1595596 - Use MMAP_FAULT_HANDLER in StartupCache r=aklotz
Please double check that I am using this correctly. I believe we are
seeing the crash in the linked bug because we are not handling hardware
faults when reading from the memory mapped file. This patch just wraps
all accesses in the MMAP_FAULT_HANDLER_ macros.

Depends on D53042

Differential Revision: https://phabricator.services.mozilla.com/D53043
2020-03-27 21:00:47 +00:00
Chris Peterson 0a9155f83b Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj
This changeset is a simple find and replace of `MOZ_FALLTHROUGH` and `[[fallthrough]]`.

Unfortunately, the MOZ_FALLTHROUGH_ASSERT macro (to assert on case fallthrough in debug builds) is still necessary after switching from [[clang::fallthrough]] to [[fallthrough]] because:

* MOZ_ASSERT(false) followed by [[fallthrough]] triggers a -Wunreachable-code warning in DEBUG builds
* but MOZ_ASSERT(false) without [[fallthrough]] triggers a -Wimplicit-fallthrough warning in NDEBUG builds.

Differential Revision: https://phabricator.services.mozilla.com/D56440
2019-12-20 07:16:43 +00:00
Gabriele Svelto f03cdb2b2d Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55444
2019-12-06 09:17:57 +00:00
Michal Novotny 80baf8a85c Bug 1550815 - Handle SIGBUS error when accessing mmapped file, r=aklotz,haik
This patch adds mmap page fault handling to linux/android.

Differential Revision: https://phabricator.services.mozilla.com/D42010
2019-10-10 14:07:06 +00:00
Sylvestre Ledru ad31adba4c Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

Differential Revision: https://phabricator.services.mozilla.com/D28956
2019-05-01 08:47:10 +00:00
Ehsan Akhgari 498e2df734 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset
2019-01-18 10:16:18 +01:00
Cameron McCormack 70e94213b2 Bug 1194856 - Remove UA style sheet load crash report annotations r=gsvelto,dbaron
This backs out the main patch landed earlier in bug 1194856 and the
patch from bug 1225004.

Differential Revision: https://phabricator.services.mozilla.com/D14050
2018-12-15 00:02:56 +00:00
Tooru Fujisawa 5ef6d9cc06 Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Jonathan Kew a6e3363317 Bug 1340910 - pt 2+3 - Import Brotli 0.6.0 from upstream, and Gecko updates required to work with Brotli 0.6.0 API changes. r=glandium 2017-08-09 11:45:39 +01:00
Sylvestre Ledru 9d4a84d778 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG
2017-07-06 14:00:35 +02:00
Mike Hommey 3b0b47d020 Bug 1355661 - Add support for brotli streams in Jar archives. r=aklotz
Modern compression algorithms are better than zlib both in terms of
space and time. The jar format, used for e.g. omni.ja, addons, etc.
could benefit from using such modern algorithms, but the format only
allows a limited set of compression algorithms.

However, the format in itself is flexible, in that it can be extended
with arbitrary compression algorithms. This breaks compatibility with
programs like unzip, obviously, but we've never promised the files
shipped with Firefox will always remain "valid" zips (which they already
aren't, but they currently work with most zip readers).

With this change, we allow those archives to contain brotli streams,
using an arbitrary large value for the compression type in the Zip local
file header. This only allows to read such archives, but not to produce
them, and, for now, support for brotli streams is kept Nightly-only,
until everything is pieced together and we're happy to ship it.
2017-04-07 14:48:25 +09:00