Commit Graph

202 Commits

Author SHA1 Message Date
Chris Peterson
6d5fe7ef82 Bug 1356843 - Fix -Wcomma warning in modules/libjar/nsZipArchive.cpp. r=aklotz
clang's -Wcomma warning warns about suspicious use of the comma operator such as between two statements or to call a function for side effects within an expression.

modules/libjar/nsZipArchive.cpp:651:25 [-Wcomma] possible misuse of comma operator here

MozReview-Commit-ID: 9PjB915D81f
2017-03-27 21:39:36 -07: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
Eric Rahm
fe64c04600 Bug 1351801 - Switch libjar over to ArenaAllocator. r=bsmedberg
This converts libjar over to using ArenaAllocator instead of plarena.h. All
files can now be built in unified mode.

MozReview-Commit-ID: Ev8yyhxqRr7
2017-04-05 11:16:43 -07:00
Eric Rahm
8644f2267b Bug 1353143 - Part 3: Switch PR_ASSERT usage to MOZ_ASSERT. r=froydnj 2017-04-04 14:36:17 -07:00
Sylvestre Ledru
2e2dd65bad Bug 1338086 - Remove useless else blocks in order to reduce complexity in modules/libjar/ r=froydnj
MozReview-Commit-ID: LvDRxqoEAoY
2017-02-09 10:54:30 +01:00
Sylvestre Ledru
e280a53be2 Bug 1337358 - Converts for(...; ...; ...) loops to use the new range-based loops in C++11 in modules/libjar/ r=froydnj
MozReview-Commit-ID: AZtieJz44uD
2017-02-08 12:06:26 +01:00
Andrew McCreight
209d4ee048 Bug 1323042 - forbid MOZ_COUNT_{CTOR,DTOR} for nsISupports classes; r=froydnj 2016-12-12 09:27:58 -05:00
Nathan Froyd
f2d50c26f4 Backout aba6c73511a2 (bug 1307961) for massive test bustage resulting in a CLOSED TREE; r=alltheorange 2016-12-12 08:45:46 -05:00
Andrew McCreight
2f93d6e48d Bug 1307961 - require consistent bloatview reporting for nsISupports classes; r=froydnj 2016-12-12 07:58:33 -05:00
Nicholas Nethercote
ee63ad186f Bug 1296164 (part 1) - Use [must_use] on nsIFile.{create,createUnique}. r=froydnj.
And fix numerous missing checks that this change identifies.
2016-08-18 13:30:12 +10:00
Kyle Huey
b035c8c5c6 Bug 1282527: Remove remaining PR_ASSERTs outside of NSPR/NSS. r=dbaron 2016-06-28 10:47:22 -07:00
Patrick McManus
1224d92b30 Bug 1215319 - zip archive fix part 2 r=dragana 2016-05-23 17:06:44 -04:00
Patrick McManus
1b064cac23 Bug 1215319 - zipArchive fix r=dragana 2016-05-12 11:33:47 -04:00
Kirk Steuber
b7efe85827 Bug 1269185 - Prevent crashes in Windows when zip files cannot be read. r=spohl
MozReview-Commit-ID: 32uEegoKL4J
2016-05-04 12:57:21 -07:00
Kirk Steuber
4a342243b7 Bug 1260836 - Add functionality to allow CRX files to be handled as ZIP files. r=spohl
MozReview-Commit-ID: 9JeSC6L4x6Z
2016-04-06 18:28:24 -07:00
Cameron McCormack
f7e0168a64 Bug 1225004 - Record reason for NS_ERROR_FILE_CORRUPTED in nsLayoutStylesheetCache::LoadSheet in crash reports. r=roc 2015-11-16 19:18:45 +11:00
Wes Kocher
fb3bcf9f8f Backed out changeset 4efb6cc4fd5d (bug 1225004) for build bustage CLOSED TREE 2015-11-16 14:51:17 -08:00
Cameron McCormack
6f779c4392 Bug 1225004 - Record reason for NS_ERROR_FILE_CORRUPTED in nsLayoutStylesheetCache::LoadSheet in crash reports. r=roc 2015-11-16 19:18:45 +11:00
Nigel Babu
41531a0a2b Backed out changeset 6d47b0590988 (bug 1225004) for ASAN build bustage on a CLOSED TREE 2015-11-16 14:46:58 +05:30
Cameron McCormack
cec3ef3221 Bug 1225004 - Record reason for NS_ERROR_FILE_CORRUPTED in nsLayoutStylesheetCache::LoadSheet in crash reports. r=roc 2015-11-16 19:18:45 +11:00
Nathan Froyd
c1daed3f74 Bug 1222575 - use UniquePtr<T[]> instead of nsAutoArrayPtr<T> in modules/libjar/; r=aklotz 2015-11-03 16:36:32 -05:00
Andrea Marchesini
72a6447bd2 Bug 1214782, r=ehsan 2015-10-20 13:32:47 +02:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Aaron Klotz
bd6a22a8ad Bug 1211262: Ensure that STORED entries in ZIP are considered corrupt if compressed and uncompressed sizes differ; r=mwu 2015-10-13 12:20:25 -06:00
Wes Kocher
eeb4ab1004 Backed out changeset 6d7a8e19086c (bug 1211262) for wError build bustage CLOSED TREE 2015-10-13 13:59:15 -07:00
Aaron Klotz
67cb340f4f Bug 1211262: Ensure that STORED entries in ZIP are considered corrupt if compressed and uncompressed sizes differ; r=mwu 2015-10-13 12:20:25 -06:00
Shian-Yow Wu
bf9ec579f4 Bug 1069081 - Part 1: Always cache fd in JAR cache except Windows. r=mwu 2015-07-30 16:05:57 +08:00
Andrea Marchesini
e64d701ef2 Bug 1167888 - better string length check in nsZipArchive::BuildFileList, r=smaug 2015-06-04 15:04:10 +01:00
Andrea Marchesini
37bfee02ee Bug 1166900 - better string length check in nsZipArchive::GetDataOffset, r=dveditz 2015-06-04 15:04:10 +01:00
Eric Rahm
ddc8ac650b Bug 1165518 - Part 2: Replace prlog.h with Logging.h. rs=froydnj 2015-05-19 11:15:34 -07:00
Jed Davis
5a032318dd Bug 1034143: Step 2b: Add the ability to read jar files from arbitrary memory. r=honzab r=jduell 2015-03-10 17:00:01 -07:00
Mike Hommey
715db83e04 Bug 1126593 - Add a global fallible instance, so that using fallible works directly, everywhere. r=njn 2015-02-02 09:56:13 +09:00
Shian-Yow Wu
0cae547874 Bug 988816 - Allow to keep file descriptor in JAR cache. r=aklotz, jduell 2014-07-18 10:46:24 +08:00
Birunthan Mohanathas
a575bd9831 Bug 869836 - Part 8: Use Append('c') instead of Append("c"). r=ehsan 2014-05-22 06:48:52 +03:00
Shian-Yow Wu
e84623612c Bug 945152 - Part 3-1: New libjar APIs. r=aklotz 2014-05-16 13:34:43 +08:00
Kyle Huey
ea94e7d568 Bug 967364: Rename already_AddRefed::get to take. r=bsmedberg 2014-03-15 12:00:15 -07:00
Ehsan Akhgari
860f2c1f29 Bug 969757 - Remove the dead code in our tree which pretends to support OS/2; r=roc,mcmanus,gps,jorendorf,bsmedberg sr=bsmedberg 2014-02-10 17:57:01 -05:00
Peiyong Lin
fb7c9b1cb1 Bug 943505 - Use fallible allocation in nsZipItemPtr_base::nsZipItemPtr_base. r=bsmedberg 2013-12-11 14:14:03 -05:00
Ehsan Akhgari
49e7ca13be Bug 942486 - Move PL_ARENA_CONST_ALIGN_MASK out of nsZipArchive.h; r=mwu 2013-11-25 15:44:25 -05:00
Birunthan Mohanathas
911d2a4dd9 Bug 784739 - Switch from NULL to nullptr in modules/; r=ehsan 2013-10-23 16:36:26 -04:00
Joshua Cranmer
9b57110864 Bug 884061 - Part 3p: Use NS_DECL_THREADSAFE_ISUPPORTS in modules/, r=taras,bsmedberg 2013-07-18 21:23:44 -05:00
Mike Hommey
c887ad6fbd Bug 892401 - Remove NEW_H. r=ted 2013-07-12 09:16:41 +09:00
Aaron Klotz
6c093c47f6 Bug 810151: readahead for ordered jar files r=taras 2013-03-21 10:28:13 +01:00
Matt Brubeck
6bb3b776f5 Back out 7f6c38239328 (bug 810151) on suspicion of causing Windows xpcshell failures on a CLOSED TREE 2013-03-06 18:51:12 -08:00
Aaron Klotz
8d7fa0bbcd Bug 810151: readahead for ordered jar files r=taras 2013-03-06 11:58:29 -07:00
Mike Hommey
8c68cdf751 Bug 840094 - Change how nsZipArchive logging works. r=taras,r=gps
Now log in a single file given by the MOZ_JAR_LOG_FILE environment variable.
Log entries contain the URI of the Zip archive, followed by the path in the
archive.
* * *
Bug 840094 - Fixup for debug builds failure because of nsZipArchive::CloseArchive being called several times
2013-02-19 11:02:12 +01:00
Jason Duell
f4bb3bac36 Bug 832162 - fix jar BuildSynthetics r=taras 2013-01-24 17:47:05 -08:00
Isaac Aggrey
990e90e88a Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Ehsan Akhgari
57ec2ec569 Bug 792502 - Kill the FunctionTimer code; r=vlad 2012-09-19 16:59:38 -04:00
Ehsan Akhgari
243c878d26 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00