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

18 Коммитов

Автор SHA1 Сообщение Дата
Henri Sivonen 2daf725240 Bug 1514664 - Implement TextEncoder.encodeInto(). r=emk. 2019-01-11 12:35:17 +02:00
bitnotri 542ea80ecd Bug 1461737 - Move nsstring-rs to a better location, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D15743

--HG--
rename : servo/support/gecko/nsstring/Cargo.toml => xpcom/rust/nsstring/Cargo.toml
rename : servo/support/gecko/nsstring/src/conversions.rs => xpcom/rust/nsstring/src/conversions.rs
rename : servo/support/gecko/nsstring/src/lib.rs => xpcom/rust/nsstring/src/lib.rs
extra : moz-landing-system : lando
2019-01-04 22:03:56 +00:00
Henri Sivonen cca22e608a Bug 1473340 - Use bulk_write() in encoding_glue. r=nika
MozReview-Commit-ID: 7CpUiZFBpEn

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

--HG--
extra : moz-landing-system : lando
2018-08-20 19:55:10 +00:00
Henri Sivonen 3a52652295 Bug 1349528 - Use encoding_rs for normalizing USVString. r=smaug
MozReview-Commit-ID: 9uG6j8UdfKR

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

--HG--
extra : moz-landing-system : lando
2018-08-16 10:15:07 +00: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
Henri Sivonen e4805fd183 Bug 1466807 - Update encoding_rs to 0.8.0. r=emk
MozReview-Commit-ID: 30vmruy1kiL

--HG--
extra : rebase_source : 0e3e489fde0485919cd03529ba5d6d030863bfc1
2018-06-05 13:50:20 +03:00
Matt Brubeck c01458e74e Bug 1381576 - Remove reference to obsolete encoding_rs/parallel-utf8 feature. r=ted
MozReview-Commit-ID: D5YdCGTBuL

--HG--
extra : source : 1ea18b70b170502da444405f233f925c58e1266d
2018-03-01 13:02:02 -08:00
shindli 0ba01aed1b Backed out 3 changesets (bug 1381576) for Bugzilla linting failure on a CLOSED TREE
Backed out changeset 3bc1743ad418 (bug 1381576)
Backed out changeset bbae7807c164 (bug 1381576)
Backed out changeset 1ea18b70b170 (bug 1381576)
2018-03-02 21:17:20 +02:00
Matt Brubeck 29e544108f Bug 1381576 - Remove reference to obsolete encoding_rs/parallel-utf8 feature. r=ted
MozReview-Commit-ID: D5YdCGTBuL

--HG--
extra : rebase_source : dea337046b7fb8491bb9c4d59b4d0c2e43cf6516
extra : histedit_source : d8abdea214803e323f0ac87d6916491a67513fc2
2018-03-01 13:02:02 -08:00
Henri Sivonen 5b05e804a9 Bug 1431025 - Use encoding_rs::mem::is_utf16_bidi() as the implementation of HasRTLChars(). r=jfkthame
MozReview-Commit-ID: KnaI7wIndVf

--HG--
extra : rebase_source : 6a00c8fc140c1cf070e8fa668e7e099f98621820
2018-01-18 14:28:15 +02:00
Masatoshi Kimura a214244141 Bug 1425217 - Remove Encoding::ForName. r=hsivonen
MozReview-Commit-ID: JzJ2VYGRzf0

--HG--
extra : rebase_source : 38207daa923175d90b0319dae7e166164835af97
2017-12-08 00:31:55 +09:00
Nika Layzell 1b1ba4879a Bug 1403213 - Move nsstring into servo/support/gecko/nsstring, r=froydnj
MozReview-Commit-ID: 8ucStGkxmj7

--HG--
rename : xpcom/rust/nsstring/gtest/Test.cpp => xpcom/rust/gtest/nsstring/Test.cpp
rename : xpcom/rust/nsstring/gtest/test.rs => xpcom/rust/gtest/nsstring/test.rs
extra : rebase_source : 509a2ab1aa569e8f3ef0955dcdfa36b53ce5e234
2017-10-23 15:37:25 -04:00
Sebastian Hengst 5d671ee296 Backed out changeset 74c58b336d30 (bug 1403213) for referencing non-existing xpcom/rust/gtest/moz.build in xpcom/moz.build. r=backout on a CLOSED TREE
--HG--
extra : amend_source : 7c25d872785312b81c4a94ef32de025b38642f54
2017-10-20 21:30:36 +02:00
Nika Layzell a4927e2417 Bug 1403213 - Move nsstring into servo/support/gecko/nsstring, r=froydnj
MozReview-Commit-ID: FmKtJxSCdYc
2017-10-20 12:04:30 -07:00
Henri Sivonen 3c8567b60d Bug 1354989 - Avoid pivoting via UTF-16 when loading CSS in the Stylo mode. r=jdm,SimonSapin
MozReview-Commit-ID: Llt29dvB4Io

--HG--
extra : rebase_source : 3ae51dc8beff3fb19e9318a6c7c30c9ab08a5b57
2017-08-29 16:01:42 +03:00
Henri Sivonen 610f9e27b1 Bug 1372230 part 2 - Update encoding_rs to 0.7.0 and encoding_c to 0.8.0. r=emk
MozReview-Commit-ID: DuK9BvVY50z

--HG--
extra : rebase_source : b7ce43f3fd61500e6adf642ea48e6774976d4eff
2017-08-28 12:22:25 +03:00
Henri Sivonen 5bf76fcb7e Bug 1372230 part 1 - Move the code behing mozilla::Encoding::ForName() from encoding_rs to encoding_glue. r=emk
MozReview-Commit-ID: 6cFRuyWoPhR

--HG--
extra : rebase_source : 9f91299d738b26decc3483d4e5af2265a9561566
2017-08-25 12:37:28 +03:00
Henri Sivonen 432653453a Bug 1261841 part 2 - Use encoding_rs instead of uconv. r=emk,mystor.
MozReview-Commit-ID: 15Y5GTX98bv
2017-06-13 13:23:23 +03:00