Commit graph

2360 commits

Author SHA1 Message Date
Carsten "Tomcat" Book
00d4ea331d Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
Mats Palmgren
e706869580 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz 2017-05-21 17:15:00 +08:00
Emilio Cobos Álvarez
56e549e4af Bug 1364871: Factor out some code from UpdateStyleOfChildAnonBox into UpdateStyleOfOwnedChildFrame. r=heycam
MozReview-Commit-ID: 24U6PmmqCeP

--HG--
extra : rebase_source : bf726211d064f7e6274100267d9b1b341c2a2f95
2017-05-19 23:56:02 +02:00
cku
d528aa4d56 Bug 1205475 - Part 2. Prevent multiple EffectSet property look up. r=mattwoodrow
Functions like BuildDisplayListForStackingContext or BuildDisplayListForChild look
up EffectSet property several times in callees, such as IsTransformed() or
HasOpacity(), which is time wasting.

We should look up EffectSet just once, and pass the found one to all callees
that need it.

MozReview-Commit-ID: GZywm2UcpU7

--HG--
extra : rebase_source : 21f5dd0076a90d876a6df35eee2b886844b44f0a
2017-05-17 15:13:12 +08:00
L. David Baron
60cfc710b2 Bug 1365443 - Unbreak wildcard rules in GECKO_DISPLAY_REFLOW_RULES_FILE. r=emilio
This restores the code to what it was doing prior to bug 1360241 (where
the else to add to mWildRules was an else of a test of fType), but then
removes the unnecesary null-check on the result of GetFrameTypeInfo.

MozReview-Commit-ID: EOPumJoKrIs

--HG--
extra : transplant_source : %E4%C8%A7%21%98%FAx%C7%1E%A5%0D%B5-%C5%BA%80%D4%1C%A8M
2017-05-17 11:59:56 -07:00
Jonathan Kew
54fe5f66e7 Bug 1365356 - patch 4 - Split low-level nsIFrame methods taking an optional nsStyleDisplay pointer into two versions, one taking a (non-null) nsStyleDisplay parameter, so we can bypass StyleDisplayWithOptionalParam and its null-check + branch in hot calls. r=mats 2017-05-17 15:47:42 +01:00
Jonathan Kew
fef41b2663 Bug 1365356 - patch 3 - Allow callers to pass an nsStyleDisplay to GetContainingBlock (and IsAbsolutelyPositioned, which it calls) if they have it on hand, to avoid internal calls to StyleDisplay(). r=mats 2017-05-17 15:47:36 +01:00
Jonathan Kew
6d345e8ee2 Bug 1365356 - patch 2 - Allow callers to pass an nsStyleDisplay in to FinishAndStoreOverflow, to avoid internal StyleDisplay() calls. r=mats 2017-05-17 15:47:31 +01:00
Botond Ballo
6c0eea50b3 Bug 1349750 - Group scroll thumb-related information in Layer into a ScrollThumbData structure. r=kats
The patch also renames Layer::SetScrollbarData() to Layer::SetScrollThumbData()
for clarity.

MozReview-Commit-ID: DVwJ3DMl3Zs

--HG--
extra : rebase_source : 7b2bfccf1351c82bb16296635e69d5488c87a50f
2017-05-10 14:02:15 -04:00
L. David Baron
324933a08e Bug 1363929 - Swap the order of tests in nsIFrame::In3DContextAndBackfaceIsHidden so that the faster-to-fail one is first. r=mattwoodrow
MozReview-Commit-ID: E8uj0vQMlti

--HG--
extra : transplant_source : %9E%19a%D3%E1T%13%BF%24%F6%B5ZW%068%1D%CF%B5%B7%20
2017-05-10 18:47:23 -07:00
Iris Hsiao
b2235165ae Merge mozilla-central to mozilla-inbound 2017-05-08 11:20:12 +08:00
Mats Palmgren
ab81bf6d9e Bug 1359411 - Backout bug 1328030 since it caused a hang which is strictly worse than the original problem. r=smaug
MozReview-Commit-ID: C12Tajtc7Vy
2017-05-07 22:54:18 +02:00
Thinker K.F. Li
70bcac7cb4 Bug 1342009 - Provide a shortcut in BuildDisplayListForChild. r=mattwoodrow 2017-05-04 02:06:00 +08:00
Wes Kocher
bc7b598309 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 8QMHmu81oVt
2017-05-05 14:18:13 -07:00
Henri Sivonen
c18a3863eb Bug 1269490 - Merge nsHtml5Atoms into nsGkAtoms. r=wchen
MozReview-Commit-ID: EcfnXkFuJy3

--HG--
extra : rebase_source : eb4ba2c1b95a9ccabdcdecf65f3b757691f033b8
2017-04-20 11:47:02 +03:00
Mats Palmgren
cfc06fe550 Bug 1361499 - Initialize nsIFrame::mState in the ctor to avoid Coverity warnings. r=jfkthame
MozReview-Commit-ID: 8ly3NZMbuQ8
2017-05-03 22:19:14 +02:00
Emilio Cobos Álvarez
23bce99ae1 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk

--HG--
extra : rebase_source : 2d01321f5ce0ec8c0e3f70984674f82678034b3c
2017-05-01 19:32:52 +02:00
Emilio Cobos Álvarez
e44543aad4 Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle

--HG--
extra : rebase_source : c2e9d4bfb9239f5e851d110cd7dff98c1e1a8d8b
2017-04-30 17:30:08 +02:00
Carsten "Tomcat" Book
e1e203f1f5 Merge mozilla-central to autoland 2017-04-27 16:36:41 +02:00
Masatoshi Kimura
a4c9e326d4 Bug 1358758 - Use CSSIntRect for nsIFrame::GetScreenRect. r=kats
MozReview-Commit-ID: KXPL1ERbFDa

--HG--
extra : rebase_source : 263b18d1736b09bb62d914f066481281966b288c
2017-04-25 07:33:13 +09:00
Emilio Cobos Álvarez
6fe2b3e89d 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

--HG--
extra : rebase_source : 785105b08d6bfa15ad257e61b769a263c6810ad0
2017-04-19 12:53:57 +02:00
Jonathan Kew
4d7b007f4f 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
15a9399d44 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
e0c482815a 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
93048fc66f 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

--HG--
extra : transplant_source : %C8%C0%CD%DC%12g%5B%8ER%3A%FF%A7a%F8%91%D4%2C%9BF%2B
2017-04-04 20:59:21 -07:00
L. David Baron
f56a065e7d 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

--HG--
extra : transplant_source : %D4%DF%04%91_q%E6%CF%B3N%82%2C%A5%CB0%3A%B6%810%ED
2017-04-04 20:59:21 -07:00
Eric Rahm
89708e6a2a 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
358125cbde Backed out changeset a86c4218ca5f (bug 1353187) 2017-04-04 09:54:51 +02:00
L. David Baron
c2af2e1613 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

--HG--
extra : transplant_source : %91%D6%C7%01hC%B3z%90%B6%93%93qcAK%CB%09%D6z
2017-04-03 20:43:30 -07:00
Timothy Nikkel
b211ea35d7 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
14dccbfd0b Bug 1352056 - Call nsIFrame::StyleDisplay less from nsFrame::FinishAndStoreOverflow. r=dholbert
MozReview-Commit-ID: 5zuNLfyPv8o

--HG--
extra : transplant_source : %17%5Bm6%BE%DF%D0%12%19%8BZ%FE%E4%EE%E2%7F%9FR%DF%BA
2017-03-30 22:56:14 -04:00
Thinker K.F. Li
53cb8600b7 Bug 1343057 - Part 2: Disable AA for layers with animation in effect. r=mattwoodrow
--HG--
extra : rebase_source : 1de5a9f4a4e18ba8624433a43a22b8ac47a9cc91
2017-03-29 09:38:00 -04:00
Boris Zbarsky
06a153ffc1 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

--HG--
extra : rebase_source : d7a8697a89391eb6a80683dcbe8e3fa6f76c6a41
2017-03-28 21:26:31 -04:00
Mantaroh Yoshinaga
6267f121cc 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

--HG--
extra : rebase_source : 98492cf0c146b07083112ef7af99569e85dd7585
2017-03-28 01:50:12 +09:00
Emilio Cobos Álvarez
ca95409d9c Bug 1350401: Cleanup outline-painting-related logic. r=mats
MozReview-Commit-ID: ggDzDRrPIm

--HG--
extra : rebase_source : cf8a0e13778f7ce86a8c9fef447385cf32bb963e
2017-03-24 19:38:15 +01:00
Carsten "Tomcat" Book
7419b36815 merge mozilla-inbound to mozilla-central a=merge 2017-03-24 14:24:21 +01:00
L. David Baron
7e875bb62c 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

--HG--
extra : transplant_source : 15%21%86%3C%1B%5C%C5s%7C9%26%FEo%B5%20%F7%E6%E4x
2017-03-23 23:36:53 -07:00
Ting-Yu Lin
2e6fb1ff59 Bug 1322570 Part 9 - Print StyleContext parents in frame tree dump only if they're gecko rule nodes. r=bholley
MozReview-Commit-ID: 7BrvmTPJqhe

--HG--
extra : rebase_source : 386897e5d82543f94f5de3696c7d613a242a5f1d
2017-03-22 17:43:40 +08:00
Mats Palmgren
79cff05243 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
106889c6f6 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
a306ed59b0 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
a52259bf72 Bug 1349462 - Part 1. Rename IsSVGText as IsInSVGTextSubtree. r=heycam
MozReview-Commit-ID: LTo6c8tTtaf

--HG--
extra : rebase_source : bc6913c42cca141d7a3098fdd4dcc72fbf146b5a
2017-03-23 15:29:11 +08:00
Jonathan Watt
f9e4c98200 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
8de18141c7 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
22e2890de0 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
cf56de72b5 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
bf4cac95a4 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
b0adfe4733 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
4b52d84cfa 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
896c347cb8 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