Commit Graph

345 Commits

Author SHA1 Message Date
Olli Pettay
d6d2f4663c Bug 1330226 - BidiParagraphData should allocate less, r=jfkthame
--HG--
extra : rebase_source : a8c974f4a583d461dab121a5e4b5fb687c33b1fc
2017-01-12 22:46:23 +08:00
Nathan Froyd
f6a73ed989 Bug 1315274 - rename mozilla::MakeRange to mozilla::IntegerRange; r=Waldo
MakeRange is just way too generic for this sort of thing.
2017-01-06 09:22:53 -05:00
Jeremy Chen
aee90be343 Bug 1286468 followup - Fix naming issues.
MozReview-Commit-ID: C2PDA4R5k5F
2016-10-24 15:01:25 +08:00
Jeremy Chen
349eabf2f7 Bug 1286468 - Rename line related functions in nsBlockFrame. r=TYLin
1. Rename these functions to agree with Mozilla coding style.
2. Use singular naming instead of plural naming since each of these functions
returns an iterator pointing to a singular line.
3. Rename line() and rline() to BeginLineFrom() and RBeginLineFrom(), which
shall improve the readability.

MozReview-Commit-ID: txZjVnv9Yb

--HG--
extra : rebase_source : b4dae99ab7bf751bd9974616f8f8e6dfe6248fc2
2016-10-22 19:41:05 +08:00
Jonathan Kew
7e2171a18c Bug 924851 - patch 2 - When ENABLE_INTL_API is true, make nsBidi into a minimal wrapper around ICU's ubidi.h functions. r=xidorn
--HG--
rename : layout/base/nsBidi.cpp => layout/base/nsBidi_noICU.cpp
rename : layout/base/nsBidi.h => layout/base/nsBidi_noICU.h
2016-10-06 09:49:17 +01:00
Jonathan Kew
3cc319fde5 Bug 924851 - patch 1 - Move definition of nsBidiLevel/nsBidiDirection and frame bidi properties from nsBidi.h to nsIFrame.h, in preparation for removal of nsBidi. r=xidorn 2016-10-06 09:49:14 +01:00
Jonathan Kew
ad335f5029 Bug 1307842 - Remove the nsBidi::GetCharTypeAt() method and use plain GetBidiCat() instead. r=xidorn
MozReview-Commit-ID: 7vZCiIBGxXJ

--HG--
extra : rebase_source : d7f336f299075531197baec5990161e18efed0ca
2016-10-05 17:58:00 +01:00
Ravi Shankar
149cb6c819 Bug 1297982 - Replace NS_STYLE_BOX_DECORATION_BREAK_* with enum class; r=xidorn
MozReview-Commit-ID: 9Cli68UpKdz

--HG--
extra : rebase_source : aa43e54c5e5501cbfee29437c5fcfc0216823bd8
2016-08-26 12:44:32 +05:30
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
Xidorn Quan
5049576d59 Bug 1160847 part 1 - Add some debug functions. r=jfkthame
MozReview-Commit-ID: GclW6OAx6e3

--HG--
extra : source : bb4417abb20926a452c9791962cddf1c715b5674
2016-06-29 17:46:42 +10:00
Jonathan Kew
bb744e2597 Bug 1281424 - Don't let text-orientation:upright affect directionality in sideways-* writing modes. r=xidorn 2016-06-27 18:39:44 +01:00
Xidorn Quan
05dcd227c5 Bug 1281099 part 2 - Merge three bidi frame properties into one. r=jfkthame
MozReview-Commit-ID: CEJhM3c21KO

--HG--
extra : rebase_source : 9e21c098692429ad3b35b2230887faf85c967ce8
2016-06-21 17:53:10 +10:00
Xidorn Quan
c81ed5494f Bug 1281099 part 1 - Convert some macros to functions to help later change. r=jfkthame
MozReview-Commit-ID: 2OS5eIsNAYN

--HG--
extra : rebase_source : 345e33f986aa950eb122c1cc7451c7a59a8f84cb
2016-06-21 17:21:09 +10:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Cameron McCormack
cd6a2cb8f8 Bug 1266324 - Rename style const macro for unicode-bidi:bidi-override to be consistent with other style consts. r=jfkthame 2016-04-22 10:37:21 +10: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
Ting-Yu Lin
2d02ad0652 Bug 1227927 Part 3 - Use ranged-based for-loop to rewrite some simple loops in part 2. r=mats
--HG--
extra : commitid : CcdpGdlMNIk
extra : rebase_source : 9c184cb8107bf6276c237d03d240f8755fd61553
2016-01-29 22:42:15 +08:00
Ting-Yu Lin
1889f6bc41 Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats
--HG--
extra : commitid : 5qtaK1nS8RC
extra : rebase_source : dcc98f423b2446269beb6fa6a9d092ae8213f38e
2016-01-29 22:42:14 +08:00
Xidorn Quan
072dccd81f Bug 1230034 part 6 - Convert all frame properties which do not hold pointer to be typed. r=dbaron
--HG--
extra : source : f95f143e0e521ad2f8726097a484de402c834620
2016-01-28 14:23:59 +11:00
Xidorn Quan
0b71314608 Bug 1230034 part 3 - Move some frame property declaration around. r=dbaron
--HG--
extra : source : d67dd26db9f0349d2e8ef71f8def9fad7856fe1e
2016-01-28 14:23:59 +11: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
Mats Palmgren
dd20772a53 Bug 1235152 - [css-break] Don't apply border/padding twice on inlines with box-decoration-break:clone and direction:rtl. r=roc 2016-01-05 21:27:13 +01: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
Simon Montagu
c2726731e4 Bug 1162813: filter paragraph separators before passing text to SetPara, r=jfkthame 2015-12-07 21:18:35 +02:00
Jonathan Kew
c871ee8560 Bug 1157727 - Part 0: Preliminary cleanup, remove a bunch of #ifdef'd dead code from nsBidi.cpp. r=smontagu 2015-11-25 12:01:03 +00:00
Ting-Yu Lin
79afc81f6e Bug 1226875 - Remove nsIFrame::GetFirstChild(). r=mats
--HG--
extra : commitid : J8NTL74JosY
extra : rebase_source : 50a196905ac06d09fea17bb1aa17efe821cc7cbb
2015-11-26 17:12:39 +08:00
Carsten "Tomcat" Book
6c15811d8a Backed out changeset 00c2df3df22f (bug 1157727)
--HG--
extra : rebase_source : d717285c96315da10facb20b157b1a9fa4967b9a
2015-11-25 15:37:04 +01:00
Jonathan Kew
65a70aed66 Bug 1157727 - Part 0: Preliminary cleanup, remove a bunch of #ifdef'd dead code from nsBidi.cpp. r=smontagu 2015-11-25 12:01:03 +00:00
L. David Baron
42852c519a Bug 1217833 - Fix container width in exception for line frames in nsBidiPresUtils::ReorderFrames. r=jfkthame
--HG--
extra : commitid : 5eSLcPwltIY
2015-11-24 07:23:14 -08:00
Simon Montagu
3457b582d2 Bug 1216096: restore previous RTL caret behaviour by backout of bug 1164963, bug 1177505, and bug 1180417. r=jfkthame 2015-11-10 04:42:23 -08:00
Mats Palmgren
c9a6c1cfaa Bug 1210877 - Make nsBidiPresUtils::RepositionFrame work also for box-decoration-break:clone. r=roc 2015-10-03 06:28:00 +02:00
Ted Clancy
32c01ca678 Bug 1177505 - Make all continuations fluid within non-bidi paragraphs. r=smontagu 2015-07-30 13:47:08 -07:00
Jonathan Kew
8ebb1db8e5 Bug 1131451 part 2 - Respect the container height when converting vertical-RTL inline-direction coordinates. r=dholbert
* * *
Bug 1131451 part 2a - Remove hack for rtl-in-vertical-mode from ReflowAbsoluteFrame. r=dholbert
* * *
Bug 1131451 part 2b - Mark relative-overconstrained tests that now pass in vertical mode with rtl. r=dholbert
* * *
Bug 1131451 part 2c - Mark vertical border-collapse bevel tests that now pass. r=dholbert
* * *
Bug 1131451 part 2d - Remove partial rtl-in-vertical support from nsBidiPresUtils now that logical-coordinate classes handle it better. r=dholbert
* * *
Bug 1131451 part 2e - Remove hack for float positioning in vertical mode with dir=rtl. r=dholbert
* * *
Bug 1131451 part 2f - Mark vertical-mode float-in-rtl reftests that are now passing. r=dholbert
* * *
Bug 1131451 part 2g - Compute both dimensions of containerSize in nsFlexContainerFrame::DoLayout. r=dholbert
* * *
Bug 1131451 part 2h - Mark flexbox writing-mode tests that are now passing. r=dholbert
2015-07-16 10:08:05 +01:00
Jonathan Kew
4e6c40d7ea Bug 1131451 part 1 - Replace containerWidth with containerSize in logical-coordinate classes and APIs, frame classes, etc. r=dholbert 2015-07-16 10:07:57 +01: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
Ted Clancy
6f16984aef Bug 1164693 - Part 2: Frames in a non-bidi paragraph with newline shouldn't be marked as bidi. r=smontagu 2015-06-05 21:46:49 -04: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
21b619291a Bug 1149009 - Suppress line break inside text frame if it is directly contained by ruby content box. r=dbaron
--HG--
extra : source : 27743ccd4b9be84847c7eb6590adcf96fb424999
2015-05-04 09:52:53 +12:00
Jonathan Kew
d4ac33e086 Bug 1157752 - In vertical writing modes, text-orientation:upright should force LTR directionality. r=smontagu 2015-04-29 08:18:53 +01:00
Xidorn Quan
9c13d12b5e Bug 1156222 - Check frame type instead of display type for ruby and simplify code. r=dholbert
--HG--
extra : source : c00a44185d012b612271e0c64c444832c19d3b54
2015-04-23 13:32:53 +12:00
Sylvestre Ledru
947ef6f336 Bug 1155766 - Fix a bad assertion r=jfkthame
--HG--
extra : rebase_source : b68a09d56ef7c2014dace4ea61f07713436d551b
2015-04-20 11:42:49 -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