Commit Graph

1079 Commits

Author SHA1 Message Date
Jeff Walden
821db93ccc Bug 1453456 - Replace nsCRT::IsAscii{Alpha,Digit} with mfbt/TextUtils.h versions. r=froydnj
--HG--
extra : rebase_source : b31986c0e6828be79442cfb0cf369eb80c232139
2018-04-12 20:19:30 -07:00
Sebastian Hengst
043061beb5 merge mozilla-central to mozilla-inbound 2018-04-13 16:05:58 +03:00
Sebastian Hengst
0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Marco Castelluccio
fd5bc8ec6c Bug 1413854 - Remove nsTXTToHTMLConv as it is no longer used. r=dragana
--HG--
extra : rebase_source : 29f8a6eaf02fa406499ac48fda99bb67df444506
2018-03-31 16:08:37 +02:00
Tristan Bourvon
a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Nathan Froyd
7bb7ffd8c9 Bug 1453134 - part 1 - add a string input stream constructor that accepts move references; r=baku
This method is more efficient when we know we're not going to need the
string afterwards, and should cut down on intermediate allocations.
2018-04-11 10:06:17 -04:00
Henri Sivonen
eb75469c5b Bug 1448755 - Use AssignLiteral and AssignASCII for short zero-terminated strings in networking. r=jduell.
MozReview-Commit-ID: HPzng5p6qkb

--HG--
extra : rebase_source : 20cec6b448c3152dddac5ac93d678745958a993a
2018-03-26 09:02:32 +03:00
vinoth
24cafeec62 Bug 1416045. r=mayhemer CLOSED TREE
Reviewers: mayhemer

Reviewed By: mayhemer

Subscribers: freddyb, dveditz, mayhemer, ckerschb, vinoth

Tags: PHID-PROJ-wkydohdk6pajyfn2llkb

Bug #: 1416045

Differential Revision: https://phabricator.services.mozilla.com/D675

--HG--
extra : rebase_source : 65fb235d787b6955da1433ea2ffd56082cab0b30
extra : amend_source : affac492394597daf9b3294d4aca2f61bc27fc73
2018-03-22 21:02:16 +02:00
Valentin Gosu
55537212a8 Bug 1433958 - Change code that sets nsIURI.password to use nsIURIMutator r=mayhemer
MozReview-Commit-ID: I8igxClMM5L

--HG--
extra : rebase_source : edca02a7b10ab2e9f5f5498a1164890b9aa75985
2018-02-26 20:43:46 +01:00
Valentin Gosu
7bd0336d01 Bug 1433958 - Change code that sets nsIURI.pathQueryRef to use nsIURIMutator r=mayhemer
MozReview-Commit-ID: HVyZ3E1XuLN

--HG--
extra : rebase_source : fd122b3122e0f3eb371d429bd86ad35d09dcfbf6
2018-02-26 20:43:45 +01:00
Jan Henning
faa05c4265 Bug 1433715 - Make fallback folder icon content-accessible. r=Gijs
The skin used on Firefox for Android doesn't style directory listing, hence we
fall back to using the default icon from gre/res/html. As of bug 863246, this
location is no longer accessible from content as a resource://, hence the file
needs moving into the special content-accessible directory.

MozReview-Commit-ID: obtefafqul

--HG--
extra : rebase_source : 0227487abb4914a11f5749c493d215a1fec45e46
2018-01-28 23:01:42 +01:00
Chris Peterson
37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Masatoshi Kimura
8b05ff3704 Bug 1427023 - Remove nsCRT::strncmp. r=erahm 2018-01-09 23:49:37 +09:00
Shih-Chiang Chien
7ab942f01b Bug 1390708 - remove nsBinHexDecoder r=mcmanus
MozReview-Commit-ID: 73NU592iRbX

--HG--
extra : rebase_source : 1cac9e05d615eb07f5448758e4307679189dcc22
2017-10-11 11:58:28 +08:00
Dragana Damjanovic dd.mozilla@gmail.com
dc9395abcf Bug 1410146 - Fix UnknownDecoder. r=mayhemer 2017-10-24 14:23:00 -04:00
Makoto Kato
7d1d3b65bf Bug 943284 - Use FallbackEncoding instead of nsIPlatformCharset r=emk
MozReview-Commit-ID: 2pDp2RVV9zk
2017-10-19 19:28:00 +09:00
Andrew McCreight
95785a8675 Bug 1402151, part 9 - Implement gtest for FTP directory listing parsing. r=michal
This test turns the existing stand alone test for the FTP directory
listing parser into a gtest.

MozReview-Commit-ID: 7n60TfcTXTJ

--HG--
extra : rebase_source : 79c88708a9bf9bee6c27a82f2c93a95016e063dd
2017-09-25 11:19:33 -07:00
Andrew McCreight
c617e8ebd2 Bug 1402151, part 8 - Add an argument to ParseFTPList to return the current time. r=michal
If the year is omitted from a listing, then the parsing code assumes
that the date occurred within the last year. To compute what the year
should be, the code thus needs to know what the current year, month
and day are. This patch parameterizes ParseFTPList over a function
that returns a PRTime. This will allow the gtest to pass in a fixed
time. Firefox itself will continue to use PR_Now to get the current
time.

MozReview-Commit-ID: 8IbVWbUBHYs

--HG--
extra : rebase_source : 41cc70a044bc19cb8556677cd3502bab3d6c95a4
2017-09-25 13:27:09 -07:00
Andrew McCreight
3b62ffa008 Bug 1402151, part 7 - Add a time zone argument to ParseFTPList. r=michal
In a few places, the FTP parser needs to know the time zone and
daylight savings time correction, encapsulated in
PRTimeParamFn. Before this patch, it would use the time zone of the
current machine, which would obviously make automated testing
difficult. This patch allows a caller to pass in a PRTimeParamFn,
which will allow the gtest to use GMT instead of whatever the local
time is.

MozReview-Commit-ID: 81R3Zbndr43

--HG--
extra : rebase_source : 274c3724259bc2f03f6a9b529ec005421c7c3ae2
2017-09-25 11:45:27 -07:00
Andrew McCreight
ea0c1d283c Bug 1402151, part 3 - Move parse-ftp unit tests into the gtest directory. r=michal
This will make them easier to access from a gtest.

MozReview-Commit-ID: 3lV4DwTosXT

--HG--
rename : netwerk/streamconv/converters/parse-ftp/3-guess.in => netwerk/test/gtest/parse-ftp/3-guess.in
rename : netwerk/streamconv/converters/parse-ftp/3-guess.out => netwerk/test/gtest/parse-ftp/3-guess.out
rename : netwerk/streamconv/converters/parse-ftp/C-VMold.in => netwerk/test/gtest/parse-ftp/C-VMold.in
rename : netwerk/streamconv/converters/parse-ftp/C-VMold.out => netwerk/test/gtest/parse-ftp/C-VMold.out
rename : netwerk/streamconv/converters/parse-ftp/C-zVM.in => netwerk/test/gtest/parse-ftp/C-zVM.in
rename : netwerk/streamconv/converters/parse-ftp/C-zVM.out => netwerk/test/gtest/parse-ftp/C-zVM.out
rename : netwerk/streamconv/converters/parse-ftp/D-WinNT.in => netwerk/test/gtest/parse-ftp/D-WinNT.in
rename : netwerk/streamconv/converters/parse-ftp/D-WinNT.out => netwerk/test/gtest/parse-ftp/D-WinNT.out
rename : netwerk/streamconv/converters/parse-ftp/E-EPLF.in => netwerk/test/gtest/parse-ftp/E-EPLF.in
rename : netwerk/streamconv/converters/parse-ftp/E-EPLF.out => netwerk/test/gtest/parse-ftp/E-EPLF.out
rename : netwerk/streamconv/converters/parse-ftp/O-guess.in => netwerk/test/gtest/parse-ftp/O-guess.in
rename : netwerk/streamconv/converters/parse-ftp/O-guess.out => netwerk/test/gtest/parse-ftp/O-guess.out
rename : netwerk/streamconv/converters/parse-ftp/R-dls.in => netwerk/test/gtest/parse-ftp/R-dls.in
rename : netwerk/streamconv/converters/parse-ftp/R-dls.out => netwerk/test/gtest/parse-ftp/R-dls.out
rename : netwerk/streamconv/converters/parse-ftp/README => netwerk/test/gtest/parse-ftp/README
rename : netwerk/streamconv/converters/parse-ftp/U-HellSoft.in => netwerk/test/gtest/parse-ftp/U-HellSoft.in
rename : netwerk/streamconv/converters/parse-ftp/U-HellSoft.out => netwerk/test/gtest/parse-ftp/U-HellSoft.out
rename : netwerk/streamconv/converters/parse-ftp/U-NetPresenz.in => netwerk/test/gtest/parse-ftp/U-NetPresenz.in
rename : netwerk/streamconv/converters/parse-ftp/U-NetPresenz.out => netwerk/test/gtest/parse-ftp/U-NetPresenz.out
rename : netwerk/streamconv/converters/parse-ftp/U-NetWare.in => netwerk/test/gtest/parse-ftp/U-NetWare.in
rename : netwerk/streamconv/converters/parse-ftp/U-NetWare.out => netwerk/test/gtest/parse-ftp/U-NetWare.out
rename : netwerk/streamconv/converters/parse-ftp/U-Novonyx.in => netwerk/test/gtest/parse-ftp/U-Novonyx.in
rename : netwerk/streamconv/converters/parse-ftp/U-Novonyx.out => netwerk/test/gtest/parse-ftp/U-Novonyx.out
rename : netwerk/streamconv/converters/parse-ftp/U-Surge.in => netwerk/test/gtest/parse-ftp/U-Surge.in
rename : netwerk/streamconv/converters/parse-ftp/U-Surge.out => netwerk/test/gtest/parse-ftp/U-Surge.out
rename : netwerk/streamconv/converters/parse-ftp/U-WarFTPd.in => netwerk/test/gtest/parse-ftp/U-WarFTPd.in
rename : netwerk/streamconv/converters/parse-ftp/U-WarFTPd.out => netwerk/test/gtest/parse-ftp/U-WarFTPd.out
rename : netwerk/streamconv/converters/parse-ftp/U-WebStar.in => netwerk/test/gtest/parse-ftp/U-WebStar.in
rename : netwerk/streamconv/converters/parse-ftp/U-WebStar.out => netwerk/test/gtest/parse-ftp/U-WebStar.out
rename : netwerk/streamconv/converters/parse-ftp/U-WinNT.in => netwerk/test/gtest/parse-ftp/U-WinNT.in
rename : netwerk/streamconv/converters/parse-ftp/U-WinNT.out => netwerk/test/gtest/parse-ftp/U-WinNT.out
rename : netwerk/streamconv/converters/parse-ftp/U-hethmon.in => netwerk/test/gtest/parse-ftp/U-hethmon.in
rename : netwerk/streamconv/converters/parse-ftp/U-hethmon.out => netwerk/test/gtest/parse-ftp/U-hethmon.out
rename : netwerk/streamconv/converters/parse-ftp/U-murksw.in => netwerk/test/gtest/parse-ftp/U-murksw.in
rename : netwerk/streamconv/converters/parse-ftp/U-murksw.out => netwerk/test/gtest/parse-ftp/U-murksw.out
rename : netwerk/streamconv/converters/parse-ftp/U-ncFTPd.in => netwerk/test/gtest/parse-ftp/U-ncFTPd.in
rename : netwerk/streamconv/converters/parse-ftp/U-ncFTPd.out => netwerk/test/gtest/parse-ftp/U-ncFTPd.out
rename : netwerk/streamconv/converters/parse-ftp/U-no_ug.in => netwerk/test/gtest/parse-ftp/U-no_ug.in
rename : netwerk/streamconv/converters/parse-ftp/U-no_ug.out => netwerk/test/gtest/parse-ftp/U-no_ug.out
rename : netwerk/streamconv/converters/parse-ftp/U-nogid.in => netwerk/test/gtest/parse-ftp/U-nogid.in
rename : netwerk/streamconv/converters/parse-ftp/U-nogid.out => netwerk/test/gtest/parse-ftp/U-nogid.out
rename : netwerk/streamconv/converters/parse-ftp/U-proftpd.in => netwerk/test/gtest/parse-ftp/U-proftpd.in
rename : netwerk/streamconv/converters/parse-ftp/U-proftpd.out => netwerk/test/gtest/parse-ftp/U-proftpd.out
rename : netwerk/streamconv/converters/parse-ftp/U-wu.in => netwerk/test/gtest/parse-ftp/U-wu.in
rename : netwerk/streamconv/converters/parse-ftp/U-wu.out => netwerk/test/gtest/parse-ftp/U-wu.out
rename : netwerk/streamconv/converters/parse-ftp/V-MultiNet.in => netwerk/test/gtest/parse-ftp/V-MultiNet.in
rename : netwerk/streamconv/converters/parse-ftp/V-MultiNet.out => netwerk/test/gtest/parse-ftp/V-MultiNet.out
rename : netwerk/streamconv/converters/parse-ftp/V-VMS-mix.in => netwerk/test/gtest/parse-ftp/V-VMS-mix.in
rename : netwerk/streamconv/converters/parse-ftp/V-VMS-mix.out => netwerk/test/gtest/parse-ftp/V-VMS-mix.out
extra : rebase_source : a9924b40cd6d51750c875fce0f85262f6b86c85d
2017-09-25 10:58:11 -07:00
Andrew McCreight
1560fa65f4 Bug 1402151, part 2 - Clamp the number of blocks for a VMS file. r=michal
strtoul returns an |unsigned long|, and clamps the return value to
ULONG_MAX if the input is out of range. This means that the value
returned for large numbers differs between 32-bit and 64-bit
systems. To make testing easier, this patch clamps the return value to
UINT32_MAX, ensuring that 32-bit and 64-bit builds of Firefox will be
consistent.

Explicitly declaring that the intermediate value numBlocks is a
uint64_t also avoids (well-defined) integer overflow in the case of a
large file.

This patch also changes PRId64 to PRIu64, because the value being
printed is unsigned. However, this should not make a difference in
practice, because, with clamping, the maximum value being printed is
|UINT32_MAX * 512|.

I also cleaned up the comment that was a little garbled and contained
information about both the old and new ways this was handled, and
removed some code that has been ifdef'd out for at least 14 years.

MozReview-Commit-ID: HELmWmtx24O

--HG--
extra : rebase_source : d7a9f5ab09fcb97d5f6319e5fa1fca1a4f72aa52
2017-09-28 09:32:48 -07:00
Andrew McCreight
1cec304d04 Bug 1402151, part 1 - Improve handling of two digit years. r=michal
The tm_year field of PRExplodedTime is an absolute year, not years
since 1900, so fix a few places that try to do the latter.

I also made the conversion of 2 digit years more consistent.

MozReview-Commit-ID: GetS2wmXHhA

--HG--
extra : rebase_source : abdec76586add29b9741db5237bce77d976c8cdc
2017-09-21 16:34:07 -07:00
Andrew McCreight
d49d38778b Bug 1371891 - Use CheckedInt to compute guess for the location of -> in FTP parser. r=michal 2017-10-09 13:50:02 -04:00
Nicholas Nethercote
d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Shih-Chiang Chien
10b963a865 Bug 1372065 - fix cppcheck linter error in Necko. r=jduell
For netwerk/cache2/CacheFileInputStream.cpp:148 and netwerk/protocol/http/nsHttpHeaderArray.cpp:358,
missing "()" in the if statement.

For netwerk/base/rust-url-capi/test/test.cpp:29, netwerk/streamconv/converters/nsHTTPCompressConv.cpp:297,
and netwerk/streamconv/converters/nsHTTPCompressConv.cpp:300, null pointer will be returned but the
original memory buffer will not be freed if |realloc| fails.  We should remember the original memory
buffer and free it if error is detected.

MozReview-Commit-ID: 2ggXsL73jYV

--HG--
extra : rebase_source : e47e41f2b37f717207bd13990efead22a14db1c0
2017-06-12 11:51:26 +08:00
Nicholas Nethercote
dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Chris Peterson
b98afa1d19 Bug 870698 - Part 11: Replace Insert(NS_LITERAL_STRING("")) with InsertLiteral(u""). r=erahm
The NS_LITERAL_STRING macro creates a temporary nsLiteralString to encapsulate the char16_t string literal and its length, but AssignLiteral() can determine the char16_t string literal's length at compile-time without nsLiteralString.

MozReview-Commit-ID: L9UE3gXHG4Q

--HG--
extra : source : 37d74bf745b23542251cc6b021d6aabb5ffadea1
extra : intermediate-source : 0402b4bd34c293b44c76de22418899420c8e405b
2017-09-07 18:08:18 -07:00
Chris Peterson
a0c8081df4 Bug 870698 - Part 4: Replace Equals("") with EqualsLiteral(""). r=erahm
MozReview-Commit-ID: G1GhyvD29WK

--HG--
extra : rebase_source : 115842c37a40041bdca7b4e1ff0a5680b02ced15
extra : source : 90bfff9c01d80086cdc17637f310e898fea295ea
2017-09-06 01:13:45 -07:00
Gerald Squelart
7dbe315e25 Bug 1398999 - nsDequeFunctor::operator() doesn't need to return anything - r=froydnj
Its return value is never used, and most implementations return nullptr anyway.

MozReview-Commit-ID: 8rxC053mmE8

--HG--
extra : rebase_source : 61a0b8b1373396182efd27d3c01b96e5e5541364
2017-02-09 14:06:36 +11:00
Nicholas Nethercote
f582d96b98 Bug 1390428 (part 9) - Remove nsXPIDLCString. r=erahm.
This is straightforward, with only two notable things.

- `#include "nsXPIDLString.h" is replaced with `#include "nsString.h"`
  throughout, because all nsXPIDLString.h did was include nsString.h. The
  exception is for files which already include nsString.h, in which case the
  patch just removes the nsXPIDLString.h inclusion.

- The patch removes the |xpidl_string| gtest, but improves the |voided| test to
  cover some of its ground, e.g. testing Adopt(nullptr).

--HG--
extra : rebase_source : 452cc4a08046a1adb1a8099a7e85a1917de5add8
2017-08-17 15:29:03 +10:00
Nicholas Nethercote
9160e1cba8 Bug 1390428 (part 6) - Remove nsXPIDLCString class members. r=erahm.
These are all straightforward except for InternalLoadEvent::mTypeHint, which
requires a bit of care to preserve existing behaviour.

--HG--
extra : rebase_source : 9b152122b011cf49b9acccdc98b4693548b8bdd2
2017-08-17 14:17:27 +10:00
Eric Rahm
a33f11e0f5 Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.

--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299
2017-08-16 16:48:52 -07:00
Sebastian Hengst
75955d0246 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 8fJX1xXgzhD
2017-08-22 11:49:04 +02:00
Nicholas Nethercote
8a72cf2251 Bug 1390428 (part 2, attempt 2) - Remove more nsXPIDLCString local variables. r=erahm.
--HG--
extra : rebase_source : 69d58b0cfb56efc6b03d8e2d7be2ce3c3e6cd843
2017-08-21 20:01:27 +10:00
Nicholas Nethercote
4a623e6df4 Bug 1385172 - Replace nsEscapeHTML{,2}() with new nsAppendEscapedHTML() function. r=erahm.
The existing functions work with C strings but almost all the call sites use
Mozilla strings.

The replacement function has the following properties.

- It works with Mozilla strings, which makes it much simpler and also improves
  the call sites.

- It appends to the destination string because that's what a lot of the call
  sites need. For those that don't, we can just append to an empty string.

- It is declared outside the |extern "C"| section because there is no need for
  it to be in that section.

Note: there is no 16-bit variant of nsAppendEscapedHTML(). This is because
there are only two places that need 16-bit variants, both rarely executed,
and so converting to and from 8-bit is good enough.

The patch also adds some testing of the new function, renaming
TestEscapeURL.cpp as TestEscape.cpp in the process, because that file is now
testing other kinds of escaping.

--HG--
rename : xpcom/tests/gtest/TestEscapeURL.cpp => xpcom/tests/gtest/TestEscape.cpp
extra : rebase_source : 51145ae2c9b0b4573c7ea0c342dcb246f9f14fb9
2017-08-18 12:00:59 +10:00
Wes Kocher
91f1f19054 Merge m-c to autoland, a=merge
MozReview-Commit-ID: IMdYxijQ9ie
2017-08-21 17:20:06 -07:00
Nicholas Hurley
d4f64ba24e Bug 1391467 - Remove --enable-necko-protocols. r=gps,valentin
This patch removes the ability to select which protocols you want
included in necko, a wholly untested configuration that is broken in
practice. We have no need of this kind of configurability in necko.

In addition, this removes the final vestiges of rtsp support, which was
originally removed in bug 1295885 but still had some stuff hanging
around behind some ifdefs (that were never true).

MozReview-Commit-ID: KOEaDmit2IL

--HG--
extra : rebase_source : f6c2fdb972aaba46e922cda801252dc953550b94
2017-08-17 17:30:57 -07:00
Michael Kaply
73bafcec5e Bug 1389168 - Remove unnecessary IBM license text. r=gerv
MozReview-Commit-ID: 8HdaBppsJsc

--HG--
extra : rebase_source : 617c17b1162265e44810597fa69d533316da1a6b
2017-08-16 16:10:56 -05:00
Nicholas Nethercote
a83fefd956 Bug 1390036 (part 1) - Remove most remaining uses of nsXPIDLString. r=erahm.
CompareCacheHashEntry::mCrit[] is the only case where the nsXPIDLString-ness
was important. The patch adds an explicit SetIsVoid() call to that class's
constructor and changes some null checks to IsVoid() checks.

--HG--
extra : rebase_source : e68befcde4dd098bac2a550bc666eaf3bf1298d7
2017-08-11 18:31:22 +10:00
Jonathan Kew
009efa5e70 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
Nicholas Nethercote
f941156987 Bug 1386600 - Change nsIStringBundle methods to return |AString| instead of |wstring|. r=emk,sr=dbaron.
This removes about 2/3 of the occurrences of nsXPIDLString in the tree. The
places where nsXPIDLStrings are null-checked are replaced with |rv| checks.

The patch also removes a couple of unused declarations from
nsIStringBundle.idl.

Note that nsStringBundle::GetStringFromNameHelper() was merged into
GetStringFromName(), because they both would have had the same signature.

--HG--
extra : rebase_source : ac40bc31c2a4997f2db0bd5069cc008757a2df6d
2017-08-04 14:40:52 +10:00
Masatoshi Kimura
8ed4a80a4e Bug 1322874 - Get rid of nsIURI.originCharset. r=valentin.gosu
nsIURI.originCharset had two use cases:
 1) Dealing with the spec-incompliant feature of escapes in the hash
    (reference) part of the URL.
 2) For UI display of non-UTF-8 URLs.

For hash part handling, we use the document charset instead. For pretty
display of query strings on legacy-encoded pages, we no longer care to them
(see bug 817374 comment 18).

Also, the URL Standard has no concept of "origin charset". This patch
removes nsIURI.originCharset for reducing complexity and spec compliance.

MozReview-Commit-ID: 3tHd0VCWSqF

--HG--
extra : rebase_source : b2caa01f75e5dd26078a7679fd7caa319a65af14
2017-08-02 20:43:30 +09:00
Masatoshi Kimura
f143125cc2 Bug 1326520 - Rename nsIURI.path to pathQueryRef. r=valentin.gosu
MozReview-Commit-ID: DqJdTGopR9G

--HG--
extra : rebase_source : e8c9eb03468c075b79013b6e0bd8b367229c24cd
2017-07-29 20:50:21 +09:00
Nicholas Nethercote
73558eac3d Bug 1384834 (part 2) - Remove remaining uses of nsAdoptingCString. r=erahm.
--HG--
extra : rebase_source : 70a385a0a06bc88e728d51459e7460a68f15f7fb
2017-07-28 11:21:47 +10:00
Nicholas Nethercote
d18fdecf67 Bug 1384834 (part 1) - Remove remaining uses of nsAdoptingString. r=erahm.
--HG--
extra : rebase_source : c81ee11b9d08198a000979760a8e29a01e9498d0
2017-07-28 11:21:45 +10:00
Kartikaya Gupta
ba4b3b9101 Bug 1384233 - Remove SizePrintfMacros.h. r=froydnj
We have a minimum requirement of VS 2015 for Windows builds, which supports
the z length modifier for format specifiers. So we don't need SizePrintfMacros.h
any more, and can just use %zu and friends directly everywhere.

MozReview-Commit-ID: 6s78RvPFMzv

--HG--
extra : rebase_source : 009ea39eb4dac1c927aa03e4f97d8ab673de8a0e
2017-07-26 16:03:57 -04:00
Sylvestre Ledru
7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02:00
Nicholas Nethercote
c86dc10505 Bug 1380227 - Avoid many UTF16toUTF8 and UTF8toUTF16 conversions in nsStringBundle. r=emk.
Most of the names passed to nsIStringBundle::{Get,Format}StringFromUTF8Name
have one of the two following forms:

- a 16-bit C string literal, which is then converted to an 8-bit string in
  order for the lookup to occur;

- an 8-bit C string literal converted to a 16-bit string, which is then
  converted back to an 8-bit string in order for the lookup to occur.

This patch introduces and uses alternative methods that can take an 8-bit C
string literal, which requires changing some signatures in other methods and
functions. It replaces all C++ uses of the old methods.

The patch also changes the existing {Get,Format}StringFromName() methods so
they take an AUTF8String argument for the name instead of a wstring, because
that's nicer for JS code.

Even though there is a method for C++ code and a different one for JS code,
|binaryname| is used so that the existing method names can be used for the
common case in both languages.

The change reduces the number of NS_ConvertUTF8toUTF16 and
NS_ConvertUTF16toUTF8 conversions while running Speedometer v2 from ~270,000 to
~160,000. (Most of these conversions involved the string
"deprecatedReferrerDirective" in nsCSPParser.cpp.)

--HG--
extra : rebase_source : 3bee57a501035f76a81230d95186f8c3f460ff8e
2017-07-12 15:13:37 +10:00
Michal Novotny
4d93478959 Bug 1371890 - Normalize time returned by ParseFTPList. r=mcmanus 2017-07-11 09:45:15 -04:00
Carsten "Tomcat" Book
c8613bdc02 Backed out changeset aea5888a82ed (bug 1371890) for xpcshell failures
--HG--
extra : rebase_source : 2e813e1ab07dd18c3b26dee1f3827b4d6c834350
2017-07-11 08:25:28 +02:00