Граф коммитов

857 Коммитов

Автор SHA1 Сообщение Дата
Nils Ohlmeier [:drno] 630efc5cec Bug 1473840: fixed Teredo IPv6 prefix detection. r=mjf
MozReview-Commit-ID: 6dRsirith0O

--HG--
extra : rebase_source : 2af77d2420464a0b0ba855d94f9cd6e088d2a777
2018-07-13 21:52:33 -07:00
Nils Ohlmeier [:drno] cbc07da4e7 Bug 1466375: avoid NRREGGET NRREGSET redefinition. r=bwc
MozReview-Commit-ID: 6DdZS7bY2di

--HG--
extra : rebase_source : 8ee57ef14853a27189ef6146629be77b406f4103
2018-06-04 08:51:22 -07:00
Nils Ohlmeier [:drno] 7ba50abeee Bug 1466375: make nICEr and nrappkit compile as unified sources. r=bwc
MozReview-Commit-ID: 59MXxWYd5V0

--HG--
extra : rebase_source : 3778c7aeb8c92b785977d5a612d755dbe951c56d
2018-06-01 22:58:48 -07:00
Byron Campen [:bwc] 777bf8b996 Bug 1455647 - Part 4: Make a place to live for context about media packets, to fix packet dump hooks. r+drno r=drno
MozReview-Commit-ID: 1HMF93mLa7r

--HG--
rename : media/mtransport/transportlayersrtp.cpp => media/webrtc/signaling/src/mediapipeline/TransportLayerPacketDumper.cpp
rename : media/mtransport/transportlayersrtp.h => media/webrtc/signaling/src/mediapipeline/TransportLayerPacketDumper.h
extra : rebase_source : 062814836325b69da17e8f592774f006e29905ad
2018-05-09 17:13:35 -05:00
Byron Campen [:bwc] 148a322296 Bug 1455647 - Part 3: Move SRTP into a TransportLayer. r=drno
MozReview-Commit-ID: LWZFPVDYZKb

--HG--
rename : media/webrtc/signaling/src/mediapipeline/SrtpFlow.cpp => media/mtransport/SrtpFlow.cpp
rename : media/webrtc/signaling/src/mediapipeline/SrtpFlow.h => media/mtransport/SrtpFlow.h
extra : rebase_source : 16e1e38c0c6f9153375735b7cb93a8286364df5f
2018-04-23 13:14:30 -05:00
Byron Campen [:bwc] ab2913f71d Bug 1455647 - Part 2: Allow TransportLayers to be arranged in trees. r=drno
MozReview-Commit-ID: BQgNbCsmkke

--HG--
extra : rebase_source : f21dbdd6f5477786f200a3336240d724aa8cc9b8
2018-04-27 16:57:28 -05:00
Byron Campen [:bwc] cb8df81f4c Bug 1455647 - Part 1: Simplify TransportFlow. r+drno r=drno
MozReview-Commit-ID: 1jJuln4WAw9

--HG--
extra : rebase_source : e5d9cba95e7e79815e9842edac2fc5eec54aac06
2018-04-27 12:14:40 -05:00
Emilio Cobos Álvarez 1e9c395548 Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj
Same approach as the other bug, mostly replacing automatically by removing
'using mozilla::Forward;' and then:

  s/mozilla::Forward/std::forward/
  s/Forward</std::forward</

The only file that required manual fixup was TestTreeTraversal.cpp, which had
a class called TestNodeForward with template parameters :)

MozReview-Commit-ID: A88qFG5AccP
2018-06-02 09:33:26 +02:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Jan Keromnes 88a09b356c Bug 1464162 - Make a few vector operations more efficient by reserving size beforehand. r=jya
Summary:
These automated fixes were generated like so:
    ./mach configure --enable-clang-plugin
    ./mach build-backend --backend=CompileDB
    run-clang-tidy-6.0.py -p obj-x86_64-pc-linux-gnu/ -fix -checks=-*,performance-inefficient-vector-operation *

Reviewers: jya

Reviewed By: jya

Subscribers: jya

Bug #: 1464162

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

--HG--
extra : amend_source : 648dc48989c5af122a33f8d50c98c0f1efcf3874
2018-05-31 14:52:59 +03:00
Dan Minor 6a3494fbc0 Bug 1464069 - Check error code in stun_parser_libfuzz.cpp; r=drno
MozReview-Commit-ID: Lx32Mx8KmRm

--HG--
extra : rebase_source : 638b6d7498407c52b680ea72898c4dc155dcf3ec
2018-05-29 13:04:28 -04:00
Christian Holler 570031d38c Bug 1464202 - Improve and centralize libFuzzer flag management. r=froydnj
MozReview-Commit-ID: HFrQDAZWtpo

--HG--
extra : rebase_source : ab1da001d7e9280fbfb37858505f1d0d0caf7d54
2018-05-24 21:11:46 +02:00
Dan Minor e6ea8ef7b6 Bug 1464069 - Check for null message in nr_stun_decode_message; r=drno
MozReview-Commit-ID: B1SHDte4miv

--HG--
extra : rebase_source : e60dc6b48319f3cfcff2b3411f7eb8cd8928408e
2018-05-25 11:57:18 -04:00
Byron Campen [:bwc] d2641f7ceb Bug 1461904: Make sure to call disconnect_all on STS. r=drno
MozReview-Commit-ID: 2WZxajc4FZz

--HG--
extra : rebase_source : 042476cea953c8abeaba9b208dfbba0ab84c8b2e
2018-05-16 15:53:15 -05:00
Sylvestre Ledru 4f43e5effe Bug 1461614 - Use _DEFAULT_SOURCE on top of _BSD_SOURCE to remove a warning caused by the glibc r=drno
MozReview-Commit-ID: 5Vso0zCzSBx

--HG--
extra : rebase_source : 06ab0c54b70647ab3befde9cf692d1030662be37
2018-05-15 11:54:22 +02:00
Michael Froman 79bc45e84a Bug 1374699 - make warnings errors on nICEr and nrappkit builds. r=ekr
MozReview-Commit-ID: 7nPOPzcC925

--HG--
extra : rebase_source : b1b4bd391a71dab2bb3409b68c8680e972ee0ae4
2017-09-21 10:29:16 -05:00
Michael Froman a3a44bb8ab Bug 1374699 - fix .gyp file formatting by detabbing. r=ekr
MozReview-Commit-ID: CaUMCJgzhrQ

--HG--
extra : rebase_source : f371f42e26d6c8aa52338913a511015d9096e5dc
2017-09-21 16:56:07 -05:00
Michael Froman d5fb082c26 Bug 1374699 - fixing compiler warnings for nrappkit. r=drno
MozReview-Commit-ID: CAQQvheP1Wg

--HG--
extra : rebase_source : a5c5857c84339587f6197be95534700d1aca7942
extra : source : ac789983242b806ceeeca4569ac1f5ddfcbaaba2
2017-09-21 08:56:34 -05:00
Michael Froman dfb4c1b5bd Bug 1374699 - fixing compiler warnings for nICEr. r=drno
Cleaning up compiler warnings for nICEr.  Major highlights:
 - set _WINSOCK_DEPRECATED_NO_WARNINGS define in nicer.gyp for Windows
   builds of nICEr to avoid warnings about inet_addr use in ice_ctx.c:102,
   ice_ctx.c:297, ice_parser.c:465, and transport_addr_reg.c:143.
 - move nr_ice_accumulate_count from ice_ctx.{h|c} to stun_util.{h|c}
   as nr_accumulate_count to quiet warnings in turn_client_ctx.c and
   stun_client_ctx.c.
 - stun_msg.{h|c} - change nr_stun_attr_data_.length,
   nr_stun_message_attribute.encoding_length and nr_stun_message_.length
   from int to UINT2 (not size_t since other lengths in this header are
   UINT2).
 - stun_codec.{h|c} - lengths and offsets changed from int to UINT2 to
   match changes in stun_msg.{h|c}
 - r_data.{h|c} - change Data.len from int to size_t
 - nr_crypto.{h|c} - change nr_ice_crypto_vtbl_ lengths from int to size_t

MozReview-Commit-ID: EF5v79RpqbI

--HG--
extra : rebase_source : ead30e2359ea6a6aada4dd222137302ba86fb972
2017-07-17 11:49:49 -05:00
Tom Bannister 988d18881f Bug 1434710 - Replaced all instances of mozilla::IndexSequence, mozilla::MakeIndexSequence and mozilla::IndexSequenceFor with std::index_sequence, std::make_index_sequence and std::index_sequence_for and removed mfbt/IndexSequence.h. r=botond
MozReview-Commit-ID: 1Ema7TUNr5v

--HG--
extra : rebase_source : e5bb164dbe19993214e8c16f92b0a1f5d2ff3fa1
2018-04-09 21:12:13 +10: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
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Christoph Diehl 74e4e24ec3 Bug 1446583: Update location for setting trace-pc coverage flags for LibFuzzer r=drno
--HG--
extra : amend_source : b3cd30a440c0e0e88a238bd93fc11e013d17ea84
2018-03-17 18:07:58 +01:00
Byron Campen [:bwc] a5fa4c3bfb Bug 1442404: Don't spin STS when shutting down the mtransport thread. r=drno
MozReview-Commit-ID: 47BImEsl9xi

--HG--
extra : rebase_source : 9fd820f4db145642f1184264ae991ea0748b0479
2018-03-06 12:30:16 -06:00
Spencer Brown f91e903df3 BUG 1415886 - Change commented argument name to match declaration r=drno
--HG--
extra : amend_source : 71653a1478aad3b8182cccabc9b840fa02b8b26d
2017-11-09 11:20:37 -05:00
Michael Froman a9c9593126 Bug 1436759 - Release NrIceMediaStreams on sts thread in transport_unittests.cpp. r=bwc
MozReview-Commit-ID: BLasqfQJxw

--HG--
extra : rebase_source : bca09672917ce5fc4a5450864c9f461952847b3f
2018-02-14 14:24:50 -06:00
Michael Froman dc47a5c53d Bug 1434531 - fix missing TCP relay candidates. r=drno
Because the nr_transport_addr_check_compatibility check also includes
protocol, it was failing checks that used to pass.  However, the actual
address used was created farther down in code by copying the current
address and setting the protocol to TCP.  Moving that address copy up
in the processing flow lets the more stringent check work.

MozReview-Commit-ID: 95SOQzxuxXB

--HG--
extra : rebase_source : 95f4cf6d9f10ee4f81c56d7bbe8027c46749cfb8
2018-02-02 16:03:51 -06:00
Michael Froman 38bdfba7a2 Bug 1414171 - pt 2 - Sort ICE stats by componentId on about:webrtc. r=drno
- add new component_id field to NrIceCandidatePair
- add the candidate pair component_id to RTCIceCandidatePairStats in
  RecordIceStats_s
- add new column in ice stats table for component id
- sort ice stats by component id first


MozReview-Commit-ID: J89ZIYEUyRk

--HG--
extra : rebase_source : 681a5afa1303b4e377fcc14d099ce0b3d852f22c
2018-01-30 22:23:54 -06:00
Byron Campen [:bwc] 83c9be0a4e Bug 1411977 - Part 4: Only try to dispatch the release of TransportLayers when there is a target thread. r=drno
MozReview-Commit-ID: 8fOkZwcxKHy

--HG--
extra : rebase_source : 29eafb58f0207e2d0b973ce8e846ce437a23317e
2018-01-25 09:55:12 -06:00
Byron Campen [:bwc] 2dc55eb3d7 Bug 1411977 - Part 3: Clear the SingletonThreadHolder _after_ thread shutdowns are finished, not before they are started. r=drno
MozReview-Commit-ID: Hgak51ReEOO

--HG--
extra : rebase_source : eee5baeb6b9e2c2310f86dcad1f8fa825969c827
2018-01-25 09:54:07 -06:00
Byron Campen [:bwc] e066f9f6f4 Bug 1411977 - Part 2: Stop using sync dispatch and queue jumping with SingletonThreadHolder. r=drno
MozReview-Commit-ID: F2BbHI2kiK1

--HG--
extra : rebase_source : 0f6aef6343a71bce29327d79766b8b84a2cfa1d2
2018-01-25 09:53:04 -06:00
Byron Campen [:bwc] aaf0e9394c Bug 1411977 - Part 1: Stop queue jumping in RUN_ON_THREAD. r=drno
MozReview-Commit-ID: GaCcLZuo7uy

--HG--
extra : rebase_source : f0f3330aef0f8f41038c070fea42d6631a6bb8a6
2018-01-25 08:32:58 -06:00
David Keeler 0375f07548 bug 1432923 - fix a leak in some TransportTests r=drno
Before this patch, TransportTest::Reset would assign to p1_ and p2_ without
releasing their resources first. Since they're not RAII types, they would just
leak. This fixes the leak by a) explicitly initializing them to nullptr in the
constructor and b) deleting them if they previously had a non-null value.

MozReview-Commit-ID: 20U6sqRWg06

--HG--
extra : rebase_source : e304c7636a9b31df53d3ff0e8d7e0042f7e82494
2018-01-25 16:56:56 -08:00
Christian Holler 8e72e4cc2f Bug 1431090 - Prepare tools/fuzzing/ to be used with JS_STANDALONE. r=froydnj
This patch adjusts tools/fuzzing/ in such a way that the relevant parts can be
reused in the JS engine. Changes in detail include:

* Various JS_STANDALONE checks to exclude parts that cannot be included in
  those builds.

* Turn LibFuzzerRegistry and LibFuzzerRunner into generic FuzzerRegistry and
  FuzzerRunner classes and use them for AFL as well. Previously, AFL was
  piggy-backing on gtests which was kind of an ugly solution anyway (besides
  that it can't work in JS). Now more code like registry and harness is
  shared between the two and they follow almost the same call paths and entry
  points. AFL macros in FuzzingInterface have been rewritten accordingly.
  This also required name changes in various places. Furthermore, this unifies
  the way, the fuzzing target is selected, using the FUZZER environment
  variable rather than LIBFUZZER (using LIBFUZZER in browser builds will give
  you a deprecation warning because I know some people are using this already
  and need time to switch). Previously, AFL target had to be selected using
  GTEST_FILTER, so this is also much better now.

* I had to split up FuzzingInterface* such that the STREAM parts are in a
  separate set of files FuzzingInterfaceStream* because they use nsStringStream
  which is not allowed to be included into the JS engine even in a full browser
  build (error: "Using XPCOM strings is limited to code linked into libxul.").
  I also had to pull FuzzingInterface.cpp (the RAW part only) into the header
  and make it static because otherwise, would have to make not only separate
  files but also separate libraries to statically link to the JS engine, which
  seemed overkill for a single small function. The streaming equivalent of the
  function is still in a cpp file.

* LibFuzzerRegister functions are now unique by appending the module name to
  avoid redefinition errors.

MozReview-Commit-ID: 44zWCdglnHr

--HG--
extra : rebase_source : fe07c557032fd33257eb701190becfaf85ab79d0
2018-01-17 15:20:35 +01:00
Coroiu Cristina faa2f8c7da Backed out 2 changesets (bug 1431090) for Bf bustage at src/tools/fuzzing/interface/harness/FuzzerTestHarness.h
Backed out changeset 2e98bda3f397 (bug 1431090)
Backed out changeset eb6acc9e44ad (bug 1431090)

--HG--
rename : tools/fuzzing/registry/FuzzerRegistry.cpp => tools/fuzzing/libfuzzer/harness/LibFuzzerRegistry.cpp
rename : tools/fuzzing/registry/FuzzerRegistry.h => tools/fuzzing/libfuzzer/harness/LibFuzzerRegistry.h
rename : tools/fuzzing/interface/harness/FuzzerRunner.cpp => tools/fuzzing/libfuzzer/harness/LibFuzzerRunner.cpp
rename : tools/fuzzing/interface/harness/FuzzerRunner.h => tools/fuzzing/libfuzzer/harness/LibFuzzerRunner.h
rename : tools/fuzzing/interface/harness/FuzzerTestHarness.h => tools/fuzzing/libfuzzer/harness/LibFuzzerTestHarness.h
rename : tools/fuzzing/interface/harness/moz.build => tools/fuzzing/libfuzzer/harness/moz.build
2018-01-23 13:49:26 +02:00
Christian Holler 4ce6f81fee Bug 1431090 - Prepare tools/fuzzing/ to be used with JS_STANDALONE. r=froydnj
This patch adjusts tools/fuzzing/ in such a way that the relevant parts can be
reused in the JS engine. Changes in detail include:

* Various JS_STANDALONE checks to exclude parts that cannot be included in
  those builds.

* Turn LibFuzzerRegistry and LibFuzzerRunner into generic FuzzerRegistry and
  FuzzerRunner classes and use them for AFL as well. Previously, AFL was
  piggy-backing on gtests which was kind of an ugly solution anyway (besides
  that it can't work in JS). Now more code like registry and harness is
  shared between the two and they follow almost the same call paths and entry
  points. AFL macros in FuzzingInterface have been rewritten accordingly.
  This also required name changes in various places. Furthermore, this unifies
  the way, the fuzzing target is selected, using the FUZZER environment
  variable rather than LIBFUZZER (using LIBFUZZER in browser builds will give
  you a deprecation warning because I know some people are using this already
  and need time to switch). Previously, AFL target had to be selected using
  GTEST_FILTER, so this is also much better now.

* I had to split up FuzzingInterface* such that the STREAM parts are in a
  separate set of files FuzzingInterfaceStream* because they use nsStringStream
  which is not allowed to be included into the JS engine even in a full browser
  build (error: "Using XPCOM strings is limited to code linked into libxul.").
  I also had to pull FuzzingInterface.cpp (the RAW part only) into the header
  and make it static because otherwise, would have to make not only separate
  files but also separate libraries to statically link to the JS engine, which
  seemed overkill for a single small function. The streaming equivalent of the
  function is still in a cpp file.

* LibFuzzerRegister functions are now unique by appending the module name to
  avoid redefinition errors.

MozReview-Commit-ID: 44zWCdglnHr

--HG--
rename : tools/fuzzing/libfuzzer/harness/LibFuzzerRunner.cpp => tools/fuzzing/interface/harness/FuzzerRunner.cpp
rename : tools/fuzzing/libfuzzer/harness/LibFuzzerRunner.h => tools/fuzzing/interface/harness/FuzzerRunner.h
rename : tools/fuzzing/libfuzzer/harness/LibFuzzerTestHarness.h => tools/fuzzing/interface/harness/FuzzerTestHarness.h
rename : tools/fuzzing/libfuzzer/harness/moz.build => tools/fuzzing/interface/harness/moz.build
rename : tools/fuzzing/libfuzzer/harness/LibFuzzerRegistry.cpp => tools/fuzzing/registry/FuzzerRegistry.cpp
rename : tools/fuzzing/libfuzzer/harness/LibFuzzerRegistry.h => tools/fuzzing/registry/FuzzerRegistry.h
extra : rebase_source : 7d0511ca0591dbf4d099376011402e063a79ee3b
2018-01-17 15:20:35 +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
Nils Ohlmeier [:drno] ae5815d5e1 Bug 1426059: removed transportlayerprsock code. r=bwc
MozReview-Commit-ID: IWcpxq1Z2V9

--HG--
extra : rebase_source : 5f4461cf80bd19c7f9eb22bc5026cfb0f1c51ce1
2017-12-18 20:30:05 -08:00
Michael Froman 1b1c4f9ab7 Bug 1414169 - pt 1 - add trickle field to nr_ice_candidate. r=drno
Adding trickle field that will allow us to flag trickled candidates
on about:webrtc.
Also added label field to NrIceCandidate to facilitate showing the
raw candidate info on about:webrtc.

MozReview-Commit-ID: HuP3IxYOOBJ

--HG--
extra : rebase_source : 975cb5b29b2aef233f856bfbdc8c325535d24272
2017-11-20 16:52:21 -06:00
Sylvestre Ledru 9bfe27d903 Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 7duJk2gSd4m

--HG--
extra : rebase_source : 7312fe276e561e8c034a5f6749774ae812727f9c
2017-12-07 22:09:15 +01:00
Byron Campen [:bwc] b2254c16eb Bug 1290948 - Part 8: Don't cause ICE to fail if there's no streams to establish. r+drno r=drno
MozReview-Commit-ID: 4wxlK9w3sL6

--HG--
extra : rebase_source : 06a01ef64beb1352cee503349a287a511de50053
2017-09-29 09:16:14 -05:00
Byron Campen [:bwc] 9fed82e6f6 Bug 1290948 - Part 6: Remove some unused code. r+drno r=drno
MozReview-Commit-ID: G1uxg77wO78

--HG--
extra : rebase_source : bb8f7238bebb48251967cc453257ea6665095535
2017-08-23 16:15:11 -05:00
Jesse Schwartzentruber 5b3e545888 Bug 1419798 - Only build fuzzing interfaces if clang or AFL compilers are used. r=glandium
MozReview-Commit-ID: H1I9wdqTV4n

--HG--
extra : rebase_source : 18eb2536a5db80c585828ae44329f1a00d82209a
2017-11-22 11:21:09 -05:00
Andreea Pavel 449023b47c Backed out 8 changesets (bug 1290948) for failing mochitest dom/tests/mochitest/general/test_interfaces.html r=backout on a CLOSED TREE
Backed out changeset 97a271bf671e (bug 1290948)
Backed out changeset 8ff38e646037 (bug 1290948)
Backed out changeset 314675023cd5 (bug 1290948)
Backed out changeset 1a5f090502b0 (bug 1290948)
Backed out changeset ffb6e6da955f (bug 1290948)
Backed out changeset 56c169018ceb (bug 1290948)
Backed out changeset 49878c508ce6 (bug 1290948)
Backed out changeset bbe53fb92e21 (bug 1290948)
2017-11-14 21:02:11 +02:00
Byron Campen [:bwc] a944344724 Bug 1290948 - Part 8: Don't cause ICE to fail if there's no streams to establish. r+drno r=drno
MozReview-Commit-ID: 4wxlK9w3sL6

--HG--
extra : rebase_source : ac299a914de054e0b20fbd7409c494ac8708e3b5
2017-09-29 09:16:14 -05:00
Byron Campen [:bwc] 6771ce65da Bug 1290948 - Part 6: Remove some unused code. r+drno r=drno
MozReview-Commit-ID: G1uxg77wO78

--HG--
extra : rebase_source : 565120ee7722ac357b682aa2689517f2898e5c7a
2017-08-23 16:15:11 -05:00
Michael Froman 033ed8ae3a Bug 1415249 - remove unused variables introduced in Bug 1408218. r=drno
Two variables, contains_mac_based_ipv6 and contains_teredo_ipv6, were
added that are set but never used.  This will cause compiler warnings
issues in the future.

MozReview-Commit-ID: C5ZReH94RpM

--HG--
extra : rebase_source : 50e06da3c093a118151d840b7d25a979afce6321
2017-11-07 09:28:47 -06:00
Nicholas Nethercote 9252435548 Bug 1410794 (attempt 2) - Change some |string| occurrences in nsIPrefBranch.idl to |ACString|. r=erahm.
This makes the code nicer. In particular, it removes many getter_Copies()
calls. The patch also converts a lot of nsCStrings to nsAutoCString, which will
avoid heap allocation in the common case.

The patch also renames PREF_CopyCharPref() as PREF_GetCStringPref(), because
it's actually getting a string, not a char, and that matches the existing
GetCString() and GetDefaultCString() methods. Correspondingly, it also renames
PREF_SetCharPref() as PREF_SetCStringPref().

The |aPrefName| arguments in nsIPrefBranch.idl remain as |string| because they
almost always involve passing in C string literals, and passing "foo" is much
nicer than passing NS_LITERAL_CSTRING("foo").

It's worth noting that early versions of this patch used |AUTF8String| instead
of |ACString|. But it turns out that libpref stores prefs internally as Latin1.
And |ACString| is compatible with Latin1 but |AUTF8String| isn't, because
non-ASCII Latin1 strings are not valid UTF-8!

MozReview-Commit-ID: D3f7a1Vl1oE

--HG--
extra : rebase_source : e6e4b15d6d210cfd93686f96400281f02bd1d06b
2017-10-27 10:30:33 +11:00
Chris Manchester c86173526a Bug 1403346 - Replace all uses of ALLOW_COMPILER_WARNINGS with a template, remove ALLOW_COMPILER_WARNINGS. r=glandium
MozReview-Commit-ID: 1G2o4fy74cf
2017-10-25 15:12:09 -07:00
Nils Ohlmeier [:drno] 75da806f11 Bug 1408218: ignore EUI 64 and Teredo addresses if not needed. r=bwc
MozReview-Commit-ID: 5QHi9iC2e7y

--HG--
extra : rebase_source : 0f4f4afa3edd4153418661d8ef6f3efa12bf6223
2017-10-13 08:32:16 -07:00