Mathew Hodson
bbe90472d4
Bug 1751828 - Clamp the inline size when reflowing text. r=dholbert
...
Differential Revision: https://phabricator.services.mozilla.com/D140447
2022-03-09 09:16:31 +00:00
Marian-Vasile Laza
75891c19e6
Backed out changeset d161da1543bc (bug 1751828) for causing crashtest failures on 459968.html.
2022-03-08 08:55:17 -08:00
Mathew Hodson
35ff4178ef
Bug 1751828 - Clamp the inline size when reflowing text. r=dholbert
...
Differential Revision: https://phabricator.services.mozilla.com/D140447
2022-03-08 11:05:16 +00:00
Emilio Cobos Álvarez
9651b4c81a
Bug 1756750 - Add a missing null-check.
...
MANUAL PUSH: Trivial crashtest fix CLOSED TREE
2022-03-02 17:19:33 +01:00
Emilio Cobos Álvarez
d5c309494c
Bug 1756750 - Ensure we observe SVG glyph changes inside <svg:text>. r=jfkthame
...
This gets done usually in BreakSink::Finish, but we don't do
line-breaking in SVG Text so we need to do this here instead.
Do you know where I could crib a test for this?
Depends on D139964
Differential Revision: https://phabricator.services.mozilla.com/D139965
2022-03-02 14:31:58 +00:00
Emilio Cobos Álvarez
6722ec55a2
Bug 1757230 - Avoid unneeded includes in nsTextFrame.h. r=longsonr
...
Move stuff to the C++ file where possible, and move ClipEdges to
nsTextFrame since it's the only thing using it (rather than keeping it
in nsDisplayText).
Also avoids a RemoteBrowser.h include from nsDisplayList.h while at it.
This came up in https://phabricator.services.mozilla.com/D137271#inline-768125
Differential Revision: https://phabricator.services.mozilla.com/D139759
2022-02-25 22:18:11 +00:00
Ting-Yu Lin
830637b4c9
Bug 1756008 Part 3 - Rename nsLineLayout::mBlockReflowInput. r=layout-reviewers,emilio
...
Its type is not `BlockReflowInput` but an ordinary `ReflowInput`. Rename it to
`mLineContainerRI` to match its accessor.
While I'm here, I change `mLineContainerRI` to be a reference since it cannot be
nullptr (see nsLineLayout's constructor); also, replace
`mLineContainerRI->mFrame` with `LineContainerFrame()`.
Differential Revision: https://phabricator.services.mozilla.com/D139438
2022-02-23 21:22:43 +00:00
Jonathan Kew
d8886ac7f7
Bug 1751738 - Check textframe writing mode when generating/drawing a soft-hyphen textrun. r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D136910
2022-01-25 23:27:23 +00:00
Miko Mynttinen
a65a273fd8
Bug 1697979 - Part 1: Reuse previously built stacking context display items without merging r=mstange
...
Differential Revision: https://phabricator.services.mozilla.com/D128413
2022-01-22 02:37:31 +00:00
Alexandru Michis
dce8504d76
Backed out 3 changesets (bug 1697979) for causing reftest failures in retained-dl-displayport-1.html
...
Backed out changeset e4248d811360 (bug 1697979)
Backed out changeset db3882cc536c (bug 1697979)
Backed out changeset ea7ce38abaab (bug 1697979)
2022-01-21 04:01:27 +02:00
Miko Mynttinen
55ab9e83dd
Bug 1697979 - Part 1: Reuse previously built stacking context display items without merging r=mstange
...
Differential Revision: https://phabricator.services.mozilla.com/D128413
2022-01-21 00:43:34 +00:00
Noemi Erli
47edcb7964
Backed out 3 changesets (bug 1697979) for causing reftest failures CLOSED TREE
...
Backed out changeset 4edb10a45d13 (bug 1697979)
Backed out changeset 456b57492294 (bug 1697979)
Backed out changeset 1cb3b14f2f6c (bug 1697979)
2022-01-20 22:25:00 +02:00
Miko Mynttinen
cc5862abeb
Bug 1697979 - Part 1: Reuse previously built stacking context display items without merging r=mstange
...
Differential Revision: https://phabricator.services.mozilla.com/D128413
2022-01-20 18:38:59 +00:00
Jonathan Kew
b99a6703b1
Bug 1751103 - Short-circuit AdvanceToNextTab when tab-size is zero. r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D136480
2022-01-20 13:58:14 +00:00
Ting-Yu Lin
18989890b3
Bug 1745113 Part 3 - Change CountGraphemeClusters() to take a Span parameter. r=jfkthame
...
Differential Revision: https://phabricator.services.mozilla.com/D135641
2022-01-13 18:36:04 +00:00
Emilio Cobos Álvarez
945e00490a
Bug 1747922 - Rename StyleMathMLMathVariant -> StyleMathVariant.
...
MANUAL PUSH: Trivial rename.
2021-12-30 02:35:54 +01:00
Neia Finch
a3e861c2e1
Bug 1747922 - Replace MathML font constants with enum r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D134802
2021-12-30 00:34:27 +00:00
Jonathan Kew
d45a6027c4
Bug 1746187 - Implement rendering support for hyphenate-character. r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D133890
2021-12-16 13:47:56 +00:00
Marian-Vasile Laza
f94b4ad3f5
Backed out 4 changesets (bug 1746187) for causing xpcshell failures on test_css-properties-db.js.
...
Backed out changeset fa4f889dd0d3 (bug 1746187)
Backed out changeset e3fce2273109 (bug 1746187)
Backed out changeset 6733677ad35d (bug 1746187)
Backed out changeset a4375ff93414 (bug 1746187)
2021-12-16 04:51:13 +02:00
Jonathan Kew
8b1b478d28
Bug 1746187 - Implement rendering support for hyphenate-character. r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D133890
2021-12-15 23:16:49 +00:00
Nika Layzell
0e975d0e8d
Bug 1741665 - Align nsCString's public size_type better with other C++ APIs, r=mccr8,geckoview-reviewers,agi
...
Differential Revision: https://phabricator.services.mozilla.com/D131422
2021-12-13 21:47:56 +00:00
Jonathan Kew
a5581f4e1c
Bug 1742626 - Attempt to improve Indic-script ::first-letter behavior by not allowing a boundary after a ligated virama in scripts that use half-consonant forms. r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D132373
2021-12-08 15:42:55 +00:00
Dan Minor
237b40ae17
Bug 1719554 - Unify unicode::Script as intl::Script; r=platform-i18n-reviewers,gregtatum
...
Differential Revision: https://phabricator.services.mozilla.com/D132278
2021-12-06 18:15:50 +00:00
Miko Mynttinen
0ef5ab223a
Bug 1743637 - Fix array out of bounds in nsTextFrame::ToCString r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D132498
2021-12-06 14:44:55 +00:00
Butkovits Atila
c0faf95b7f
Backed out 3 changesets (bug 1719554) for causing bustages complaining about gfxTextRun.cpp.
...
Backed out changeset 6181e40d4da1 (bug 1719554)
Backed out changeset c261ede6ae81 (bug 1719554)
Backed out changeset 221ec418475c (bug 1719554)
2021-12-04 00:58:15 +02:00
Dan Minor
438c13a7c2
Bug 1719554 - Unify unicode::Script as intl::Script; r=platform-i18n-reviewers,gregtatum
...
Differential Revision: https://phabricator.services.mozilla.com/D132278
2021-12-03 20:49:32 +00:00
Emilio Cobos Álvarez
2610e02f11
Bug 1744152 - Make the aAllUpperCase parameter of TransformString more generic. r=jfkthame
...
Bug 1744009 will stop creating frames for <option>s, but will need to
support text-transform on the option strings to calculate the right
intrinsic size for the <select> element.
The reason why we want to calculate the intrinsic size without having
into account the option styles is so that changing the selected option
doesn't change the width of the combobox, which is something that can
happen now.
This is similar to:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/layout/layout_box.cc;l=307;drc=32f574f6df1d37b0d9ed765fe138270414d79e49
This patch will allow to achieve this (and not regress tests like
html/rendering/non-replaced-elements/form-controls/text-transform.html.ini).
Differential Revision: https://phabricator.services.mozilla.com/D132746
2021-12-03 11:45:48 +00:00
Noemi Erli
041786e7fd
Backed out changeset 7af79a49bf5f (bug 1743637) for causing perma geckoview failures
2021-12-02 13:31:34 +02:00
Miko Mynttinen
dced41e0e9
Bug 1743637 - Fix array out of bounds in nsTextFrame::ToCString r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D132498
2021-12-01 23:59:37 +00:00
Sandor Molnar
2783df3c49
Backed out changeset e86bd6c22ef7 (bug 1743637) for causing android failures. CLOSED TREE
2021-12-01 19:59:31 +02:00
Miko Mynttinen
4ed00f74d6
Bug 1743637 - Fix array out of bounds in nsTextFrame::ToCString r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D132498
2021-12-01 16:32:59 +00:00
Emilio Cobos Álvarez
54e796f48d
Bug 502258 - Add a Show Password button to <input type=password> controls. r=Gijs
...
It's controlled by the pref:
layout.forms.input-type-show-password-button.enabled
Differential Revision: https://phabricator.services.mozilla.com/D130407
2021-11-25 20:12:05 +00:00
Ting-Yu Lin
f5eef85ae3
Bug 1740831 Part 2 - Replace LineBreaker::Strictness with LineBreakRule. r=m_kato
...
LineBreaker::Strictness is just an alias of LineBreakRule in Segmenter.h. This
is to reduce the dependency of the legacy LineBreaker.
Differential Revision: https://phabricator.services.mozilla.com/D131026
2021-11-15 17:20:36 +00:00
Ting-Yu Lin
9335f64383
Bug 1740831 Part 1 - Replace LineBreaker::WordBreak with WordBreakRule. r=m_kato
...
LineBreaker::WordBreak is just an alias of WordBreakRule in Segmenter.h. This is
to reduce the dependency of the legacy LineBreaker.
Differential Revision: https://phabricator.services.mozilla.com/D131025
2021-11-15 17:20:35 +00:00
Emilio Cobos Álvarez
c98f60ad6a
Bug 1739925 - Add a foreground color to attention selection. r=jfkthame
...
In some platforms (like macOS, windows dark mode, android, and some gtk
themes) the foreground selection color might be `currentcolor`, and that
doesn't generally guarantee enough contrast with the attention
background.
Remove HeadlessLookAndFeelGTK's handling of this color since it's
useless (always overridden by prefs in all.js)
Differential Revision: https://phabricator.services.mozilla.com/D130617
2021-11-11 11:14:13 +00:00
Ting-Yu Lin
bf770d32aa
Bug 1722484 Part 2 - Replace LineBreaker::Next() and WordBreaker::Next() with the new iterators. r=m_kato
...
With the rewrite, we reduce the dependency of lwbrk LineBreaker::Next(),
WordBreaker::Next(), and their `int32_t` sentinel values
NS_LINEBREAKER_NEED_MORE_TEXT and NS_WORDBREAKER_NEED_MORE_TEXT.
Differential Revision: https://phabricator.services.mozilla.com/D130392
2021-11-09 01:14:15 +00:00
Iulian Moraru
ab71c96a33
Backed out 2 changesets (bug 1722484) for causing multiple build bustages. CLOSED TREE
...
Backed out changeset bef547b588ff (bug 1722484)
Backed out changeset e676fa1a0cb7 (bug 1722484)
2021-11-09 01:42:20 +02:00
Ting-Yu Lin
a5aa6d5cf9
Bug 1722484 Part 2 - Replace LineBreaker::Next() and WordBreaker::Next() with the new iterators. r=m_kato
...
With the rewrite, we reduce the dependency of lwbrk LineBreaker::Next(),
WordBreaker::Next(), and their `int32_t` sentinel values
NS_LINEBREAKER_NEED_MORE_TEXT and NS_WORDBREAKER_NEED_MORE_TEXT.
Differential Revision: https://phabricator.services.mozilla.com/D130392
2021-11-08 22:24:19 +00:00
Emilio Cobos Álvarez
a801e09d23
Bug 1738614 - Remove WindowBackground/Foreground system colors. r=mstange
...
There's no reason for these to be different to the CSS-exposed
Window/WindowText.
Differential Revision: https://phabricator.services.mozilla.com/D129990
2021-11-02 18:08:07 +00:00
Jonathan Kew
6c8e7c2302
Bug 1738560 - When text-transform is in effect, ensure we finish building the transformed textrun even if we would otherwise skip the line-break scan (in SVG text). r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D130055
2021-11-02 11:47:01 +00:00
Jonathan Kew
81ca382a7d
Bug 1712780 - Skip running the line-breaker when scanning SVG text frames. r=emilio
...
As we don't support multi-line text in SVG, there's no point running the line-breaker and
collecting potential break positions for textframes that are part of an SVG text subtree.
Telling BuildTextRunsScanner to skip this makes it somewhat less expensive.
In my local build, this reduces the reflow time of the testcase from nearly 20s to about 4.5s.
Still much too long, but at least it's a step in the right direction.
Differential Revision: https://phabricator.services.mozilla.com/D129404
2021-10-26 16:54:01 +00:00
Ting-Yu Lin
34bbb414d4
Bug 1736938 Part 3 - Make all WordBreaker's methods static, and adapt the callers. r=jfkthame
...
The motivation is the same as the previous part.
Differential Revision: https://phabricator.services.mozilla.com/D129109
2021-10-25 19:00:22 +00:00
Emilio Cobos Alvarez
5108d9ce86
Bug 1736379 - Tweak selection contrast check to avoid totally-indistinguishable selection background. r=jfkthame
...
Windows on dark mode uses a semi-transparent selection background like macOS,
which is basically the proton accent color. Avoid totally indistinguishable
backgrounds by ensuring there's at least minimal background contrast when
NS_SAME_AS_FOREGROUND_COLOR is used.
Differential Revision: https://phabricator.services.mozilla.com/D128757
2021-10-22 15:55:54 +00:00
Greg Tatum
8eeb570d82
Bug 1719546 - Replace nsBidi with mozilla::intl::Bidi; r=platform-i18n-reviewers,dminor
...
Differential Revision: https://phabricator.services.mozilla.com/D128793
2021-10-20 14:01:21 +00:00
Butkovits Atila
b4ce43ec95
Backed out 3 changesets (bug 1719546) for causing SM bustages at Bidi.h. CLOSED TREE
...
Backed out changeset c4d6ffc7e445 (bug 1719546)
Backed out changeset a1f7ed6c4251 (bug 1719546)
Backed out changeset e69fc596f2c3 (bug 1719546)
2021-10-19 21:09:47 +03:00
Greg Tatum
c671a34e08
Bug 1719546 - Replace nsBidi with mozilla::intl::Bidi; r=platform-i18n-reviewers,dminor
...
Differential Revision: https://phabricator.services.mozilla.com/D128793
2021-10-19 16:55:36 +00:00
Emilio Cobos Álvarez
9785635a11
Bug 1674204 - Fix hyphenated text min-content size. r=jfkthame
...
Differential Revision: https://phabricator.services.mozilla.com/D128105
2021-10-12 13:06:02 +00:00
Masayuki Nakano
00619f6d04
Bug 1729170 - Make all methods of nsTextFragment take uint32_t for the offset and length of text r=smaug
...
`nsTextFragment` is a storage of data node and DOM offset is `uint32_t`, but
some methods of `nsTextFragment` takes `int32_t` for the offset/length in
its text. Therefore, callers need to cast from `uint32_t` to `int32_t` if
the offset value is offset in a DOM node. Therefore, all methods of it should
take `uint32_t` values as offset/length in its text.
Differential Revision: https://phabricator.services.mozilla.com/D127923
2021-10-12 05:05:12 +00:00
Jonathan Kew
4e0a31b974
Bug 1731120 - Make truly-empty textframes return true for IsEmpty even when WhiteSpaceIsSignificant, unless they're editable or in an <input> element. r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D128009
2021-10-11 12:54:44 +00:00
Iulian Moraru
774910176f
Backed out changeset 5500054be8d6 (bug 1731120) for causing android 4.1 shippable build bustages. CLOSED TREE
2021-10-10 23:08:49 +03:00