Commit Graph

2713 Commits

Author SHA1 Message Date
Ting-Yu Lin
bc3d15a323 Bug 1381017 - Set NODE_DESCENDANTS_NEED_FRAMES from flatten tree parent. r=emilio,tnikkel
MozReview-Commit-ID: 3CBP8vc6OxB
2017-07-17 11:31:31 +08:00
Emilio Cobos Álvarez
0f56a3a5f4 Bug 1379505: Less fishyness when resolving the style of the document element. r=heycam
Previous to these patches, the style resolution happening on [1] made the style
data stick on the element, so we'd never think it was the initial style, even if
it was.

This was wallpapering the fact that, if that was the initial style, we'd never
have another chance of traversing the document when [2] kicked in.

This somehow just happened to work, but is a very fishy way to get it to work.
Instead, call StyleDocument() properly _before_, and rely on the fact that it
will stop when it has a non-null binding, and only if it fails explicitly style
the children.

This fixes the few XBL test-cases with this patch series that exercise
-moz-bindings on the root element without the root being styled, and makes the
-moz-binding code more consistent in both places of the frame constructor.

[1]: http://searchfox.org/mozilla-central/rev/5dadcbe55b4ddd1e448c06c77390ff6483aa009b/layout/base/nsCSSFrameConstructor.cpp#2526
[2]: 3330653dc8/components/style/traversal.rs (L439)

MozReview-Commit-ID: HbjsD6nYsvX
2017-07-10 14:32:39 +02:00
Emilio Cobos Álvarez
68b703b35f Bug 1377902: Trivially cleanup a bit of the FC code. r=mats
MozReview-Commit-ID: HJKVk7lWp4p
2017-07-05 16:30:24 +02:00
Carsten "Tomcat" Book
27ca4a0973 Backed out changeset 9b2f0f827468 (bug 1377902) for bustage 2017-07-05 16:56:22 +02:00
Emilio Cobos Álvarez
95a7e0dfd1 Bug 1377902: Trivially cleanup a bit of the FC code. r=mats
MozReview-Commit-ID: HJKVk7lWp4p
2017-07-05 16:30:24 +02:00
Hiroyuki Ikezoe
ec24d5e55b Bug 1377648 - Check summary frame instead of summary element on removing the summary. r=heycam
In case of removing summary element, we need to check details *frame* children
instead of details *element* children since the summary element has been
already removed from details element children list.

MozReview-Commit-ID: GEzDId9CYf9
2017-07-05 15:52:37 +09:00
Hiroyuki Ikezoe
ffa2a1877e Bug 1377648 - Use inFlowFrame to check the target frame is summary and its parent is details. r=heycam
Considering the case where the summary element has position:absolute, we need
to use inFlowFrame and its parent instead of aFrame itself.

MozReview-Commit-ID: Ds8xxyBuyO5
2017-07-05 12:39:32 +09:00
Boris Zbarsky
6cfed605fc Bug 1376640. Fix dynamic updates when an inline that sits between a first-letter and its block changes style. r=heycam
MozReview-Commit-ID: 8osMUpYVRvR
2017-06-28 22:19:35 -07:00
Carsten "Tomcat" Book
1370c74581 Backed out changeset 2992d5af6251 (bug 1376640) for assertion failures like Assertion failure: mOwner == ExpectedOwnerForChild(aFrame) (Missed some frame in the hierarchy?) 2017-06-29 08:22:08 +02:00
Boris Zbarsky
2bc0e8180b Bug 1376640. Fix dynamic updates when an inline that sits between a first-letter and its block changes style. r=heycam
MozReview-Commit-ID: 8osMUpYVRvR
2017-06-28 22:19:35 -07:00
Bobby Holley
5affdda532 Bug 1376245 - Hand the already-resolved style directly to servo when creating generated content. r=emilio,r=birtles
This avoids a lot of expensive machinery when we've already computed the style.
2017-06-27 11:39:53 -07:00
Boris Zbarsky
2474e7a108 Bug 1324618 part 8. Implement restyling for first-letter frames. r=emilio
MozReview-Commit-ID: IPUDD1Q6AFq
2017-06-26 23:35:08 -07:00
Boris Zbarsky
9865161718 Bug 1324618 part 4. Implement a way to get the first-letter frame, if any, for a block. r=heycam
MozReview-Commit-ID: 1o0d5ugJ1hj
2017-06-26 23:35:07 -07:00
Carsten "Tomcat" Book
262f4a9ad8 Backed out changeset 049b20a12429 (bug 1324618) for bustage 2017-06-27 10:39:58 +02:00
Carsten "Tomcat" Book
0509f7a5a3 Backed out changeset 169cafc2d5f9 (bug 1324618) 2017-06-27 10:39:39 +02:00
Boris Zbarsky
ba777885f3 Bug 1324618 part 8. Implement restyling for first-letter frames. r=emilio
MozReview-Commit-ID: IPUDD1Q6AFq
2017-06-26 23:35:08 -07:00
Boris Zbarsky
db6e83cd61 Bug 1324618 part 4. Implement a way to get the first-letter frame, if any, for a block. r=heycam
MozReview-Commit-ID: 1o0d5ugJ1hj
2017-06-26 23:35:07 -07:00
Boris Zbarsky
13bbef5402 Bug 1374761 part 2. Properly restyle the various paginated-presentation anonymous boxes. r=heycam
MozReview-Commit-ID: LJqWbyRKp3b
2017-06-21 11:45:14 -04:00
Boris Zbarsky
b5761d0213 Bug 1374761 part 1. Properly restyle the viewport and its child anonymous box when we do a restyle. r=heycam
The child anon box may be an nsHTMLScrollFrame, a nsRootBoxFrame, or a
nsSimplePageSequenceFrame.   nsHTMLScrollFrame already knows how to deal with
its anonymous box kids, nsRootBoxFrame doesn't have any, and the next changeset
will deal with anon box kids of nsSimplePageSequenceFrame.

MozReview-Commit-ID: 2ZV061EhRmc
2017-06-21 11:45:12 -04:00
cku
5384d74c65 Bug 265894 - Part 6. Create symbol frame in nsCSSFrameConstructor. r=heycam
MozReview-Commit-ID: LgO1WKo46Pu
2017-06-14 21:53:34 +08:00
Manish Goregaokar
e8a3c268a8 Bug 1373018 - Part 8: stylo: Move nsStyleContext::SetStyle to GeckoStyleContext; r=bholley
MozReview-Commit-ID: ycXu95whnG
2017-06-10 22:27:45 -07:00
Ting-Yu Lin
d5c5fac26b Bug 1290276 Part 7 - Restyle element and its descendant after loading XBL bindings. r=heycam
MozReview-Commit-ID: 1WiioW3xxMX
2017-06-05 14:21:32 +08:00
Ting-Yu Lin
6599358fae Bug 1290276 Part 3 - Move nsStyleSet's call to SetBindingManager to PresShell::Init(). r=heycam
Delete the NS_WARNING because it's not needed once this bug is fixed.

MozReview-Commit-ID: Ht3ayjSvYW8
2017-06-05 14:33:30 +08:00
L. David Baron
03d37750a7 Bug 1369260 - Remove use of MOZ_ASSERT_IF in layout. r=heycam
As I've said before, as module owner I prefer that MOZ_ASSERT_IF not be
used in the module because I consider it to be unreadable.  However, a
few uses have crept in, and this patch removes them.

I consider it to be unreadable because the name looks like a name that
uses smalltalk-ish naming conventions, i.e., with a part of the name
corresponding to each parameter, in order.  However, the parameters are
in the order opposite the name.

This was written primarily with the vim commands:
:%s/MOZ_ASSERT_IF(\([^,]*\),/MOZ_ASSERT(!\1 ||/
:wn
followed by manual cleanup for indentation and removal of !!.

MozReview-Commit-ID: G6rLbOn7k8d
2017-06-06 22:27:17 -07:00
Mats Palmgren
3009528973 Bug 1367209 part 3 - Add a generic frame state bit, NS_FRAME_HAS_CSS_COUNTERS, to indicate that a frame maybe has some counter styles and thus be known by nsCounterManager. r=jfkthame
If a frame doesn't have that bit then skip mCounterManager.DestroyNodesFor()
when the frame is destroyed because it's definitely not known by
the CounterManager.

MozReview-Commit-ID: Ky3575QvZME
2017-06-04 16:45:15 +02:00
John Schoenick
56fdf7a699 Bug 558184 - Part 4.3 - Load fake plugin handlers as eType_FakePlugin in nsObjectLoadingContent. r=peterv. 2015-05-20 15:30:05 +02:00
Mats Palmgren
49057b2c0a Bug 1369037 - Make the assertions about NS_FRAME_PART_OF_IBSPLIT stricter and update the associated frame properties in nsContainerFrame::DestroyFrom instead of nsFrame::DestroyFrom. r=jfkthame
MozReview-Commit-ID: G8NQ70xzkQU
2017-05-31 21:29:49 +02:00
Mats Palmgren
f53a6843c6 bug 1368547 part 2 - Remove nsFrameManager/PresShell methods dealing with placeholders and introduce a nsIFrame::GetPlaceholderFrame() convenience method. r=jfkthame
MozReview-Commit-ID: GBUiUBqJxhQ
2017-05-31 21:29:49 +02:00
Jonathan Kew
7b40682ff5 Bug 1368249 - Create nsIFrame::AddProperty API for use when the property is known to not already exist, and use to optimize some call sites. r=mats 2017-05-28 13:16:55 +01:00
Sebastian Hengst
99cc01f206 Backed out changeset 59c0589220ec (bug 1368249) unused function GetNormalPosition at nsIFrame.h:1073. r=backout 2017-05-28 15:38:15 +02:00
Jonathan Kew
3a49043e3f Bug 1368249 - Create nsIFrame::AddProperty API for use when the property is known to not already exist, and use to optimize some call sites. r=mats 2017-05-28 13:16:55 +01:00
Jonathan Kew
4dcf0fe444 Bug 1365982 - Attach frame properties to each frame instead of looking them up in a hashtable on the prescontext. r=mats 2017-05-27 12:36:00 +01:00
Xidorn Quan
9c6c25ce2c Bug 1366735 part 3 - Remove SetCounterStyleDirty. r=heycam
When the counter style in the style struct changes, CalcDifference
would return ReconstructFrame, which should cause corresponding use
node to be reconstructed. That means a use node with retired counter
style should always be destroyed in the next flush, so it makes no
sense to reset them anymore.

However, we would still need to mark counter lists dirty because
otherwise their content may not get update when there are changes to
counter styles which are still valid.

MozReview-Commit-ID: FnBPx81StzG
2017-05-23 10:08:50 +10:00
Xidorn Quan
b47214dcef Bug 1366735 part 1 - Change counter functions to use struct rather than nsCSSValue::Array. r=heycam
MozReview-Commit-ID: 4FiOxCOsjtD
2017-05-22 22:51:20 +10:00
Mats Palmgren
bd90393cc1 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz
MozReview-Commit-ID: IbwWM0FL6HF
2017-05-21 17:15:00 +08:00
Carsten "Tomcat" Book
1aa86b3e0e Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
Iris Hsiao
559b666872 Merge mozilla-central to mozilla-inbound 2017-05-22 11:53:00 +08:00
Mats Palmgren
473a358067 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
Hiroyuki Ikezoe
f68519c81c Bug 1364799 - Add a new TraversalRestyleBehavior that represents the traversal is triggered by CSS rule changes. r=birtles
And propagate the new flag to servo if mRestyleForCSSRuleChanges is set.

MozReview-Commit-ID: HRZ5duYgciF
2017-05-21 08:16:26 +09:00
Bobby Holley
cd110a0991 Bug 1329876 - Don't maintain a TreeMatchContext for Servo. r=bz 2017-05-20 22:00:01 +02:00
Xidorn Quan
9c43c2ec09 Bug 1365602 - Put script blocker to nsCSSFrameConstructor::RecalcQuotesAndCounters for avoiding triggering event from nsQuoteList::RecalcAll. r=bz
MozReview-Commit-ID: JW0vjT0C5iU
2017-05-18 11:25:48 +10:00
Daniel Holbert
5066835c91 Bug 1344398 part 2: React to some CSS 'overflow' changes on body/html by simply calling UpdateViewportScrollbarStylesOverride() instead of reframing. r=bz,tnikkel
MozReview-Commit-ID: Lpr9aNv9hAB
2017-05-10 13:53:27 -07:00
Daniel Holbert
55508e8222 Bug 1344398 part 1: Move presContext variable a little earlier in a nsCSSFrameConstructor method. r=tnikkel
Also, assert that this presContext is non-null (which we already implicitly
assume, when we dereference it without null-checking it).

MozReview-Commit-ID: IIYUqGQTOnb
2017-05-10 13:53:25 -07:00
Wes Kocher
1be726284d Backed out 3 changesets (bug 1344398) for assertion failures at Element.cpp a=backout
Backed out changeset d0e5a5ba01b5 (bug 1344398)
Backed out changeset d70f9de401d1 (bug 1344398)
Backed out changeset 647d0bb3714d (bug 1344398)

MozReview-Commit-ID: DTVWf28NcNb
2017-05-10 17:43:50 -07:00
Daniel Holbert
4fdbcddca9 Bug 1344398 part 2: React to some CSS 'overflow' changes on body/html by simply calling UpdateViewportScrollbarStylesOverride() instead of reframing. r=bz,tnikkel
MozReview-Commit-ID: Lpr9aNv9hAB
2017-05-10 13:53:27 -07:00
Daniel Holbert
99e0a8111c Bug 1344398 part 1: Move presContext variable a little earlier in a nsCSSFrameConstructor method. r=tnikkel
Also, assert that this presContext is non-null (which we already implicitly
assume, when we dereference it without null-checking it).

MozReview-Commit-ID: IIYUqGQTOnb
2017-05-10 13:53:25 -07:00
Emilio Cobos Álvarez
643f3f8618 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk
2017-05-01 19:32:52 +02:00
Emilio Cobos Álvarez
3731858edf Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle
2017-04-30 17:30:08 +02:00
Emilio Cobos Álvarez
e611edcc48 Bug 1360157: Assert that a display: contents child always has a parent. r=mats
MozReview-Commit-ID: Cyif2yCFu5
2017-04-27 12:36:07 +02: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