searching for reviewer(dbaron)
6a0c50ce045d9b25e3fd38a947a4b87297047166: Bug 1352380 - Make sure gradient stops have ordered mPosition variables. r=dbaron a=lizzard
Markus Stange <mstange@themasta.com> - Fri, 07 Apr 2017 00:51:43 -0400 - rev 375822
Push 11037 by cbook@mozilla.com at Mon, 10 Apr 2017 12:29:04 +0000
Bug 1352380 - Make sure gradient stops have ordered mPosition variables. r=dbaron a=lizzard MozReview-Commit-ID: DsP5Q6qmvH2
fc0cc9ad4ef8b366d04c3959026580d6e316aa62: Bug 1348596 - Back out incorrectly-landed (and unreviewed) change to ContinueTextRunAcrossFrames that was mistakenly pushed. r=dbaron a=gchang
Jonathan Kew <jkew@mozilla.com> - Mon, 20 Mar 2017 09:44:02 +0000 - rev 375336
Push 10920 by cbook@mozilla.com at Tue, 21 Mar 2017 08:53:47 +0000
Bug 1348596 - Back out incorrectly-landed (and unreviewed) change to ContinueTextRunAcrossFrames that was mistakenly pushed. r=dbaron a=gchang
1d8e1baa9f98fdd38142371aa091a3477ef5700c: Bug 1344628 - Remove RecalculateRowIndex() and combine its functionality with ResetRowIndices(). r=dbaron a=gchang
Neerja Pancholi <npancholi@mozilla.com> - Mon, 06 Mar 2017 16:06:20 -0800 - rev 375148
Push 10881 by cbook@mozilla.com at Fri, 10 Mar 2017 11:25:35 +0000
Bug 1344628 - Remove RecalculateRowIndex() and combine its functionality with ResetRowIndices(). r=dbaron a=gchang MozReview-Commit-ID: BokshmpqH7N
3bd400108a21da50ce97ee2b1af553dadfb732f3: Bug 1300355 - Part 2: Don't track use counts in the reftest harness when the cache is disabled. r=dbaron
Matt Woodrow <mwoodrow@mozilla.com> - Sun, 26 Feb 2017 16:57:01 +1300 - rev 375066
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1300355 - Part 2: Don't track use counts in the reftest harness when the cache is disabled. r=dbaron
a519934c735bc33a2e537aa585c3ab5c26da21c3: Bug 1300355 - Part 1: Increase frequency of GC/CC during reftests. r=dbaron
Matt Woodrow <mwoodrow@mozilla.com> - Wed, 28 Sep 2016 13:29:46 +1300 - rev 375065
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1300355 - Part 1: Increase frequency of GC/CC during reftests. r=dbaron
85613fa0c5fec9e51f428debcb1d05aaa33f73da: Bug 1285874 - Maintain a map of removed table-rows and use it to lazily recalculate row indices. r=dbaron
Neerja Pancholi <npancholi@mozilla.com> - Thu, 02 Mar 2017 15:09:30 -0800 - rev 374772
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1285874 - Maintain a map of removed table-rows and use it to lazily recalculate row indices. r=dbaron MozReview-Commit-ID: Jt6QJTp0YGe
3e542f18ed6278e1285cae899453679841ea5296: Bug 1337940 - Part 3 - Restrict the amount of session history we keep around during test_parse_rule. r=dbaron
Jan Henning <jh+bugzilla@buttercookie.de> - Wed, 22 Feb 2017 22:44:49 +0100 - rev 374114
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1337940 - Part 3 - Restrict the amount of session history we keep around during test_parse_rule. r=dbaron During its run this test amasses a considerable collection of session history. Because the page title never changes, though, the Android session store previously never attempted to capture the state here. As of this bug this has changed and history change events now (correctly) trigger a session store data update on Android as well. On a debug build running on the Android emulator however, collecting the session history data can take up to 1 s when the session history count approaches the default "browser.sessionhistory.max_entries" limit of 50 entries, which increases the total running time of this test considerably and leads to timeouts (although only just). Bug 1341810 will track possibly improving the session store performance on Android by not doing a full history collect when not needed, but for the time being, restricting the amount of session history we keep around during this test is the simpler solution. MozReview-Commit-ID: JRREidiWnM3
16c77acfaa6e2054a1188c71e07cc656ed494c5e: Bug 1326407 Part 8 - Implement shape-outside: inset(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Thu, 16 Feb 2017 10:51:49 +0800 - rev 372269
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326407 Part 8 - Implement shape-outside: inset(). r=dbaron The reftests have passed layout/reftests/w3c-css/submitted/check-for-references.sh. MozReview-Commit-ID: JZk1fo8SxgV
8a514a5851a4435f772ac5030f1ef4ed7303aa90: Bug 1326407 Part 7 - Rename BoxShapeInfo to RoundedBoxShapeInfo. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Thu, 16 Feb 2017 10:51:48 +0800 - rev 372268
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326407 Part 7 - Rename BoxShapeInfo to RoundedBoxShapeInfo. r=dbaron The radii has been cached in the BoxShapeInfo in the previous part. Hence the rename. This class will be used to implement inset() in the next part, so the rect stored isn't necessarily the rect of the <shape-box>. It could be the inset rectangle. Therefore I rename mShapeBoxRect to mRect to avoid any confusion. MozReview-Commit-ID: J0hpQDsbMyN
0058687f781389dad42c0e01f4117859e8496202: Bug 1326407 Part 6 - Cache the border radii in BoxShapeInfo. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Thu, 16 Feb 2017 10:51:48 +0800 - rev 372267
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326407 Part 6 - Cache the border radii in BoxShapeInfo. r=dbaron The radii can be computed when creating BoxShapeInfo. No need to compute them every time in the LineLeft() and LineRight(). MozReview-Commit-ID: GIDSLgickCT
f45cac0c1b91cb5220b74b1dd5b708a4154c9d1f: Bug 1326407 Part 5 - Rename ConvertPhysicalToLogical(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Thu, 16 Feb 2017 10:51:48 +0800 - rev 372266
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326407 Part 5 - Rename ConvertPhysicalToLogical(). r=dbaron Make the name and the order of arguments be consistent with the ConvertPhysicalToLogical() method added in the previous part. MozReview-Commit-ID: 1YARDzI3cyr
366e6522665c6dfff386d76798d1ffbf232cc0c8: Bug 1326407 Part 4 - Extract a function to convert a rect to float manager's logical coordinate. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Thu, 16 Feb 2017 10:51:48 +0800 - rev 372265
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326407 Part 4 - Extract a function to convert a rect to float manager's logical coordinate. r=dbaron MozReview-Commit-ID: Ag6V6XmlHIU
b0af1a8bdcaf6952ba6be848bf83248e6fb455c4: Bug 1326407 Part 3 - Extract a function to compute <shape-box> rect. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Thu, 16 Feb 2017 10:51:48 +0800 - rev 372264
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326407 Part 3 - Extract a function to compute <shape-box> rect. r=dbaron MozReview-Commit-ID: HaiDqNgE25P
2b9a5fad30b78c77860a5418b8db96b56edab11b: Bug 1326407 Part 2 - Extract a function to compute inset radii. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Thu, 16 Feb 2017 10:51:48 +0800 - rev 372263
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326407 Part 2 - Extract a function to compute inset radii. r=dbaron MozReview-Commit-ID: 3XbfW40AJCI
ecc715f72d6112bd6a57a5b52603c3ca2683a003: Bug 1326407 Part 1 - Extract a function to compute inset rect. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Thu, 16 Feb 2017 10:51:47 +0800 - rev 372262
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326407 Part 1 - Extract a function to compute inset rect. r=dbaron MozReview-Commit-ID: DmVOVArtzBZ
1e1d9acdc20345f0940d273fc61a941296b97d26: Bug 1313753 - Update overflow at the establisher of the 3D rendering context. r=dbaron
Thinker K.F. Li <thinker@codemud.net> - Wed, 08 Feb 2017 23:17:00 +0100 - rev 370709
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1313753 - Update overflow at the establisher of the 3D rendering context. r=dbaron
d0d4bfd4c0731a277b9acf0beb6ff05eac7e6e83: Bug 1292460 - Focus the reftest browser before starting tests, except when filtering out needs-focus tests. r=dbaron
Jet Villegas <bugs@junglecode.net> - Tue, 24 Jan 2017 05:57:19 +0900 - rev 360365
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1292460 - Focus the reftest browser before starting tests, except when filtering out needs-focus tests. r=dbaron
a79202aaab99375695d6f58f2334713659f6ee4f: Bug 1333685 - Eliminate CircleShapeInfo, and use EllipseShapeInfo for circle(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Wed, 25 Jan 2017 16:01:51 +0800 - rev 360200
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1333685 - Eliminate CircleShapeInfo, and use EllipseShapeInfo for circle(). r=dbaron The difference between CircleShapeInfo's constructor and EllipseShapeInfo's is the computation of the radii. Therefore, this patch creates a factory function to distinguish that, so shape-outside: circle() could be implemented by using EllipseShapeInfo. MozReview-Commit-ID: 9ZBQu8zCSrM
98dfda01dcba975511d87a1850470306e765f430: Bug 1326406 Part 6 - Make CircleShapeInfo inherit from EllipseShapeInfo. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Mon, 23 Jan 2017 17:19:32 +0800 - rev 360074
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326406 Part 6 - Make CircleShapeInfo inherit from EllipseShapeInfo. r=dbaron MozReview-Commit-ID: H0UgT6P6c7K
3058735a48936c25bb333007e731376ae4eba267: Bug 1326406 Part 5 - Update document about float manager's coordinate space. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Mon, 23 Jan 2017 16:37:07 +0800 - rev 360073
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326406 Part 5 - Update document about float manager's coordinate space. r=dbaron MozReview-Commit-ID: LJVqs49CSqQ
4e7f8bffe949a6ffaf27cba0fce856ba55b8fd3d: Bug 1326406 Part 4 - Implement shape-outside: ellipse(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Mon, 23 Jan 2017 17:18:07 +0800 - rev 360072
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326406 Part 4 - Implement shape-outside: ellipse(). r=dbaron MozReview-Commit-ID: t1gaoKNbNp
1557fe7d766b7568e8cbdf57c6feb12c90625127: Bug 1326406 Part 3 - Add ShapeInfo::Translate() for moving the origin of ShapeInfo. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Mon, 23 Jan 2017 17:17:37 +0800 - rev 360071
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326406 Part 3 - Add ShapeInfo::Translate() for moving the origin of ShapeInfo. r=dbaron Instead of manually adding (aLineLeft, aBlockStart) when creating a shape, add Translate() to let the shapes implement their only way to move their origin. FloatInfo could then move the shapes after they're created. MozReview-Commit-ID: ApZBHnkng74
166f7bf0f4074a7a76d493cf3feb946d6584f0ed: Bug 1326406 Part 2 - Extract the computation of ellipse radii as ComputeEllipseRadii(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Mon, 23 Jan 2017 17:17:05 +0800 - rev 360070
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326406 Part 2 - Extract the computation of ellipse radii as ComputeEllipseRadii(). r=dbaron MozReview-Commit-ID: LPdvg66adHQ
16c24b3a1e5cf4502f6f7520f9264665a8d27477: Bug 1326406 Part 1 - Fix indentation of </body> for the shapes1 reftests. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Mon, 23 Jan 2017 17:16:31 +0800 - rev 360069
Push 10863 by jlorenzo@mozilla.com at Mon, 06 Mar 2017 23:02:23 +0000
Bug 1326406 Part 1 - Fix indentation of </body> for the shapes1 reftests. r=dbaron MozReview-Commit-ID: 20vidQM09Jn
160ad83bc1247e87c5491613b9257720dfbef718: Bug 1313753 - Update overflow at the establisher of the 3D rendering context. r=dbaron a=jcristau
Thinker K.F. Li <thinker@codemud.net> - Wed, 08 Feb 2017 23:17:00 +0100 - rev 359327
Push 10767 by cbook@mozilla.com at Mon, 20 Feb 2017 14:53:35 +0000
Bug 1313753 - Update overflow at the establisher of the 3D rendering context. r=dbaron a=jcristau
8575918c999ce963225bdcd0aa763b91e7500253: Bug 1292460 - Focus the reftest browser before starting tests, except when filtering out needs-focus tests. r=dbaron, a=test-only
Jet Villegas <bugs@junglecode.net> - Tue, 24 Jan 2017 05:57:19 +0900 - rev 358718
Push 10640 by ryanvm@gmail.com at Fri, 27 Jan 2017 21:13:31 +0000
Bug 1292460 - Focus the reftest browser before starting tests, except when filtering out needs-focus tests. r=dbaron, a=test-only
fe22af79bacf6db526737536eab551caf68ba440: Bug 1331846 - Exclude the lines which have "include" appeared in the middle. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Wed, 18 Jan 2017 11:20:56 +0800 - rev 358248
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1331846 - Exclude the lines which have "include" appeared in the middle. r=dbaron Change "include" match rule from "^include" to "include " since there might be "skip-if" or other <failure-type> conditions before the "include". The single space after is added so that tests like "include.html" won't be excluded. DONTBUILD because this patch modifies a script checking for the validity of reftests, which is NPOTB. MozReview-Commit-ID: 3tFFIo8RKFp
383b301471d8f069cd799bb8f5a7c12bc73b1c6f: Bug 1281424 followup, remove spec link from reference file. r=dbaron
Jonathan Kew <jkew@mozilla.com> - Sat, 14 Jan 2017 18:25:12 +0000 - rev 357513
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1281424 followup, remove spec link from reference file. r=dbaron DONTBUILD
7de6d937014c28132614094a9e10d62b463d3d10: Bug 1311244 Part 7 - Implement shape-outside: circle(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:43 +0800 - rev 357288
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
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
6d0f6c3c988be4c1ca9e5a39e7f48304c3ff60a7: Bug 1311244 Part 6 - Add ShapeInfo and move <shape-box> impl to BoxShapeInfo. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:30 +0800 - rev 357287
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 6 - Add ShapeInfo and move <shape-box> impl to BoxShapeInfo. r=dbaron Create ShapeInfo as a base class for implementing all the shapes. In this design, we only need to create the correct subclass in FloatInfo's constructor whenever shape-outside is used rather than manually branching on StyleShapeSourceType and StyleBasicShape in all the methods like LineRight(), LineLeft(), etc. The concrete subclass of ShapeInfo could focus on implementing how its shape influence the flow area by overriding the needed methods in ShapeInfo. Move ComputeEllipseLineInterceptDiff() and XInterceptAtY() under the scope of ShapeInfo so that they could be used by BoxShapeInfo and all the other ShpapeInfo subclasses yet to come. MozReview-Commit-ID: ETVc5FdGNha
eb7632901874253863a479a0440dbe3cbbe2043f: Bug 1311244 Part 5 - Convert FloatInfo's copy constructor into a move constructor. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:19 +0800 - rev 357286
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 5 - Convert FloatInfo's copy constructor into a move constructor. r=dbaron Use move constructor for two reasons. 1) The copy constructor is needed only when appending FloatInfo to mFloats, so using move constructor will likely be more efficient if some of the member variables support move constructor. 2) Part 6 will added a UniquePtr member to FloatInfo, so using move constructor becomes necessary. Also change the return value of AddFloat() to void to simplify the code, since all the other callers do not check the return value, and BlockReflowInput::FloatAndPlaceFloat() only asserts in debug mode. I assume it's safe to omit the OOM check. MozReview-Commit-ID: GVbbsdBjr7b
dd7f9da94447f843d789803de38da5d573d1a997: Bug 1311244 Part 4 - Extract the computation of circle radius as ComputeCircleRadius(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:05 +0800 - rev 357285
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 4 - Extract the computation of circle radius as ComputeCircleRadius(). r=dbaron MozReview-Commit-ID: LJNvNOoc7FI
d1b0fefb0e4aae330312ba64c7b0434ae5458fd5: Bug 1311244 Part 3 - Extract the computation of center as ComputeCircleOrEllipseCenter(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:35:53 +0800 - rev 357284
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 3 - Extract the computation of center as ComputeCircleOrEllipseCenter(). r=dbaron MozReview-Commit-ID: A6OTJ9PD43c
ccdb3279cca91fd01729f612a34e688bcdfb8108: Bug 1311244 Part 2 - Create ShapeUtils, and move EnumerationToLength into it. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:35:29 +0800 - rev 357283
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 2 - Create ShapeUtils, and move EnumerationToLength into it. r=dbaron More functions in nsCSSClipPathInstance will be refactored and moved into ShapeUtils in subsequent patches. MozReview-Commit-ID: LmJUevY8YGr
8b36e6de0c4a9cb12adef70587ad40722033dd26: Bug 1311244 Part 1 - Use nsPoint type for center in nsCSSClipPathInstance. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:35:00 +0800 - rev 357282
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 1 - Use nsPoint type for center in nsCSSClipPathInstance. r=dbaron |center| should be of nsPoint type since all the arguments of ComputeObjectAnchorPoint() uses nsPoint and nsSize. We should only convert center to Point (which is an an UnknownUnits type) for APIs requiring Point type. MozReview-Commit-ID: EDrQGPUZp6m
50a921a0b78d908d64dd8a8ef96b9087702eea0f: Bug 1311244 Part 0 - Preemptively fix unified build bustage in nsLayoutUtils. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:34:33 +0800 - rev 357281
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 0 - Preemptively fix unified build bustage in nsLayoutUtils. r=dbaron The is a preemptively fix for unified bustage after Part 2 adds a new file under layout/base/. The error was: In static member function 'static bool nsLayoutUtils::SupportsServoStyleBackend(nsIDocument*)': invalid static_cast from type 'nsIDocument*' to type 'nsDocument*' MozReview-Commit-ID: A8xTSPgh8Ls
466053d9302bf21ff21f3a55ff8c91ef4f23eff8: Bug 1311244 Part 7 - Implement shape-outside: circle(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:43 +0800 - rev 357109
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
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
2893ecc79fefbf8d8803ad769b54b38f283dfe73: Bug 1311244 Part 6 - Add ShapeInfo and move <shape-box> impl to BoxShapeInfo. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:30 +0800 - rev 357108
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 6 - Add ShapeInfo and move <shape-box> impl to BoxShapeInfo. r=dbaron Create ShapeInfo as a base class for implementing all the shapes. In this design, we only need to create the correct subclass in FloatInfo's constructor whenever shape-outside is used rather than manually branching on StyleShapeSourceType and StyleBasicShape in all the methods like LineRight(), LineLeft(), etc. The concrete subclass of ShapeInfo could focus on implementing how its shape influence the flow area by overriding the needed methods in ShapeInfo. Move ComputeEllipseLineInterceptDiff() and XInterceptAtY() under the scope of ShapeInfo so that they could be used by BoxShapeInfo and all the other ShpapeInfo subclasses yet to come. MozReview-Commit-ID: ETVc5FdGNha
60d8d64ca347b58308c44cffb74d1e98ee8b7ca3: Bug 1311244 Part 5 - Convert FloatInfo's copy constructor into a move constructor. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:19 +0800 - rev 357107
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 5 - Convert FloatInfo's copy constructor into a move constructor. r=dbaron Use move constructor for two reasons. 1) The copy constructor is needed only when appending FloatInfo to mFloats, so using move constructor will likely be more efficient if some of the member variables support move constructor. 2) Part 6 will added a UniquePtr member to FloatInfo, so using move constructor becomes necessary. Also change the return value of AddFloat() to void to simplify the code, since all the other callers do not check the return value, and BlockReflowInput::FloatAndPlaceFloat() only asserts in debug mode. I assume it's safe to omit the OOM check. MozReview-Commit-ID: GVbbsdBjr7b
b1d7a47b0c70d8d7d29a668529bd6f59d8860bee: Bug 1311244 Part 4 - Extract the computation of circle radius as ComputeCircleRadius(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:05 +0800 - rev 357106
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 4 - Extract the computation of circle radius as ComputeCircleRadius(). r=dbaron MozReview-Commit-ID: LJNvNOoc7FI
61d064c78aa2026194a6531f2d94ccbb9f0f7ac3: Bug 1311244 Part 3 - Extract the computation of center as ComputeCircleOrEllipseCenter(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:35:53 +0800 - rev 357105
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 3 - Extract the computation of center as ComputeCircleOrEllipseCenter(). r=dbaron MozReview-Commit-ID: A6OTJ9PD43c
d523b9c7c0bb769db8c74a62f714b076ecaaf712: Bug 1311244 Part 2 - Create ShapeUtils, and move EnumerationToLength into it. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:35:29 +0800 - rev 357104
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 2 - Create ShapeUtils, and move EnumerationToLength into it. r=dbaron More functions in nsCSSClipPathInstance will be refactored and moved into ShapeUtils in subsequent patches. MozReview-Commit-ID: LmJUevY8YGr
ad8e7493c933fc5ab551285cd16189c4316543b2: Bug 1311244 Part 1 - Use nsPoint type for center in nsCSSClipPathInstance. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:35:00 +0800 - rev 357103
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 1 - Use nsPoint type for center in nsCSSClipPathInstance. r=dbaron |center| should be of nsPoint type since all the arguments of ComputeObjectAnchorPoint() uses nsPoint and nsSize. We should only convert center to Point (which is an an UnknownUnits type) for APIs requiring Point type. MozReview-Commit-ID: EDrQGPUZp6m
09115127684a73fbb4a349645696398a25c795f4: Bug 1311244 Part 0 - Preemptively fix unified build bustage in nsLayoutUtils. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:34:33 +0800 - rev 357102
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 0 - Preemptively fix unified build bustage in nsLayoutUtils. r=dbaron The is a preemptively fix for unified bustage after Part 2 adds a new file under layout/base/. The error was: In static member function 'static bool nsLayoutUtils::SupportsServoStyleBackend(nsIDocument*)': invalid static_cast from type 'nsIDocument*' to type 'nsDocument*' MozReview-Commit-ID: A8xTSPgh8Ls
d5411799a28f247463e45744ab00668c75e57620: Bug 1311244 Part 7 - Implement shape-outside: circle(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:43 +0800 - rev 356493
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
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
ff9c71e1dbc8c11fd5b6bd255e4a947142423c69: Bug 1311244 Part 6 - Add ShapeInfo and move <shape-box> impl to BoxShapeInfo. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:30 +0800 - rev 356492
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 6 - Add ShapeInfo and move <shape-box> impl to BoxShapeInfo. r=dbaron Create ShapeInfo as a base class for implementing all the shapes. In this design, we only need to create the correct subclass in FloatInfo's constructor whenever shape-outside is used rather than manually branching on StyleShapeSourceType and StyleBasicShape in all the methods like LineRight(), LineLeft(), etc. The concrete subclass of ShapeInfo could focus on implementing how its shape influence the flow area by overriding the needed methods in ShapeInfo. Move ComputeEllipseLineInterceptDiff() and XInterceptAtY() under the scope nsFloatManager so that they could be used by BoxShapeInfo and all the other ShpapeInfo subclasses yet to come. MozReview-Commit-ID: ETVc5FdGNha
96988ec5b81cdf2298ffcdcb407b4826e86a43ea: Bug 1311244 Part 5 - Convert FloatInfo's copy constructor into a move constructor. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:19 +0800 - rev 356491
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 5 - Convert FloatInfo's copy constructor into a move constructor. r=dbaron Use move constructor for two reasons. 1) The copy constructor is needed only when appending FloatInfo to mFloats, so using move constructor will likely be more efficient if some of the member variables support move constructor. 2) Part 6 will added a UniquePtr member to FloatInfo, so using move constructor becomes necessary. Also change the return value of AddFloat() to void to simplify the code, since all the other callers do not check the return value, and BlockReflowInput::FloatAndPlaceFloat() only asserts in debug mode. I assume it's safe to omit the OOM check. MozReview-Commit-ID: GVbbsdBjr7b
9d257713833a2f627113c5a0224b295f471704d3: Bug 1311244 Part 4 - Extract the computation of circle radius as ComputeCircleRadius(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:36:05 +0800 - rev 356490
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 4 - Extract the computation of circle radius as ComputeCircleRadius(). r=dbaron MozReview-Commit-ID: LJNvNOoc7FI
2c33905ccb04ce79efcebc40494cb3cf44b4ad08: Bug 1311244 Part 3 - Extract the computation of center as ComputeCircleOrEllipseCenter(). r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:35:53 +0800 - rev 356489
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 3 - Extract the computation of center as ComputeCircleOrEllipseCenter(). r=dbaron MozReview-Commit-ID: A6OTJ9PD43c
20148e33d523e6d1df786f6c1c5e7d2703e7dc84: Bug 1311244 Part 2 - Create ShapeUtils, and move EnumerationToLength into it. r=dbaron
Ting-Yu Lin <tlin@mozilla.com> - Fri, 06 Jan 2017 16:35:29 +0800 - rev 356488
Push 10621 by jlund@mozilla.com at Mon, 23 Jan 2017 16:02:43 +0000
Bug 1311244 Part 2 - Create ShapeUtils, and move EnumerationToLength into it. r=dbaron More functions in nsCSSClipPathInstance will be refactored and moved into ShapeUtils in subsequent patches. MozReview-Commit-ID: LmJUevY8YGr