Commit Graph

2623 Commits

Author SHA1 Message Date
Boris Zbarsky
54f6f32286 Bug 1343879. Be consistent about the parent style context the document-level anonymous content container should get: it should get no parent style context. r=bholley
MozReview-Commit-ID: 8cVsXhVWBgS
2017-03-08 03:14:10 -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
fda169de6c Bug 1343078 part 1. Give placeholders and first-letter continuations different kinds of anonymous boxes. r=dbaron
MozReview-Commit-ID: B5IHgVUo1Rp
2017-03-08 00:18:32 -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
Emilio Cobos Álvarez
19669e3337 Bug 1329877: Optimize AncestorFilter usage in lazy frame construction. r=bz
MozReview-Commit-ID: ErzurfQldHf
2017-02-27 23:35:06 +01:00
Boris Zbarsky
57c3f0661e Bug 1340277. Fix stylo to properly update styles on the anonymous scrolled-content frame inside a scrollframe. r=emilio
MozReview-Commit-ID: DE4C6pIp8SC
2017-03-03 16:16:11 -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
76369661b5 Bug 1337696. Fix change hint computation for table-outer frames to be more correct. r=emilio
MozReview-Commit-ID: LgRmTlWsM6o
2017-03-03 15:54:47 -05:00
Boris Zbarsky
194b86b428 Bug 1340723 part 3. Fix stylo to properly update styles on the anonymous blocks we create in a block-inside-inline situation when the style of the inline changes. r=emilio
MozReview-Commit-ID: JYz6g1ZJInT
2017-03-03 15:45:40 -05:00
Mats Palmgren
4eb0a34572 Bug 1339287 - Don't blockify 'display' in ApplyStyleFixups unless aFrame really is a flex/grid container frame, not just has display:flex/grid. r=dholbert 2017-02-20 17:43:08 +01:00
cam@mcc.id.au
0115c32212 Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time, and eliminate explicit style contexts in nsIAnonymousContentCreator::ContentInfo. r=bholley
MozReview-Commit-ID: LO0t92orjWZ
2017-01-13 03:21:11 +00:00
Bobby Holley
5c4aa7f577 Bug 1331322 - Add a flag to indicate that a node is native anonymous content. r=bholley 2017-01-20 18:28:46 -08:00
Phil Ringnalda
a6b8226a11 Backed out 4 changesets (bug 1331322) for Android reftest failures in 1169331-1.html and forced-bg-color-outside-visible-region.html
Backed out changeset 96c6b5a11284 (bug 1331322)
Backed out changeset 15877d32de7d (bug 1331322)
Backed out changeset 841d608704d7 (bug 1331322)
Backed out changeset 02096c5eb029 (bug 1331322)
2017-02-15 21:24:00 -08:00
cam@mcc.id.au
c0b99199c1 Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time, and eliminate explicit style contexts in nsIAnonymousContentCreator::ContentInfo. r=bholley
MozReview-Commit-ID: LO0t92orjWZ
2017-01-13 03:21:11 +00:00
Bobby Holley
268e4dc2bb Bug 1331322 - Add a flag to indicate that a node is native anonymous content. r=bholley 2017-01-20 18:28:46 -08:00
Wes Kocher
b91739bde1 Merge inbound to m-c a=merge
MozReview-Commit-ID: IKI0zVtF1n9
2017-02-15 16:18:13 -08:00
Emilio Cobos Álvarez
8244385557 Bug 1338678: Only disallow lazy frame construction for direct children of display: contents elements. r=mats,bz
MozReview-Commit-ID: 3lQ3LIVMZgt
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-02-15 11:53:25 +01:00
Cameron McCormack
87f3ad6dfb Bug 1297899 - Part 6: Move RestyleManagerHandle functionality into RestyleManager. r=bholley
MozReview-Commit-ID: 7lsti0bGzNr
2017-02-13 11:21:33 +08:00
Cameron McCormack
34c943ee6e Bug 1297899 - Part 3: Rename RestyleManager to GeckoRestyleManager and RestyleManagerBase to RestyleManager. r=bholley
MozReview-Commit-ID: fFTZKwmGJm
2017-02-13 11:21:32 +08:00
Cameron McCormack
8e21d528cb Bug 1331294 - Part 6: Remove RestyleManager::HasPendingRestyles and Servo_Element_ShouldTraverse. r=bholley
MozReview-Commit-ID: 2ST5i7M4QZ4
2017-02-10 10:42:30 +08:00
Cameron McCormack
334e0fe231 Bug 1334735 - Part 1: Move need style/flush flags from document to pres shell. r=bz
MozReview-Commit-ID: 2Amf9yGRiJA
2017-02-10 10:42:27 +08:00
L. David Baron
3b24b07af1 Bug 605985 part 2 - Make -moz-appearance:none on radio and checkbox inputs make them non-replaced elements. r=dholbert 2017-02-09 21:22:40 +01:00
Boris Zbarsky
f9cb78afdc Bug 835981 part 5. Change nsIDOMXULElement::GetBoxObject consumers to nsXULElement. r=peterv 2017-02-02 10:32:58 -05:00
Bobby Holley
c7555e68ae Bug 1334358 - Stop using CreateAnonymousFrames for scroll frame construction and remove the now-unused helper. r=bz 2017-01-27 16:13:35 -08:00
Bobby Holley
0d2b0c902d Bug 1334358 - Stop using CreateAnonymousFrames for combo box creation. r=bz 2017-01-27 16:13:33 -08:00
Bobby Holley
a4027a5272 Bug 1334247 - Add an explicit hook for the nsComboboxControlFrame case, and eliminate nsIAnonymousContentCreator::CreateFrameFor. r=bz 2017-01-26 15:33:06 -08:00
Bobby Holley
d2055d779a Bug 1329854 - Check IsInStyleRefresh for all the servo-related handling in nsCSSFrameConstructor::Content{Appended,RangeInserted}. r=heycam 2017-01-12 17:33:07 -08:00
Bobby Holley
2332d28cf1 Bug 1329854 - Call NoteDirtyDescendants when frame construction bails out due to lack of a container frame. r=heycam 2017-01-12 17:33:01 -08:00
Bobby Holley
c4cdd04938 Bug 1330401 - Don't render explicit children of bound elements with no insertion points. r=bz 2017-01-11 21:08:03 -08:00
Bobby Holley
0aaca3b258 Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio 2017-01-09 11:50:16 -08:00
Ryan VanderMeulen
127c9e5534 Merge inbound to m-c. a=merge 2017-01-07 11:22:47 -05:00
Emilio Cobos Álvarez
32ce34eedd Bug 1329200: Remove unused FrameManager global generation counter. r=xidorn
MozReview-Commit-ID: AXkaZYxpK2y
2017-01-06 16:03:41 +01:00
Daniel Holbert
dd110e1ec9 Bug 1320484 part 2: Wrap abspos placeholders in anonymous flex items, in flex containers that are really emulating legacy -webkit-box containers. r=mats
This changeset is intended to revert the logic from "Bug 1269045 part 3" [1],
*specifically* for legacy "-webkit-box"/"-webkit-inline-box" flex containers.

[1]  https://hg.mozilla.org/mozilla-central/rev/707b2ab5879d

MozReview-Commit-ID: vc4TuAoLai
2017-01-04 20:31:17 -08:00
Daniel Holbert
5396957c84 Bug 1320484 part 1: Improve documentation for debug-only function FrameWantsToBeInAnonymousItem(), & change its arg from nsIAtom* to nsIFrame*. r=mats
This patch doesn't affect behavior at all -- it just refactors the
sanity-checking function "FrameWantsToBeInAnonymousItem()", so that the next
patch in this series can give it a new special case that checks a state bit on
the container frame.

This patch renames "parent" to "container" in this function's variable-names,
for clarity, because when this function returns true, the flex/grid container
is actually NOT expected to be the parent of aFrame.  Rather, it's expected to
be the grandparent, and the anonymous flex/grid item would be the parent.  So,
"aContainerFrame"/"containerType" is a bit more accurate (representing the
flex/grid container for aFrame).

Also worth mentioning: this patch makes FrameWantsToBeInAnonymousItem() perform
its own local GetType() call, instead of accepting an already-queried GetType()
result from the caller (as it previously did).  Technically this could cause a
slight perf hit, but it doesn't really matter since this is in "#ifdef DEBUG"
sanity-checking code anyway.  We could keep the nsIAtom* as an additional arg
to avoid this new call, but it seems better to fall on the side of simplicity &
just look up GetType() independently, rather than complicating the function
signature with an extra arg.

MozReview-Commit-ID: 4oJFkQMuH9c
2017-01-04 20:29:19 -08:00
Timothy Nikkel
97b9636d25 Bug 1328202. Remove unused variable mGfxScrollFrame in nsCSSFrameConstructor. r=mats 2017-01-02 22:07:51 -06:00
Cameron McCormack
b0bc3dd2b1 Bug 1315155 - Part 1: Encapsulate nsStyleContentData. r=xidorn
MozReview-Commit-ID: LfEMxyM5meF
2016-10-20 10:22:46 +08:00
Mats Palmgren
0f2892ddf6 Bug 1322191 part 2b - Replace "NS_BLOCK_FLOAT_MGR | NS_BLOCK_MARGIN_ROOT" with NS_BLOCK_FORMATTING_CONTEXT_STATE_BITS. r=dholbert 2016-12-23 19:11:04 +01:00
Mats Palmgren
f7776ed5ec Bug 1322191 part 2 - [css-display] Implement layout for display:flow-root. r=dholbert 2016-12-23 19:11:03 +01:00
Boris Zbarsky
ac9fef49e8 Bug 1321803 part 3. Don't claim that we forced a non-scrollable block for <body> elements in a print presentation that would have propagated their scrollbars to the viewport. We do still want to create a non-scrollable block for them, though. r=dbaron 2016-12-22 17:42:22 -08:00
Jessica Jong
98eb9e529a Bug 1286182 - Implement the layout for <input type=date>. r=mconley,smaug 2016-12-19 00:50:00 +08:00
Robert Longson
29661e49d9 Bug 1239100 - Implement SVGGeometryElement interface. r=cam r=peterv 2016-12-18 11:11:47 +00:00
Sebastian Hengst
35ac5ad5d2 Backed out changeset 0b44e8715bf5 (bug 1239100) for build bustage (SVGGeometryElement.webidl missing). r=backout 2016-12-18 11:42:51 +01:00
Robert Longson
7691b0761b Bug 1239100 - Implement SVGGeometryElement interface. r=cam r=peterv 2016-12-18 09:54:02 +00:00
Bobby Holley
2a011cd176 Bug 1322945 - Change skip_root to unstyled_children_only and use StyleNewChildren in more places. r=heycam
I noticed that our current behavior in ContentRangeInserted is incorrect. Unlike
ContentInserted (where this code lived originally), ContentRangeInserted takes a
start and end element. I'm not sure if we ever take that path for new content that
needs style, but it seemed sketchy. And generally, it seems nice to just always
style new content the same way (though we still need to style NAC by the subtree
root, since it hasn't been attached to the parent yet).

For situations where there is indeed only one unstyled child, the traversal
overhead should be neglible, since we special-case the single-element in
parallel.rs to avoid calling into rayon.

Being more explicit about what we want here also makes us more robust against
the other handful of callpaths that can take us into
nsCSSFrameConstructor::{ContentRangeInserted,ContentAppended}. Currently we
can call StyleNewSubtree on an already-styled element via RecreateFramesForContent,
which triggers an assertion in the servo traversal.

MozReview-Commit-ID: DqCGh90deHH
2016-12-12 18:39:33 -08:00
Cameron McCormack
da21cae689 Bug 1322185 - Rename some StyleDisplay enum values for consistency. r=xidorn
MozReview-Commit-ID: K27LmXKWNdk
2016-12-05 21:36:28 -10:00
Phil Ringnalda
99bbf05576 Merge m-i to m-c, a=merge
MozReview-Commit-ID: ByPMe4s1FrG
2016-12-02 22:17:31 -08:00
Tomislav Jurin
9ff3007b90 Bug 1296189 - Replace NS_RUNTIMEABORT("some string literal message") with MOZ_CRASH(). r=froydnj 2016-12-02 13:46:53 -08:00
Daniel Holbert
722ae072a3 Bug 1321698 part 2: Use the new frame state bit to check for -webkit-box containers. r=mats
Note that at the callsites in nsCSSFrameConstructor.cpp, we have to also check
the frame type (since the frame state bit is in a range of bits whose meaning
differs depending on frame type).  The first change in this patch is the
addition of a convenience fucntion that checks both the frame type as well as
the frame state bit.

MozReview-Commit-ID: DEOThTX5NAO
2016-12-02 10:32:31 -08:00
Ting-Yu Lin
f3ed4deadf Bug 1304598 Part 3 - Rename nsPresShell.h/cpp to PresShell.h/cpp, and move exported header to mozilla/ subdir. r=dholbert
The class PresShell doesn't have ns-prefix, so it's better to drop ns-prefix
in the file names to avoid confusion.

MozReview-Commit-ID: IljxsF5CVjh
2016-11-30 11:14:28 +08:00