Commit Graph

2542 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
eb1595e913 Merge mozilla-central to autoland 2017-04-27 16:36:41 +02:00
Masatoshi Kimura
fd136e7327 Bug 1358758 - Use CSSIntRect for nsIFrame::GetScreenRect. r=kats
MozReview-Commit-ID: KXPL1ERbFDa
2017-04-25 07:33:13 +09:00
Emilio Cobos Álvarez
7e1330401f Bug 1355351: Simplify nsLayoutUtils callers, and make child iterators notice display: contents pseudos. r=heycam
This also happens to fix other bugs, like making display: contents pseudos
animatable, which weren't before.

MozReview-Commit-ID: LhwTPNbFvSZ
2017-04-19 12:53:57 +02:00
Jonathan Kew
b375af8b79 Bug 1359857 - For frames that have a BidiDataProperty, include this in the debugging info printed by ListGeneric. r=dholbert 2017-04-26 23:25:49 +01:00
Mats Palmgren
4aa1161b6d Bug 1348857 part 3 - [css-grid] Only apply Automatic Minimum Size when the ApplyAutoMinSize bit is set, otherwise the minimum size is zero unless specified. r=dholbert
MozReview-Commit-ID: 40Rgcj0YZMm
2017-04-18 22:35:04 +02:00
Mats Palmgren
4e92dfdcaf Bug 1353573 - Don't try to preserve frame state bits across the ReflowInput ctor. r=dbaron
MozReview-Commit-ID: CjaUQjlv3ll
2017-04-10 19:25:58 +02:00
L. David Baron
def036d24e Bug 1353187 - Guard access to the frame property table with a frame state bit. r=dholbert
This protects all accesses to the frame property table with a bit stored
on the frame.  This means we avoid hashtable operations when asking
about frame properties on frames that have no properties.

The changes to RestyleManager, and the new HasSkippingBitCheck API, are
needed because RestyleManager depended on being able to ask for
properties on a deleted frame (knowing that the property in question
could not have been set on any new frames since the deleted frame was
destroyed), in order to use the destruction of the properties that
happens at frame destruction as a mechanism for learning that the frame
was destroyed.  The changes there preserve the use of that mechanism,
although it becomes a bit uglier.  The ugliness is well-deserved.

MozReview-Commit-ID: BScmDUlWq65
2017-04-04 20:59:21 -07:00
L. David Baron
e764ff99c9 Bug 1353187 - Give frame properties the const-ness semantics of member variables. r=dholbert
This makes it so that, given a |const nsIFrame*|, a caller can retrieve
properties but not set or remove them, but with an |nsIFrame*| all
operations are allowed.  I believe this is sensible since properties act
as extended member variables for things that are needed rarely, and
these are the const-ness semantics of member variables.

This also avoids the need for const_cast<nsIFrame*> to cast away const
in the following patch, which guards property access with a frame state
bit.

MozReview-Commit-ID: IJ9JnGzdH51
2017-04-04 20:59:21 -07:00
Eric Rahm
61aef92654 Bug 1353143 - Part 5: Replace direct usage of PR_LogPrint. r=froydnj
This replaces the usage of |PR_LogPrint| with either |printf_stderr| or
|MOZ_LOG| where appropriate. |printf_stderr| is used where a logger is not
actually available or if log levels are not being used as expected.
2017-04-04 14:36:21 -07:00
Carsten "Tomcat" Book
26963de473 Backed out changeset a86c4218ca5f (bug 1353187) 2017-04-04 09:54:51 +02:00
L. David Baron
01cade6800 Bug 1353187 - Give frame properties the const-ness semantics of member variables. r=dholbert
This makes it so that, given a |const nsIFrame*|, a caller can retrieve
properties but not set or remove them, but with an |nsIFrame*| all
operations are allowed.  I believe this is sensible since properties act
as extended member variables for things that are needed rarely, and
these are the const-ness semantics of member variables.

This also avoids the need for const_cast<nsIFrame*> to cast away const
in the following patch, which guards property access with a frame state
bit.

MozReview-Commit-ID: IJ9JnGzdH51
2017-04-03 20:43:30 -07:00
Timothy Nikkel
486d75afef Bug 1350463. Consider visibility: hidden frames to be not visible in nsIFrame::UpdateVisibilitySynchronously to match PresShell::MarkFramesInSubtreeApproximatelyVisible. r=mats 2017-04-03 00:52:17 -05:00
L. David Baron
40cfbfae40 Bug 1352056 - Call nsIFrame::StyleDisplay less from nsFrame::FinishAndStoreOverflow. r=dholbert
MozReview-Commit-ID: 5zuNLfyPv8o
2017-03-30 22:56:14 -04:00
Thinker K.F. Li
3c245eff20 Bug 1343057 - Part 2: Disable AA for layers with animation in effect. r=mattwoodrow 2017-03-29 09:38:00 -04:00
Boris Zbarsky
2ab5f6b014 Bug 1351139. Use only one kind of anonymous box for the block wrappers we create for a block-inside-inline split. r=dbaron
Note that this removes the useless (because this anon box is never absolutely
positioned) "clip: inherit" style.

MozReview-Commit-ID: iJJdv5VL06
2017-03-28 21:26:31 -04:00
Mantaroh Yoshinaga
73084d72d1 Bug 1337994 part 1 - Use pre-transformed overflow area frame's rectangle when checking that target frame is out of view. r=mattwoodrow
We used post-transformed overflow area frame when checking that target frame is out of view.
In this process, we will transform again. So we should use original frame's rectangle(i.e.
we should use pre-transformed over flow area's rectangle).

MozReview-Commit-ID: 9mapuFNjSQc
2017-03-28 01:50:12 +09:00
Emilio Cobos Álvarez
2200cacce9 Bug 1350401: Cleanup outline-painting-related logic. r=mats
MozReview-Commit-ID: ggDzDRrPIm
2017-03-24 19:38:15 +01:00
Carsten "Tomcat" Book
5f0d3d4e50 merge mozilla-inbound to mozilla-central a=merge 2017-03-24 14:24:21 +01:00
L. David Baron
fa1915b923 Bug 1350149 - Make display-reflow print reflow status in more cases. r=dholbert
This makes the display-reflow information for
layout/reftests/w3c-css/submitted/css21/pagination/moz-css21-float-page-break-inside-avoid-4.html
more clear, since it means we include previously-omitted
inline-break-before statuses (not really inline in this case!), such as:
  status=[Complete=Y,NIF=N,Truncated=N,Break=B,FirstLetter=N]

It was useful when debugging various tests for bug 1308876.

MozReview-Commit-ID: AL38FH6wuOa
2017-03-23 23:36:53 -07:00
Ting-Yu Lin
8afc356e21 Bug 1322570 Part 9 - Print StyleContext parents in frame tree dump only if they're gecko rule nodes. r=bholley
MozReview-Commit-ID: 7BrvmTPJqhe
2017-03-22 17:43:40 +08:00
Mats Palmgren
4729a520a5 Bug 1333482 part 2 - [css-ui] Change all consumers of StyleDisplay::mAppearance to use the accessor UsedAppearance() instead, and make mAppearance/mMozAppearance private. r=dholbert
MozReview-Commit-ID: 8JwLsY1CLDJ
2017-03-23 22:11:18 -07:00
Iris Hsiao
fe30912dbe Backed out 9 changesets (bug 1333482) for stylo test failures and this should be landed to autoland
Backed out changeset d8828e22dbaa (bug 1333482)
Backed out changeset a39aaecd10f7 (bug 1333482)
Backed out changeset c957d8c0281e (bug 1333482)
Backed out changeset d569fc566e43 (bug 1333482)
Backed out changeset 7e8c03090d34 (bug 1333482)
Backed out changeset c4511a175f2f (bug 1333482)
Backed out changeset 5483a82f7ce9 (bug 1333482)
Backed out changeset 4e7e5efb1bd8 (bug 1333482)
Backed out changeset 51d1accaeddb (bug 1333482)
2017-03-24 10:21:30 +08:00
Mats Palmgren
73ce305b9d Bug 1333482 part 2 - [css-ui] Change all consumers of StyleDisplay::mAppearance to use the accessor UsedAppearance() instead, and make mAppearance/mMozAppearance private. r=dholbert
MozReview-Commit-ID: 8JwLsY1CLDJ
2017-03-23 23:13:18 +01:00
cku
94cb42c027 Bug 1349462 - Part 1. Rename IsSVGText as IsInSVGTextSubtree. r=heycam
MozReview-Commit-ID: LTo6c8tTtaf
2017-03-23 15:29:11 +08:00
Jonathan Watt
a00f59df0b Bug 1349293, part 3 - More agressivly assert !FrameMaintainsOverflow() in FinishAndStoreOverflow. r=mattwoodrow
MozReview-Commit-ID: H2khv80K5rG
2017-02-13 15:55:27 +00:00
Jonathan Watt
4f5fef352e Bug 1349293, part 2 - Avoid unnecessary nsIFrame::IsFrameOfType and GetType calls in UnionBorderBoxes. r=mattwoodrow
MozReview-Commit-ID: I21poXqIjJy
2017-02-13 15:16:38 +00:00
Jonathan Watt
7982383c2c Bug 1349293, part 1 - Prevent UnionBorderBoxes from processing NS_FRAME_IS_NONDISPLAY frames. r=mattwoodrow
MozReview-Commit-ID: EDGd5sJo5E2
2017-02-13 15:06:20 +00:00
Cameron McCormack
757b14f5d7 Bug 1302054 - Part 2: Remove no longer useful nsStyleContext::CalcDifference optimization that handles the same-rule-node case. r=dbaron
nsStyleContext::CalcDifference had an optimization where, when we knew
that the old and new style context have the same rule node, we knew that
the only change hints that would need to be handled are those in the
"not handled for descendants" category, generated due to explicit
'inherit' values on reset properties.  This was because any changes due
to differences in inherited properties should only have generated
"handled for descendants" change hints (and thus would already have been
handled on an ancestor).

Before bug 931668, this let us avoid calling CalcDifference on structs
that only would have generated hints that we knew we already would have
handled.  However, after bug 931668, we compare all structs anyway so
that we can set the aEqualStructs outparam, so we don't gain anything
from this optimization.  We can still return these change hints we know
will not need to be handled, and rely on ElementRestyler::CaptureChange
to filter them out.

MozReview-Commit-ID: Ld1s2Js0i6r
2017-03-21 16:33:05 +08:00
Mats Palmgren
8b76142d34 Bug 1348665 part 5 - Remove the aFrame param to ReparentFrameViewTo and make it a member function instead. r=tnikkel
MozReview-Commit-ID: HStZiMcSOZa
2017-03-21 01:22:13 +01:00
Mats Palmgren
259eff1c5f Bug 1348665 part 4 - Remove some params to SyncFrameViewProperties and make it a member function instead. Make the aView param optional, use the frame's view if none provided. r=tnikkel
MozReview-Commit-ID: KTUaiqr0cmT
2017-03-21 01:22:13 +01:00
Mats Palmgren
442d95de91 Bug 1348665 part 3 - Remove the aFlags param to SyncFrameViewProperties because all callers pass zero. r=tnikkel
MozReview-Commit-ID: 7zohl3bOsO1
2017-03-21 01:22:13 +01:00
Mats Palmgren
683f0d5571 Bug 1348665 part 2 - Remove the ViewProperty and store the nsView* in a field on the relevant frame classes instead. r=tnikkel
The relevant frame classes are:
SubDocumentFrame
ListControlFrame (only when used for (non-e10s?) comboboxes)
PluginFrame
ViewportFrame
MenuPopupFrame

The view is now created in the frame's Init() method, except for
ViewportFrame which has its view assigned by the frame constructor
via a SetView() call.

MozReview-Commit-ID: 4O7Hm1yqwIp
2017-03-21 01:22:13 +01:00
Mats Palmgren
fcf1999622 Bug 1348665 part 1 - Move a few nsView related methods from nsContainerFrame to nsIFrame/nsFrame (idempotent patch). r=dholbert
Views are used for PluginFrame which inherits nsFrame, not nsContainerFrame,
so it's more appropriate that these methods should live in nsIFrame/nsFrame.

MozReview-Commit-ID: 87EgCnkF5YT
2017-03-21 01:22:13 +01:00
cku
14c0f9ceb9 Bug 1340044 - Part 2. Rename value in StyleGeometryBox. r=heycam
This change is to use gecko_enum_prefix in helpers.mako.rs, so that we do not
need to manually write code for nsStyleDisplay::mTransformBox.

MozReview-Commit-ID: 7UAL0iUcSIO
2017-03-16 15:18:10 +08:00
Carsten "Tomcat" Book
2620527719 Merge mozilla-central to mozilla-inbound 2017-03-16 15:39:58 +01:00
Mats Palmgren
d5e6cb0224 Bug 1335806 part 3 - [css-grid] Make 'align/justify-self:normal' behave as 'start' for grid items that have an intrinsic size or aspect ratio. r=dholbert
MozReview-Commit-ID: CZpUEcOCoip
2017-03-16 15:24:57 +01:00
Mats Palmgren
55995b4580 Bug 1335806 part 2 - Refactor the intrinsic size calculations a bit (idempotent patch). r=dholbert
MozReview-Commit-ID: JRYx7sWFcPA
2017-03-16 15:24:56 +01:00
Mats Palmgren
50453e97d1 Bug 1335806 part 1 - Move the intrinsic size/ratio calculations up a bit (idempotent patch). r=dholbert
MozReview-Commit-ID: 5FWpfyiN0Qa
2017-03-16 15:24:56 +01:00
Boris Zbarsky
9e5abec7c5 Bug 1347411 part 6. Change stylo to correctly recompute style of column-content anonymous boxes. r=heycam
MozReview-Commit-ID: 2pNOSVUuLJK
2017-03-15 14:00:43 -04:00
Boris Zbarsky
ad0a1f8844 Bug 1345362 part 5. Assert that we don't have a non-inheriting anon box in nsFrame::UpdateStyleOfChildAnonBox. r=heycam
MozReview-Commit-ID: E6EZakXIExQ
2017-03-08 23:50:31 -05:00
Boris Zbarsky
60be80cd9e Bug 1345362 part 4. Rename ResolveAnonymousBoxStyle to ResolveInheritingAnonymousBoxStyle. r=heycam
MozReview-Commit-ID: GVA1fTh0RDv
2017-03-08 23:50:28 -05:00
Boris Zbarsky
52f4dcb32a Bug 1343078 part 7. Make placeholders a non-inheriting anon box. r=dbaron
MozReview-Commit-ID: 3kQQroDRlr8
2017-03-08 00:18:40 -05:00
Boris Zbarsky
bc9d77fad3 Bug 1343078 part 6. Change nsFrame::CorrectStyleParentFrame to return null if we're dealing with a non-inheriting anon box. r=dbaron
MozReview-Commit-ID: In9U54Wsjnz
2017-03-08 00:18:39 -05:00
Bobby Holley
dc27ca735f Bug 1343937 - Exempt scrollbar NAC from the new NAC semantics. r=bz
MozReview-Commit-ID: 8TbFkirYOy2
2017-03-07 13:54:38 -08:00
Bobby Holley
3a6abc4136 Bug 1343937 - Implement and use GetInFlowParent. r=bz
MozReview-Commit-ID: 3xMjHnVO2Az
2017-03-07 13:54:36 -08:00
Bobby Holley
fe8dc59428 Bug 1344386 - Don't look for overlapping change hints in stylo documents. r=emilio
MozReview-Commit-ID: 9wK8TTXolPM
2017-03-07 13:14:32 -08:00
Boris Zbarsky
df5fdb18a2 Fix up a comment that I forgot to fix when addressing review feedback for bug 1343771. r=me, DONTBUILD
MozReview-Commit-ID: 7PFBYVlcR7F
2017-03-03 21:46:38 -05:00
Boris Zbarsky
279393753b Bug 1343771. Fix stylo to properly update styles on the anonymous block inside a table cell. r=emilio
MozReview-Commit-ID: 8LnPTKVxxVc
2017-03-03 16:14:39 -05:00
Boris Zbarsky
24571d844b Bug 1340723 part 1. Add an nsIFrame function that can be called from the stylo restyle manager to update style contexts on anonymous boxes associated with that frame, and a frame state bit that can be used to optimize out the virtual calls. r=emilio
MozReview-Commit-ID: 2niUdJPSXKa
2017-03-03 15:44:24 -05:00
Mats Palmgren
89416847ae Bug 1340771 part 2 - Introduce a WeakFrame class for heap allocated weak frame pointers, stored in a hashtable for fast lookup. r=tn
* * *
Bug 1340771 part 3 - Change existing heap allocated AutoWeakFrame instances to use WeakFrame instead.  r=tn

MozReview-Commit-ID: GSuUiy98jBa
2017-03-01 18:03:14 +01:00