Commit Graph

80 Commits

Author SHA1 Message Date
Ting-Yu Lin
353a498900 Bug 1311244 Part 7 - Implement shape-outside: circle(). r=dbaron
circle() allows the user to define an empty flow area, so IsEmpty() needs to
be overridden.

The flow area defined by a shape needs to be clipped to the margin-box per
https://drafts.csswg.org/css-shapes/#relation-to-box-model-and-float-behavior

In the reftests, both clip-path and shape-outside uses the same value so
that it's easier to debug visually.

Add LogicalPoint::LineRelative() because we need to convert a point's I() to
the line-axis in nsFloatManager. LineRelative() differs from I() in all
'rtl' direction per
https://drafts.csswg.org/css-writing-modes-3/#logical-to-physical

MozReview-Commit-ID: FxQaFPrEQ73
2017-01-06 16:36:43 +08:00
Carsten "Tomcat" Book
de8cecb003 Backed out changeset 466053d9302b (bug 1311244) 2017-01-12 14:19:18 +01:00
Ting-Yu Lin
d543342476 Bug 1311244 Part 7 - Implement shape-outside: circle(). r=dbaron
circle() allows the user to define an empty flow area, so IsEmpty() needs to
be overridden.

The flow area defined by a shape needs to be clipped to the margin-box per
https://drafts.csswg.org/css-shapes/#relation-to-box-model-and-float-behavior

In the reftests, both clip-path and shape-outside uses the same value so
that it's easier to debug visually.

Add LogicalPoint::LineRelative() because we need to convert a point's I() to
the line-axis in nsFloatManager. LineRelative() differs from I() in all
'rtl' direction per
https://drafts.csswg.org/css-writing-modes-3/#logical-to-physical

MozReview-Commit-ID: FxQaFPrEQ73
2017-01-06 16:36:43 +08:00
Phil Ringnalda
6a908b136a Backed out 8 changesets (bug 1311244) for OOM failures in Win7 debug R1
Backed out changeset d5411799a28f (bug 1311244)
Backed out changeset ff9c71e1dbc8 (bug 1311244)
Backed out changeset 96988ec5b81c (bug 1311244)
Backed out changeset 9d257713833a (bug 1311244)
Backed out changeset 2c33905ccb04 (bug 1311244)
Backed out changeset 20148e33d523 (bug 1311244)
Backed out changeset f36cd1532fdb (bug 1311244)
Backed out changeset 2ee4ea83a6b4 (bug 1311244)
2017-01-08 21:11:25 -08:00
Ting-Yu Lin
e95ce09ad4 Bug 1311244 Part 7 - Implement shape-outside: circle(). r=dbaron
circle() allows the user to define an empty flow area, so IsEmpty() needs to
be overridden.

The flow area defined by a shape needs to be clipped to the margin-box per
https://drafts.csswg.org/css-shapes/#relation-to-box-model-and-float-behavior

In the reftests, both clip-path and shape-outside uses the same value so
that it's easier to debug visually.

Add LogicalPoint::LineRelative() because we need to convert a point's I() to
the line-axis in nsFloatManager. LineRelative() differs from I() in all
'rtl' direction per
https://drafts.csswg.org/css-writing-modes-3/#logical-to-physical

MozReview-Commit-ID: FxQaFPrEQ73
2017-01-06 16:36:43 +08:00
Ting-Yu Lin
7e10b6ab51 Bug 1317588 Part 3 - Remove #define NS_SIDE_TOP/RIGHT/BOTTOM/LEFT. r=mats
This patch was written with the help of the following script. Also, manually
add mozilla qualifier to the enum values in nsStyleCoord.h, gfxRect.h, and
Types.h to make it build.

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "NS_SIDE_TOP" "eSideTop"
rename "NS_SIDE_RIGHT" "eSideRight"
rename "NS_SIDE_BOTTOM" "eSideBottom"
rename "NS_SIDE_LEFT" "eSideLeft"

MozReview-Commit-ID: 9T0ORsqM6nP
2016-11-18 18:12:25 +08:00
Ting-Yu Lin
03d0c3c4c4 Bug 1317588 Part 2 - Remove mozilla::css::Side typedef. r=mats
This patch is written with the help of the following script.

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "css::Side" "Side"

MozReview-Commit-ID: DPV6vivpPUp
2016-11-18 16:28:38 +08:00
Ting-Yu Lin
4d270b622b Bug 1316549 Part 1 - Fix LogicalSideForLineRelativeDir() for eLineRelativeDirLeft/Right. r=jfkthame
According to the spec, 6.4. Abstract-to-Physical Mappings,
line-left/line-right are equal to inline-start/inline-end when the direction
is the same. So we should use IsBlockLTR() instead of IsLineInverted().

https://drafts.csswg.org/css-writing-modes-3/#logical-to-physical

MozReview-Commit-ID: 7onE0SuHtdj
2016-11-17 14:10:55 +08:00
Daniel Holbert
b20c9edc66 Bug 1311865: Refactor the grid "same sides" code into a simpler WritingMode::ParallelAxisHasSamePolarity() utility function. r=mats
MozReview-Commit-ID: G9FRriSlZaG
2016-10-20 17:45:07 -07:00
Jeremy Chen
351de41d83 Bug 1297306 - part6:replace NS_STYLE_CLEAR_* with StyleClear enum class. r=xidorn
After using enum class, a switch-case warning in CombineBreakType is caught.
This is one of such kind safty checks that we would like to gain.
Fix it by adding default case for switch-case in CombineBreakType.

MozReview-Commit-ID: BdS3LPN6qzX
2016-09-07 10:20:17 +08:00
Ting-Yu Lin
d42431d103 Bug 1293604 - Replace NS_STYLE_FLOAT_* with StyleFloat enum class. r=dbaron
MozReview-Commit-ID: 4K6TyIm6cs3
2016-08-09 17:32:54 +08:00
Ting-Yu Lin
76df1c76cf Bug 1280647 - Rename nsStyleDisplay member mFloats to mFloat. r=dholbert
Also rename mOriginalFloats to mOriginalFloat.

MozReview-Commit-ID: COfmU34CtJU
2016-06-18 22:16:20 +01:00
Mats Palmgren
909042c3c5 Bug 1278010 - Add WritingMode convenience methods for determining whether to use central or alphabetical baselines. r=jfkthame 2016-06-03 17:43:00 +02:00
Mats Palmgren
b8a6a0174d Bug 1273705 - Add convenience methods to check if a margin is 'auto' on either side in an axis. r=dholbert 2016-05-18 13:49:32 +02:00
Jonathan Kew
3684e44ba1 Bug 1122918 - Part 2 - Provide accessors that return logical 'float' and 'clear' values resolved to their physical equivalents. r=heycam 2015-09-18 16:25:14 +01:00
Jonathan Kew
fb32dc18ca Bug 1221874 - Ignore the sideways-orientation flag when logical-coordinate classes are checking writing-mode compatibility. r=smontagu 2015-11-05 15:38:53 +00:00
L. David Baron
221a2b7c53 Bug 1216431 patch 1 - Give WritingMode an nsStyleVisibility* constructor. r=heycam
This is needed for patch 2.
2015-10-23 08:57:34 +09:00
L. David Baron
1d783f32f6 Bug 1209603 patch 2 - Reduce calls to StyleVisibility() in WritingMode constructor. r=heycam
(I noticed this while writing patch 1.)
2015-10-19 20:42:28 -07:00
Jonathan Kew
f4e2717e60 Bug 1208593 - Make the WritingMode::DebugString() method available even in non-DEBUG compilation (needed by --enable-dump-painting builds, for example). r=mchang 2015-09-27 08:51:02 +01:00
Jonathan Kew
7dc956655b Bug 1193519 pt 10 - Clean up remaining mentions of 'sideways-left' in code comments. r=dholbert 2015-09-24 10:23:35 +01:00
Jonathan Kew
6964504068 Bug 1193519 pt 1 - Update coordinate conversions in WritingModes.h to account for sideways-lr writing mode. r=dholbert
* * *
Bug 1193519 pt 1.1 - Fix error in LogicalRect::LineLeft/Right accessors. r=dholbert
2015-09-24 10:23:34 +01:00
Jonathan Kew
596ef56833 Bug 1193488 - patch 2 - Update the writing-mode representation printed by debugging code such as DumpFrameTree to reflect the new property values. r=dholbert 2015-09-23 22:16:11 +01:00
Jonathan Kew
3d9ffd82eb Bug 1193488 - Update values of writing-mode and text-orientation to reflect the CSS WG decision to revise them in the Writing Modes spec. r=dholbert 2015-09-23 22:16:01 +01:00
Jonathan Kew
33b0411e2c Bug 1193518 - Ensure that when we update a WritingMode after resolving dir=auto, we set the inline-dir bit appropriately as well as the inline-bidi bit. r=dholbert 2015-09-17 09:53:49 +01:00
Jonathan Kew
a20144d65d Bug 1202993 - Remove the logical-direction-based keywords for caption-side, and instead interpret the old physical keywords as logical sides. r=dholbert 2015-09-15 22:02:30 +01:00
Jonathan Kew
e10dc7c646 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
7e8bda5a72 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
Jonathan Kew
90cd303fe4 Bug 1181087 - part 2 - Remove the unused physical setter methods on logical-coordinate classes. r=smontagu 2015-07-07 14:20:09 +01:00
Jonathan Kew
d49428be46 Bug 1180643 - Fix the SetY() method on LogicalPoint to update the correct field. r=smontagu 2015-07-07 14:20:09 +01:00
Jonathan Kew
a00f3a2d5c Bug 1177076 patch 1 - Add logical values for the caption-side property (though not yet handled by layout code). r=heycam 2015-07-03 11:37:25 +01:00
Cameron McCormack
37290f1690 Bug 804975 - Part 1: Expose WritingMode bits. r=dbaron 2015-06-23 11:48:17 +10:00
Jonathan Kew
d50d9897e0 Bug 1167930 - Handle direction:rtl in vertical modes when converting a LogicalMargin to physical. r=smontagu 2015-05-28 18:29:07 +01:00
Masayuki Nakano
315a5e3351 Bug 1130935 part.6 Selection change notification should have selection range and writing mode information r=smaug 2015-05-15 10:18:08 +09:00
Jonathan Kew
af1ffec7a8 Bug 1159305 - patch 1 - Provide logical accessors for nsStylePosition and nsStyleSides fields. r=dbaron 2015-05-11 11:35:47 +01:00
Xidorn Quan
1757ec4209 Bug 1157569 part 10 - Add operator+= for LogicalMargin. r=jfkthame 2015-05-04 19:09:25 +12:00
Xidorn Quan
a036723d8c Bug 1117227 part 1 - Add IntersectRect method to LogicalRect. r=jfkthame 2015-04-24 10:15:32 +12:00
Simon Montagu
ad909cd15c Bug 1143218 patch 2: Add LineLeft and LineRight accessors to LogicalRect, r=jfkthame 2015-03-22 11:44:48 +02:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Jonathan Kew
3548059c7a Bug 1141928 part 2 - Correct the position of ruby text frames. r=roc 2015-03-14 16:46:33 +11:00
Xidorn Quan
60ca0c09a4 Bug 1141928 part 0 - Change line relative dir mapping code to return LogicalSide instead of physical side. r=jfkthame
This also fixes the line relative dir mapping code for inline axis direction.
2015-03-14 16:46:33 +11:00
Xidorn Quan
1729849c50 Bug 1123917 part 1 - Add line-relative direction mapping methods to writing modes. r=jfkthame 2015-01-22 14:04:55 +11:00
Cameron McCormack
1b766fb3ff Bug 1120284 - Part 4: Add functions to convert from logical to physical axes based on writing mode. r=jfkthame 2015-01-17 15:43:20 +11:00
Cameron McCormack
eb13213f1c Bug 1120284 - Part 3: Add physical axis constants. r=jfkthame 2015-01-17 15:43:20 +11:00
Cameron McCormack
91791b7646 Bug 1083134 - Part 3: Add functions to WritingMode to convert between logical and physical sides. r=jfkthame 2015-01-17 15:22:51 +11:00
Jonathan Kew
1019744198 Bug 1119770 - Remove the compile-time switch to enable/disable vertical writing mode support. r=smontagu 2015-01-12 20:55:52 +00:00
Ehsan Akhgari
a7f747ec15 Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -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 MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Simon Montagu
c78769023b Bug 1079154 patch 7: remove obsoleted nsPoint::GetPhysicalPosition, r=jfkthame 2015-01-06 23:10:43 -08:00
Simon Montagu
64e2ee277b Bug 1079154 patch 1: add a != operator to LogicalPoint and sprinkle some const dust in WritingModes.h, r=jfkthame 2015-01-06 23:10:07 -08:00
Jonathan Kew
2512a00c24 Bug 1110181 - Move mTextOrientation to the nsStyleVisibility struct to avoid potential recursive dependency in nsStyleText. r=dbaron 2014-12-11 18:56:19 +00:00
Jonathan Kew
badbe7b416 Bug 1108923 - Use the correct containing box dimension as the percent basis for margin/padding in vertical writing modes. r=smontagu 2014-12-11 11:16:22 +00:00