Commit Graph

119 Commits

Author SHA1 Message Date
Mirko Brodesser
0114f7f280 Bug 1685303: part 11) Add some const-correctness to frame code. r=smaug
Helps distinguishing what modifies frames and what doesn't.

Differential Revision: https://phabricator.services.mozilla.com/D101751
2021-01-14 14:45:01 +00:00
Kagami Sascha Rosylight
f7e99ea037 Bug 1645879 - Detect reversed direction frame when collapsing selection r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D79739
2020-06-16 11:52:49 +00:00
Mirko Brodesser
33bac859bb Bug 1626665: part 3) Declare more methods around nsTextFrame const. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D69573

--HG--
extra : moz-landing-system : lando
2020-04-06 08:36:30 +00:00
Simon Giesecke
8aa47bcfb7 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in layout. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D66016

--HG--
extra : moz-landing-system : lando
2020-03-17 09:38:32 +00:00
Xidorn Quan
3bb05cef1c Bug 1606192 - Remove some unused nsresult return value in layout code. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D58342

--HG--
extra : moz-landing-system : lando
2019-12-28 03:27:13 +00:00
L. David Baron
1ac8b69a03 Bug 1300293 - Pass the line box from nsBidiPresUtils::ResolveParagraph through EnsureBidiContinuation to nsIFrame::InsertFrames. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D38798

--HG--
extra : moz-landing-system : lando
2019-07-22 17:50:05 +00:00
L. David Baron
64f57e5d7f Bug 1300293 - Make nsBidiPresUtils track line boxes separately for the progress of TraverseFrames and ResolveParagraph. r=jfkthame
TraverseFrames gathers a bunch of frames into an array, and then at
forced breaks or the end of the block flushes its array by running
ResolveParagraph.  ResolveParagraph can sometimes cause lines to break,
so lines recorded during TraverseFrames may no longer be accurate during
ResolveParagraph.

It may look like the lines are only needed during ResolveParagraph and
we could handle the one issue in TraverseFrames that deals with
preformatted newlines by restructuring the code a tad.  However, in the
next patch, there will be an additional caller that needs the current
line during TraverseFrames to pass to CreateContinuation, which makes
such a structure less plausible.

This will also make it easier to produce a current line for the call to
SplitInlineAncestors within ResolveParagraph, which will be done in the
patch after the next.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 18:55:56 +00:00
Cameron McCormack
112bcc43db Bug 1554461 - Use an array to store nsContinuationStates when the number of them is low. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D32617

--HG--
extra : moz-landing-system : lando
2019-05-31 11:42:42 +00:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Cameron McCormack
a9c935c355 Bug 1511854 - Part 1: Fix some formatting oddities in layout/ after the clang-format. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D13686

--HG--
extra : moz-landing-system : lando
2018-12-05 18:44:03 +00: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
Emilio Cobos Álvarez
e341b20ec4 Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez
5dd797f154 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez
ca5ac79cca Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +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
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
Alexis Beingessner
adb013669b Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-13 11:00:10 -04:00
Sebastian Hengst
f3bf820bfd Backed out changeset 3d1ce85e6348 (bug 1088760) for bustage, at least on Android at layout/generic/nsPluginFrame.cpp:1612. r=backout 2017-06-13 00:30:03 +02:00
Alexis Beingessner
c75211cb95 Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-12 17:32:48 -04:00
Emilio Cobos Álvarez
6b268e09c2 Bug 1361749: Initialize all the fields in nsFrameContinuationState. r=mats
Not all of them are initialized/used in all the paths, but worth doing it just
for sanity.

MozReview-Commit-ID: 2EsHQCc0U8P
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-03 22:05:41 +02:00
Jonathan Kew
5d6ac17478 Bug 1358275 - Skip the main body of bidi-resolution for blocks that can be determined to be purely LTR content without directional overrides/embeddings. r=dholbert 2017-04-26 23:25:48 +01:00
Mats Palmgren
ec4f6376fc Bug 410857 part 4 - Stop passing around aBlockFrame just for DEBUG purposes. Introduce BidiParagraphData::mCurrentBlock for that purpose and set it to the right block continuation this time. r=jfkthame 2017-02-20 17:43:08 +01:00
Xidorn Quan
8e36f5d113 Bug 1160847 part 4 - Remove useless lineOffset variable in nsBidiPresUtils::ResolveParagraph. r=jfkthame
MozReview-Commit-ID: 7YRIg9TmExp

--HG--
extra : source : 962291a39b4172f341f8e09ae001d5f5ce732740
2016-06-29 17:48:00 +10:00
Xidorn Quan
c353935ab6 Bug 1160847 part 3 - Restore virtual bidi control characters for reordering. r=jfkthame
This patch mainly consists of two parts, one for resolving and the other
for reordering.

In the resolving part, the added code stores the lowest embedding level
of all bidi formatting characters precede a frame to the bidi data of
that frame when necessary.

In the reordering part, virtual frame is restored from the information
stored above before asking the bidi engine to reorder frames

Collapsing a run of continuous virtual formatting characters into one
virtual character with the lowest embedding level among them should work
because a character with a higher embedding level than either of its
neighbors should not affect the reordering result of any other part of
the sequence. (No formal proof of this theorem, though)

MozReview-Commit-ID: LQjRu0mWsZP

--HG--
extra : source : 5d0cf1cbd270e9963d848a23b37528ed503ed6a0
2016-06-29 17:47:18 +10:00
Xidorn Quan
90c5357c7f Bug 1160847 part 2 - Add glue to nsBidiPresUtils to use support for bidi isolate in nsBidi. r=jfkthame
This patch is mainly based on smontagu's wip patch. Some non-trivial differences:

* BidiParagraphData.mIsolateCount and related code are not added in this patch.
  I investigated uses of this field in the wip patch, and it seems to me none of
  them makes sense:
  1. in the fast path of nsBidiPresUtils::ResolveParagraph, if there would be
     any isolate character in the surrounding text, there must exist more than
     one runs, which indicates the isolate count condition is redundant.
  2. in handle of br frame in nsBidiPresUtils::TraverseFrames, based on my
     understanding of "CSS Writing Modes Level 3" section "2.4.4. Paragraph
     Breaks Within Embeddings and Isolates", the resolving should happen
     unconditionally.

* {control,override}Char in nsBidiPresUtils::TraverseFrames are assigned
  unconditionally when in a bidi inline container, so that we can properly
  handle it when there are continuations. I suspect this was the reason of
  regressions in dynamic reftests from the wip patch mentioned in comment 1.

MozReview-Commit-ID: LUdBAapA48e

--HG--
extra : source : 28fa56b841de689691375e8e2d5e56014921b48e
2016-06-29 17:47:00 +10:00
Nicholas Nethercote
3ba02d7a9b Bug 1232852 (part 3) - Remove unused parameters from some accessibility code. r=tbsaunde.
--HG--
extra : rebase_source : 7cdef8244e2b44b89e8061f66d45d40cbf245041
2015-12-15 21:24:06 -08:00
Nicholas Nethercote
06e901cb9f Bug 1231550 - Use DrawTarget instead of gfxContext and/or nsRenderingContext in many places in font/text code. r=jfkthame.
AutoTextRun now only needs a DrawTarget instead of an nsRenderingContext, and
similar nsRenderingContext/gfxContext-to-DrawTarget replacements can be
propagated a long way up the call graph. This patch replaces 93 occurrences of
nsRenderingContext and 135 occurrences of gfxContext with DrawTarget; that's
13% of them.

The patch is mostly plumbing changes. A couple of not-entirely-plumbing
changes:

- It adds a comment about the null check in
  gfxGlyphExtents::GetTightGlyphExtentsAppUnits().

- A couple of functions simply had an unused gfxContext or nsRenderingContext
  parameter removed, e.g. SetLineBreaks().

--HG--
extra : rebase_source : 8f56994bb4d254a86788b17ab2864ebc758a7e6b
2015-12-15 13:56:41 -08:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Xidorn Quan
33c1455032 Bug 1181890 - Center children of ruby content frame if necessary after the bidi reposition. r=jfkthame
--HG--
extra : source : db370ccfe5334eae5c4397a8ababab12f0794099
2015-07-13 09:32:15 +10:00
Matt Brubeck
f222d23c4e Bug 1169088 - Remove unused nsBidiPresUtils methods. r=dbaron
These were used only in nsSVGGlyphFrame which was removed in bug 889736.
2015-05-27 19:06:33 -07:00
Xidorn Quan
25da0b552a Bug 1141931 patch 10 - Revert to pass container size instead of only isize for bidi reordering. r=smontagu
--HG--
extra : source : 85a623e012b8deb2a41dc2e633a41223727bfe50
2015-04-08 11:22:34 +12:00
Xidorn Quan
98f15072a3 Bug 1141931 part 8 - Reorder ruby frames regarding their direction. r=jfkthame
--HG--
extra : source : 2ab8fdf15b09df128e03998c2daf26c48187851d
2015-04-08 11:22:34 +12:00
Xidorn Quan
7ed44c4442 Bug 1141931 part 4 - Make bidi reordering always in frame order. r=jfkthame,smontagu
--HG--
extra : source : dc2ce78ff7bc9e2b5ccb7308609a83feca6a1c22
2015-04-08 11:22:34 +12:00
Xidorn Quan
e581fcaf13 Bug 1141931 part 3 - Adjust some parameters of functions in nsBidiPresUtils. r=jfkthame
Includes two changes:
* aContainerSize of ReorderFrames, RepositionInlineFrames, RepositionFrame are changed to aContainerISize;
* the type of aContainuationStates in the functions above is changed to const pointer.

--HG--
extra : source : 41336b712d88a843b15015321cae9f878aa08427
2015-04-08 11:22:34 +12:00
Wes Kocher
74f58c915e Backed out 10 changesets (bug 1141931) for mochitest-5 failures CLOSED TREE
Backed out changeset c90940067de6 (bug 1141931)
Backed out changeset 96b48288abab (bug 1141931)
Backed out changeset 87281c7ded34 (bug 1141931)
Backed out changeset 6a914ba0b8ec (bug 1141931)
Backed out changeset 9cfea55b5e95 (bug 1141931)
Backed out changeset f432612b6475 (bug 1141931)
Backed out changeset 48cf9568a4b1 (bug 1141931)
Backed out changeset f1ab848b3fa6 (bug 1141931)
Backed out changeset 8a3c71a3b525 (bug 1141931)
Backed out changeset 119d3c0fd0f6 (bug 1141931)
2015-04-07 14:23:57 -07:00
Xidorn Quan
ff332f3d74 Bug 1141931 patch 10 - Revert to pass container size instead of only isize for bidi reordering. r=smontagu
--HG--
extra : source : 999cbb6740648762984e57d5ce764499381ccd5b
2015-04-08 08:40:31 +12:00
Xidorn Quan
8a236c4404 Bug 1141931 part 8 - Reorder ruby frames regarding their direction. r=jfkthame
--HG--
extra : source : 1cd39beced7297440bf4e8df906c5264302ac16d
2015-04-08 08:40:31 +12:00
Xidorn Quan
3e7300ba91 Bug 1141931 part 4 - Make bidi reordering always in frame order. r=jfkthame,smontagu
--HG--
extra : source : dc2ce78ff7bc9e2b5ccb7308609a83feca6a1c22
2015-04-08 08:40:31 +12:00
Xidorn Quan
8a3d0926c5 Bug 1141931 part 3 - Adjust some parameters of functions in nsBidiPresUtils. r=jfkthame
Includes two changes:
* aContainerSize of ReorderFrames, RepositionInlineFrames, RepositionFrame are changed to aContainerISize;
* the type of aContainuationStates in the functions above is changed to const pointer.

--HG--
extra : source : 41336b712d88a843b15015321cae9f878aa08427
2015-04-08 08:40:31 +12:00
Simon Montagu
9cdb41a6f4 Bug 1131013: when setting the position of inline frames in vertical writing modes with right-to-left direction, subtract the inline start from the container height to get the correct vertical position. r=jfkthame 2015-02-11 01:43:03 -08:00
Simon Montagu
2f9f1b57d2 Bug 1100071 patch 3: don't pass around bidi levels when we only need the direction, r=dholbert 2014-11-20 12:45:23 +02:00
Simon Montagu
ad766a1fcb Bug 1100071 patch 2: add macros for common tests whether bidi level is odd and whether two bidi levels have the same parity, r=dholbert 2014-11-20 12:45:22 +02:00
Jonathan Watt
1c3326bede Bug 1088625, part 2 - Pass nsFontMetrics objects through to code that needs it instead of storing it on the nsRenderingContext. r=mstange 2014-10-24 16:28:14 +01:00
Jonathan Kew
4778df83d1 Bug 1080621 - Don't pass nscoord in-params by reference in nsBidiPresUtils methods. r=smontagu 2014-10-16 09:40:20 +01:00
Simon Montagu
5240838225 Bug 1069941 patch 3: Pass the frame physical width, not inline size, to the inner loop of RepositionFrame, plus cosmetic fixes, r=jfkthame 2014-09-30 10:59:14 -07:00
Simon Montagu
72a6973797 Bug 1069941 patch 2: reset the start coordinate of the inline frames before ReorderFrames so that the margin doesn't get added twice, r=jfkthame 2014-09-30 10:59:13 -07:00
Simon Montagu
859e13d16d Bug 1069941 patch 1: be more accurate when identifying the first and last frames on the line and applying margin/border/padding, r=jfkthame 2014-09-30 10:59:13 -07:00
Ehsan Akhgari
60360fc645 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
Ehsan Akhgari
2ecbad7b1c Bug 491863 - Remove IBMBIDI; r=roc 2014-04-23 21:15:29 -04:00
Simon Montagu
2110ef8dc6 Use logical text layout API in nsLineLayout. Bug 789096, r=jfkthame 2014-03-11 13:23:50 -07:00