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

361 Коммитов

Автор SHA1 Сообщение Дата
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Henri Sivonen 3edc601325 Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Correctness improvements:

 * UTF errors are handled safely per spec instead of dangerously truncating
   strings.

 * There are fewer converter implementations.

Performance improvements:

 * The old code did exact buffer length math, which meant doing UTF math twice
   on each input string (once for length calculation and another time for
   conversion). Exact length math is more complicated when handling errors
   properly, which the old code didn't do. The new code does UTF math on the
   string content only once (when converting) but risks allocating more than
   once. There are heuristics in place to lower the probability of
   reallocation in cases where the double math avoidance isn't enough of a
   saving to absorb an allocation and memcpy.

 * Previously, in UTF-16 <-> UTF-8 conversions, an ASCII prefix was optimized
   but a single non-ASCII code point pessimized the rest of the string. The
   new code tries to get back on the fast ASCII path.

 * UTF-16 to Latin1 conversion guarantees less about handling of out-of-range
   input to eliminate an operation from the inner loop on x86/x86_64.

 * When assigning to a pre-existing string, the new code tries to reuse the
   old buffer instead of first releasing the old buffer and then allocating a
   new one.

 * When reallocating from the new code, the memcpy covers only the data that
   is part of the logical length of the old string instead of memcpying the
   whole capacity. (For old callers old excess memcpy behavior is preserved
   due to bogus callers. See bug 1472113.)

 * UTF-8 strings in XPConnect that are in the Latin1 range are passed to
   SpiderMonkey as Latin1.

New features:

 * Conversion between UTF-8 and Latin1 is added in order to enable faster
   future interop between Rust code (or otherwise UTF-8-using code) and text
   node and SpiderMonkey code that uses Latin1.

MozReview-Commit-ID: JaJuExfILM9
2018-08-14 14:43:42 +03:00
Chris Peterson 71422dcaa9 Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj
s/NS_PRECONDITION/MOZ_ASSERT/ and reindent

MozReview-Commit-ID: KuUsnVe2h8L

--HG--
extra : source : c14655ab3df2c9b1465dd8102b9d25683359a37b
2018-04-28 12:50:58 -07:00
André Bargull 1617c8c2c1 Bug 1447442 - Part 16: Replace MOZ_BEGIN_EXTERN_C in C++ header jspubtd.h and remove unused includes and declarations. r=jorendorff
--HG--
extra : rebase_source : 8103f7b6a3a4fc813c9a7b2355223357d46e7d35
2018-04-13 02:26:02 -07:00
Jonathan Kew 495385a338 Bug 1431672 - Add a pref to control whether underscore is treated as a word-forming character. r=m_kato 2018-01-22 10:19:30 +00:00
Jonathan Kew 9d2a5668d2 Bug 196175 - patch 2 - Override category of underscore for word-selection purposes so it is treated as a word-forming character, and update word-movement tests accordingly. r=m_kato 2018-01-03 10:02:39 +00:00
Jonathan Kew 1a613e00cb Bug 1424898 - patch 2 - De-virtualize nsIWordBreaker and rename to mozilla::intl::WordBreaker. r=m_kato
--HG--
rename : intl/lwbrk/nsSampleWordBreaker.cpp => intl/lwbrk/WordBreaker.cpp
rename : intl/lwbrk/nsIWordBreaker.h => intl/lwbrk/WordBreaker.h
2017-12-13 22:17:38 -06:00
Jonathan Kew 574a922078 Bug 1424898 - patch 1 - De-virtualize nsILineBreaker and rename to mozilla::intl::LineBreaker. r=m_kato
--HG--
rename : intl/lwbrk/nsJISx4051LineBreaker.cpp => intl/lwbrk/LineBreaker.cpp
rename : intl/lwbrk/nsILineBreaker.h => intl/lwbrk/LineBreaker.h
2017-12-13 22:17:32 -06:00
Jonathan Kew c7374d78f3 Bug 1423408 - Allow line-break between ellipsis/leader dots and a following letter. r=masayuki 2017-12-12 16:21:55 -06:00
Jonathan Kew 6a476d3cea Bug 1402799 - Remove '#if ENABLE_INTL_API' conditional from line-breaker code. r=m_kato 2017-09-25 12:37:13 +01:00
Mats Palmgren 0735644b45 Bug 815077 - Make unicode ETHIOPIC WORDSPACE count as a space character. r=jfkthame
MozReview-Commit-ID: DhUayZurZ00
2017-08-31 19:08:20 +02:00
Sylvestre Ledru 4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
Xidorn Quan eadf9e9411 Bug 1368646 - Expose nsSampleWordBreaker::GetClass as a public static function in nsIWordBreaker. r=emk
MozReview-Commit-ID: VORgEZOVl0

--HG--
extra : source : c202e189f50d3532bfae311f181a40b2bed96149
2017-06-01 17:02:54 +10:00
Xidorn Quan ac6cc1d36a Bug 1368418 part 3 - Remove nsCategoryImp. r=emk
MozReview-Commit-ID: 5qCoeqfM2s5

--HG--
extra : rebase_source : 6dc1693ce61bea4ec35469a3388c75a9fb64e5b3
2017-05-29 16:17:39 +10:00
Xidorn Quan 9dc47921e1 Bug 1368418 part 1 - Remove nsISemanticUnitScanner. r=emk
Code search indicates that this is not used internally, and the only
addon uses this is Breadcrumbs, which hasn't been updated since 2009,
thus it is already not compatible with current Firefox.

MozReview-Commit-ID: 1lUs7ceaaE1

--HG--
extra : rebase_source : 87060c33291ba415c6c70767c132c4a5b74d29fb
2017-05-29 16:05:29 +10:00
Jonathan Kew 3c29d13703 Bug 1342686 - Fix up the handling of surrogates in nsJISx4051LineBreaker. r=emk 2017-03-01 22:47:56 +00:00
Jonathan Kew fa483cbc9c Bug 809020 - Use a shorter "conservative breaking" range at word edges when dealing with letters rather than punctuation etc., and adjust existing tests accordingly. r=masayuki 2017-03-01 22:47:56 +00:00
Masatoshi Kimura c24fbf6d73 Bug 1314624 - Convert SampleWordBreakUsage() to a gtest. r=m_kato
MozReview-Commit-ID: HItg8STx7fD

--HG--
extra : rebase_source : 0b6988ba010173f2b59e69b4d684ca8f4df59823
2016-11-12 15:00:51 +09:00
Jonathan Kew a4fc79804c Bug 1315986 followup - The static_assert to check Gecko vs ICU versions is only relevant when ENABLE_INTL_API is true. Bustage fix for Android on a CLOSED TREE. 2016-11-09 16:14:58 +00:00
Jonathan Kew c0d2685148 Bug 1315986 - Update line-break class mapping in nsJISx4051LineBreaker to handle new classes in ICU58/Unicode 9, and add assertions to detect any future additions that will require further updates. r=masayuki 2016-11-09 15:07:54 +00:00
Nicholas Nethercote 8b5e0633c0 Bug 1314497 (part 2) - Reformat intl/lwbrk/tests/TestLineBreak.cpp.
This patch makes no functional changes.

--HG--
extra : rebase_source : 9b0c1576d3b938037962a2c817845f680d73873d
2016-11-03 13:46:14 +11:00
Nicholas Nethercote 108b8f0823 Bug 1314497 (part 1) - Convert intl/lwbrk/tests/TestLineBreak.cpp to a gtest. r=emk.
This commit does the following.

- Converts the test to a gtest, including renaming the directory.

- Factors out the duplicated checking code into a separate Check() function.

- Avoids printing any output unless a failure occurs. (The gtest harness prints
  out minimal output, like the name of the current test.)

- Removes SampleWordBreakUsage(), which prints some output but doesn't actually
  test anything, and so isn't useful.

--HG--
rename : intl/lwbrk/tests/TestLineBreak.cpp => intl/lwbrk/gtest/TestLineBreak.cpp
rename : intl/lwbrk/tests/moz.build => intl/lwbrk/gtest/moz.build
extra : rebase_source : e673299e237a1a8a3b0a33cfc0a0024ab7dee271
2016-11-03 13:46:12 +11:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Chris Peterson 8a9e2d2bd4 Bug 1272513 - Part 2: Remove redundant -Wshadow CXXFLAGS from moz.build files. r=glandium 2016-05-14 00:54:55 -07:00
Jonathan Kew 4a8c24fce5 Bug 1265631 - followup with adjustments for review comments on patch 3. no_r=me 2016-04-26 11:19:19 +01:00
Jonathan Kew 545b8fc9cc Bug 1265631 - patch 3 - Add surrogate support to nsJISx4051LineBreaker so that supplementary-plane characters get correct line-breaking behavior. r=masayuki 2016-04-26 10:32:19 +01:00
Mike Hommey 0a771514a8 Bug 1256988 - Replace tests on MOZ_WIDGET_GTK with tests on MOZ_WIDGET_TOOLKIT containing gtk. r=chmanchester
But only do that for the AC_SUBST. The AC_DEFINE is still useful.
2016-03-17 06:49:44 +09:00
Birunthan Mohanathas d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas 373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Chris Peterson 71920a9550 Bug 1207030 - Enable -Wshadow flag in more directories that have no -Wshadow warnings. r=glandium 2015-09-22 21:39:03 -07:00
Nicholas Nethercote f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Birunthan Mohanathas 7315345693 Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan
Comment-only so DONTBUILD.
2015-08-04 16:17:36 -07:00
Nicolas Belleville 276b7e52b1 Bug 948466: Rename gfxPangoFonts to gfxFontconfigFonts. r=nical
--HG--
rename : gfx/thebes/gfxPangoFonts.cpp => gfx/thebes/gfxFontconfigFonts.cpp
rename : gfx/thebes/gfxPangoFonts.h => gfx/thebes/gfxFontconfigFonts.h
2015-05-20 17:44:09 +02:00
David Major ebde6b9f4f Bug 1157835: Remove the MSVC_ENABLE_PGO flag from the build system. r=glandium
--HG--
extra : rebase_source : 0c47c99bb8b92f8361a51fd81b20a2cc8647a986
2015-04-27 19:59:27 -04:00
Fabrice Desré 42d5db6e98 Bug 1155263 - missing <stdint.h> header in rulebrk.c r=dholbert 2015-04-16 10:25:33 -07:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Masatoshi Kimura 95d1846f2d Bug 1126269 - Part 2: Remove a useless include from intl/lwbrk/th_char.h. r=smontagu 2015-01-30 08:53:47 +09:00
Ehsan Akhgari 7e5c201140 Bug 1118418 - Mark virtual overridden functions as MOZ_OVERRIDE in intl; r=smontagu 2015-01-06 23:33:50 -05:00
Chris Peterson 22d0c4b343 Bug 1107814 - Part 1: Mark more directories as FAIL_ON_WARNINGS for all compilers. r=gps 2014-12-04 16:24:03 -08:00
Mike Hommey 47c853314f Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Mike Hommey 0060683747 Bug 1059090 - Don't require SOURCES to be set for CPP_UNIT_TESTS and SIMPLE_PROGRAMS. r=mshal 2014-09-03 14:16:37 +09:00
Mike Hommey ed70c5f377 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
Nathan Froyd a088ec81d5 Bug 1055281 - check for existence of paths in LOCAL_INCLUDES in moz.build; r=mshal 2014-08-20 11:51:33 -04:00
Mike Hommey 89777800f9 Bug 1047267 - Move remaining OS_LIBS and EXTRA_LIBS to moz.build. r=gps
* * *
Bug 1047267 - To fold with "Move remaining OS_LIBS and EXTRA_LIBS to moz.build"
2014-08-07 14:21:03 +09:00
Nathan Froyd 12c76f15f7 Bug 1042878 - part 2 - move MOZ_CAIRO_CFLAGS et al additions to C*FLAGS into moz.build; r=glandium 2014-07-24 11:55:33 -04:00
Mike Hommey 5f6ba110e6 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Birunthan Mohanathas 790694c449 Bug 1038537 - Part 5: Flatten intl/lwbrk/{idl,public,src}/ directories. r=smontagu
--HG--
rename : intl/lwbrk/src/Makefile.in => intl/lwbrk/Makefile.in
rename : intl/lwbrk/src/crashtests/416721.html => intl/lwbrk/crashtests/416721.html
rename : intl/lwbrk/src/crashtests/crashtests.list => intl/lwbrk/crashtests/crashtests.list
rename : intl/lwbrk/src/jisx4051class.h => intl/lwbrk/jisx4051class.h
rename : intl/lwbrk/src/jisx4051pairtable.txt => intl/lwbrk/jisx4051pairtable.txt
rename : intl/lwbrk/src/nsCarbonBreaker.cpp => intl/lwbrk/nsCarbonBreaker.cpp
rename : intl/lwbrk/src/nsComplexBreaker.h => intl/lwbrk/nsComplexBreaker.h
rename : intl/lwbrk/public/nsILineBreaker.h => intl/lwbrk/nsILineBreaker.h
rename : intl/lwbrk/idl/nsISemanticUnitScanner.idl => intl/lwbrk/nsISemanticUnitScanner.idl
rename : intl/lwbrk/public/nsIWordBreaker.h => intl/lwbrk/nsIWordBreaker.h
rename : intl/lwbrk/src/nsJISx4051LineBreaker.cpp => intl/lwbrk/nsJISx4051LineBreaker.cpp
rename : intl/lwbrk/src/nsJISx4051LineBreaker.h => intl/lwbrk/nsJISx4051LineBreaker.h
rename : intl/lwbrk/public/nsLWBrkCIID.h => intl/lwbrk/nsLWBrkCIID.h
rename : intl/lwbrk/src/nsPangoBreaker.cpp => intl/lwbrk/nsPangoBreaker.cpp
rename : intl/lwbrk/src/nsRuleBreaker.cpp => intl/lwbrk/nsRuleBreaker.cpp
rename : intl/lwbrk/src/nsSampleWordBreaker.cpp => intl/lwbrk/nsSampleWordBreaker.cpp
rename : intl/lwbrk/src/nsSampleWordBreaker.h => intl/lwbrk/nsSampleWordBreaker.h
rename : intl/lwbrk/src/nsSemanticUnitScanner.cpp => intl/lwbrk/nsSemanticUnitScanner.cpp
rename : intl/lwbrk/src/nsSemanticUnitScanner.h => intl/lwbrk/nsSemanticUnitScanner.h
rename : intl/lwbrk/src/nsUniscribeBreaker.cpp => intl/lwbrk/nsUniscribeBreaker.cpp
rename : intl/lwbrk/src/rulebrk.c => intl/lwbrk/rulebrk.c
rename : intl/lwbrk/src/rulebrk.h => intl/lwbrk/rulebrk.h
rename : intl/lwbrk/src/th_char.h => intl/lwbrk/th_char.h
2014-07-24 10:56:39 -07:00
Mike Hommey 7cab62150a Bug 1041936 part 2 - Directly use the static library "xul" to link into "xul-gtest" instead of having an intermediate library "xul" used by "xul-shared" and "xul-gtest". r=gps 2014-07-23 13:33:09 +09:00
Mike Hommey 5fab42fcaf Bug 1036894 part 8 - Move most in-tree library linkage information to moz.build, as USE_LIBS. r=gps 2014-07-23 13:30:52 +09:00