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

66 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez e07d5eb564 Bug 1657437 - Don't treat lone CRs as segment breaks. r=jfkthame
That prevents preceding whitespace from getting collapsed.

When there's a single lone CR (so `a\rb`) our behavior here diverges
from Chrome's but matches Safari's. We treat it as ZWSP.

That matches the initial resolution of [1], but then there have been
various doing and undoings of that resolution, so it's not totally clear
to me what the correct behavior per spec should be. I think "treat it as
other control character"? But I haven't dug into what that implies, so
for now I've just kept behavior there as-is.

[1]: https://github.com/w3c/csswg-drafts/issues/855

Differential Revision: https://phabricator.services.mozilla.com/D86188
2020-08-08 16:21:35 +00:00
Alex Henrie 74cc0f4dce Bug 1591490 - Use the NS_IS_SURROGATE_PAIR macro everywhere. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D50697

--HG--
extra : moz-landing-system : lando
2019-10-27 05:05:51 +00:00
Daniel Holbert 547238dc03 Bug 1590639 part 1: Fix non-unified build issues in layout/generic. r=TYLin
The issues fall into these categories:
 - Files that used StaticPrefs::layout_XYZ() API or gfxVars::XYZ that needed an
   include. (Addressed by adding the missing include.)
 - Files that use mozilla::dom::XYZ or mozilla::gfx::XYZ without qualifying the
   namespace & without a 'using' decl. (Addressed by adding "using".)
 - A few other includes for types/inlines that were used without their header.

Depends on D50162

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

--HG--
extra : moz-landing-system : lando
2019-10-23 22:05:22 +00:00
Charlie Marlow b06816a234 Bug 1555436: Add braces to address static analysis warnings in some text layout code. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D33075

--HG--
extra : moz-landing-system : lando
2019-05-29 20:48:41 +00:00
Cameron McCormack e82b3826f9 Bug 1553378 - Devirtualize calls to GetText() / TextLength() when we know we have a Text node. r=smaug,jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D32100
2019-05-22 15:18:48 +10:00
Emilio Cobos Álvarez 11ea945833 Bug 1546697 - Use a consistent style for enum classes in layout. r=dholbert
Per the discussion in:

  https://groups.google.com/d/msg/mozilla.dev.platform/P79pwa9z5m8/iPYPAWPHCAAJ

They should be CamelCase, and that's what most of them already do. This converts
the rest, which are a few.

For the ones that already used `e` or `k` prefixes, I've mostly done:

 for file in $(rg Type::e layout | cut -d : -f 1 | sort | uniq); do sed -i 's#Type::e#Type::#g' $file; done

For the ones that used uppercase, I've removed the prefix if it was already in
the type name, and turn them into CamelCase.

Depends on D28680

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

--HG--
extra : moz-landing-system : lando
2019-04-25 23:03:04 +00:00
Sylvestre Ledru 03c8e8c2dd Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-05 21:41:42 +00:00
Csoregi Natalia ba58e936bd Backed out changeset 4ad80127f89f (bug 1519636) for bustage on MarkupMap.h and nsAccessibilityService.cpp. CLOSED TREE 2019-04-05 09:48:19 +03:00
Sylvestre Ledru d1c1878603 Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-04 21:36:16 +00:00
Narcis Beleuzu 24dbe577a5 Backed out changeset 389b6bbd76db (bug 1519636) for bustages on MarkupMap.h . CLOSED TREE 2019-04-05 00:27:56 +03:00
Sylvestre Ledru 399dbd28fe Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-04 20:12:23 +00:00
Jeff Gilbert 373563b0ec Bug 1540357 - Fix implicit int conversions in dom/canvas's layout/* includes. r=dholbert
nsUnicodeProperties.h includes into ICU, which has implicit int
truncation, so quarantine this include out of problematic headers.

Depends on D25498

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

--HG--
extra : moz-landing-system : lando
2019-04-02 17:00:49 +00:00
Ryan Hunt b936c00a65 Bug 1523969 part 14 - Move method definition inline comments to new line in 'layout/'. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D21115

--HG--
extra : rebase_source : 4d65c07d8822f3a54ac881b5d0f55468ce884554
2019-02-25 16:09:24 -06:00
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
Daniel Holbert 680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Jonathan Kew c81dc5d879 Bug 1371564 - Remove the long-obsolete TEXT_WAS_TRANSFORMED flag, don't waste time setting it. r=mats 2017-06-24 09:53:12 +01:00
Sebastian Hengst 001bb41985 Backed out changeset 9c822d8aad22 (bug 1371564) for build bustage: unused variable outputStart at nsTextFrameUtils.cpp:212. r=backout 2017-06-24 11:28:34 +02:00
Jonathan Kew a63c6cab0b Bug 1371564 - Remove the long-obsolete TEXT_WAS_TRANSFORMED flag, don't waste time setting it. r=mats 2017-06-24 09:53:12 +01:00
Jonathan Kew 4b5525bbf7 Bug 1362167 - Use strongly-typed enum classes instead of generic uint16_t fields for the gfxShapedText and gfxTextRun flags. r=jrmuizel 2017-05-04 22:27:05 +01:00
Jonathan Kew 6fc5313103 Bug 1362167 - Split gfxShapedText.mFlags into two 16-bit flags fields, and arrange storage more compactly to reduce size of gfxShapedWord and gfxTextRun objects. r=jrmuizel 2017-05-04 22:25:16 +01:00
Cameron McCormack 4f17cad8f0 Bug 1330236 - Compute SVG getNumberOfChars() quicker in simple cases. r=longsonr+218550
MozReview-Commit-ID: FgwR9dxTefx

--HG--
extra : rebase_source : 5b1ba3aa727cdd278a4b40c24231ca446b8bc45d
2017-01-17 13:45:43 +08:00
Jeremy Chen 6d7e1d5777 Bug 1316482 - use the refactored TransformText as a template function for both char16_t and uint8_t text. r=xidorn
With this patch, we shall only maintain one version of the TransformText logic.

MozReview-Commit-ID: JAIksFVqvqf

--HG--
extra : rebase_source : 3187632d7162bba64994b793448314b8323e3d46
2017-01-12 09:27:02 +08:00
Jeremy Chen 526327d9d5 Bug 1316482 - remove collapsible white spaces according to the White Space Processing Rules. r=jfkthame
This patch is an implementation of CSS Text 3 - 4.1.1 Phase 1 Step 1.

According to the specification, if white space characters are considered
collapsible, they should be removed before applying segment break transformation
rules during the text transform.

In this patch, a refactoring of text transformation logic has been made. Every
run of consecutive document white space characters (spaces/tabs/segment breaks)
is collected first. Then, we could apply the white space processing rules
accordingly.

MozReview-Commit-ID: 1JStjFk5TBs

--HG--
extra : rebase_source : b7a81e08c026d25482dc35994f4595989c8b09c0
2017-01-12 09:27:01 +08:00
Wes Kocher b0c1453d57 Backed out 4 changesets (bug 1316482) for frequent reftest failures on win7vm a=backout
Backed out changeset ad208e73ab6c (bug 1316482)
Backed out changeset 2a28dc0a75d3 (bug 1316482)
Backed out changeset b54126cc63d4 (bug 1316482)
Backed out changeset ebd0c6c8b783 (bug 1316482)

MozReview-Commit-ID: IFpLJUjj8qH
2017-01-10 18:11:10 -08:00
Jeremy Chen f53d660a40 Bug 1316482 - use the refactored TransformText as a template function for both char16_t and uint8_t text. r=xidorn
With this patch, we shall only maintain one version of the TransformText logic.

MozReview-Commit-ID: JAIksFVqvqf

--HG--
extra : rebase_source : 49ec749ae74f872e9749e026affe7f2e22db71f9
2017-01-10 00:02:03 +08:00
Jeremy Chen 498b737c47 Bug 1316482 - remove collapsible white spaces according to the White Space Processing Rules. r=jfkthame
This patch is an implementation of CSS Text 3 - 4.1.1 Phase 1 Step 1.

According to the specification, if white space characters are considered
collapsible, they should be removed before applying segment break transformation
rules during the text transform.

In this patch, a refactoring of text transformation logic has been made. Every
run of consecutive document white space characters (spaces/tabs/segment breaks)
is collected first. Then, we could apply the white space processing rules
accordingly.

MozReview-Commit-ID: 1JStjFk5TBs

--HG--
extra : rebase_source : 0c3cd845f12de407558aae4db3f3c75343da7050
2017-01-10 00:02:02 +08:00
Daniel Holbert ad5f5d35eb Bug 1321387 part 2: Add missing "using namespace" declarations to a few .cpp files in layout/generic. r=TYLin
This adds 2 "using namespace mozilla" (to provide various types),
and 2 "using namespace mozilla::gfx" (to provide mozilla::gfx::DrawTarget).

MozReview-Commit-ID: 2bXbMlr4Dbn

--HG--
extra : rebase_source : 9884419f08529469f23e3fc306ce6e4c57640f0d
2016-11-30 14:47:45 -08:00
Kan-Ru Chen 6a947f6166 Bug 1081858 - Part 4. Implement segment break transformation rules. r=jfkthame
MozReview-Commit-ID: BcOm4LVWGzW
2016-10-27 14:52:22 +08:00
Kan-Ru Chen fc31e05aaa Bug 1081858 - Part 1. Fix aText off-by-one indexing. r=jfkthame
MozReview-Commit-ID: 6LAlEntU6C7
2016-10-27 14:52:21 +08:00
Sebastian Hengst 5187549cd1 Backed out changeset fd1d01c7a9e2 (bug 1081858) for failing reftest segment-break-transformation-1.html on Windows XP. r=backout 2016-10-26 18:49:07 +02:00
Sebastian Hengst 552e6ad9a9 Backed out changeset 5044bee3df13 (bug 1081858) 2016-10-26 18:49:07 +02:00
Kan-Ru Chen 5f5b342806 Bug 1081858 - Part 4. Implement segment break transformation rules. r=jfkthame
MozReview-Commit-ID: BcOm4LVWGzW
2016-10-26 19:15:28 +08:00
Kan-Ru Chen 0890493598 Bug 1081858 - Part 1. Fix aText off-by-one indexing. r=jfkthame
MozReview-Commit-ID: 6LAlEntU6C7
2016-10-26 19:15:26 +08:00
Phil Ringnalda 93eb57bc06 Backed out 5 changesets (bug 1081858) for Android line-breaking reftest failures
Backed out changeset ac6306117c61 (bug 1081858)
Backed out changeset d9e96e907d0a (bug 1081858)
Backed out changeset 0dd35a1f895f (bug 1081858)
Backed out changeset ba420f595902 (bug 1081858)
Backed out changeset 44f9c7e8d124 (bug 1081858)

MozReview-Commit-ID: LV4YOozX3Ol
2016-10-25 20:38:20 -07:00
Kan-Ru Chen 7366a10541 Bug 1081858 - Part 4. Implement segment break transformation rules. r=jfkthame
MozReview-Commit-ID: BcOm4LVWGzW
2016-10-26 08:37:04 +08:00
Kan-Ru Chen d2078995ea Bug 1081858 - Part 1. Fix aText off-by-one indexing. r=jfkthame
MozReview-Commit-ID: 6LAlEntU6C7
2016-10-26 08:37:03 +08:00
Cameron McCormack 8311e3a117 Bug 1019555 - Treat newlines and tabs as space characters in SVG xml:space="preserve" text. r=roc 2014-06-05 13:25:15 +10:00
Jonathan Kew 2c2c332995 bug 955957 - pt 1 - reimplement gfxSkipChars and gfxSkipCharsIterator to perform better with huge text runs. r=roc 2014-01-10 09:42:05 +00:00
Carsten "Tomcat" Book 4054e1e107 Backed out changeset 4b54755de2a7 (bug 955957) for Build Bustage on a CLOSED TREE 2014-01-10 09:30:28 +01:00
Jonathan Kew a19636ff66 bug 955957 - pt 1 - reimplement gfxSkipChars and gfxSkipCharsIterator to perform better with huge text runs. r=roc 2014-01-10 07:48:01 +00:00
Ehsan Akhgari 1b83407ce9 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.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 PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Simon Montagu f077892c45 Add new bidi control characters defined in Unicode 6.3. Bug 922530, r=jfkthame 2013-10-02 16:07:02 +03:00
Masatoshi Kimura bd200be110 Bug 926580 - Kill unused layout.enable_japanese_specific_transform pref. r=roc 2013-10-15 19:48:48 +09:00
Ehsan Akhgari baf3a129ad Bug 907883 - Minimize #includes in layout/generic; r=roc
--HG--
extra : rebase_source : 5e87b764a12b05aff477c71547e2131be67ca93b
2013-08-22 14:32:52 -04:00
Ms2ger 1a5ae526d9 Bug 901323 - Don't include nsContentUtils.h unnecessarily; r=jlebar 2013-08-14 08:56:21 +02:00
Mats Palmgren b7ae90666d Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
David Zbarsky 4085f74a3f [Bug 799407] Fix build warnings in layout r=roc 2012-10-10 01:00:05 -04:00
Cameron McCormack 0306878c88 Bug 655877 - Part 23a: Add white-space:-moz-pre-discard-newlines value with white space collapsing behavior like SVG's xml:space="preserve". r=roc,dbaron 2012-09-07 15:42:19 +10:00
Ehsan Akhgari e368dc9c85 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
Jonathan Kew ced6b24af7 bug 763982 - update and optimize Arabic char processing in TransformText. r=smontagu 2012-06-20 20:58:19 +01:00