Commit Graph

2554 Commits

Author SHA1 Message Date
Ting-Yu Lin
ad501083aa Bug 1304441 Part 1 - Remove unneeded check when constructing frame for summary. r=bz
SummaryFrame had been removed in bug 1258657, so now HTMLSummaryElement
is always rendered as an ordinary inline or block frame. Therefore, the
check in FindHTMLData is not needed anymore.

MozReview-Commit-ID: Ikxla6QoNLT
2016-10-05 14:43:31 +08:00
Bobby Holley
ace7380088 Bug 1304913 - Have Servo manage node data directly without FFI calls. r=Manishearth
MozReview-Commit-ID: H8f8VP18TbM
2016-09-23 15:58:48 -07:00
Ting-Yu Lin
639050e114 Bug 1301630 - Remove nsBlockFrame::SetFlags(). r=bz
Per bug 1299753 comment 20, SetFlags() is designed for flag propagation
to continuations during block reflow. To avoid misuse, I expand
SetFlags() directly in the only reasonable caller nsBlackFrame::Init(),
and replace other usages by AddStateBits().

MozReview-Commit-ID: GsbE2Z0Rps1
2016-09-09 15:26:57 +08:00
Manish Goregaokar
49b3b83008 Bug 1300337 - Replace None_ variants from nsStyleConsts.h with None; r=heycam,TYLin
MozReview-Commit-ID: CxHzbEzjLxT
2016-09-04 00:16:58 +05:30
Ting-Yu Lin
55e91b28f4 Bug 1299753 Part 3 - Reuse ConstructScrollableBlock to build scrollable DetailsFrame. r=bz
MozReview-Commit-ID: 1yAhuKqurHf
2016-09-08 15:38:06 +08:00
Ting-Yu Lin
b5787cd1d4 Bug 1299753 Part 2 - Create block formatting context for DetailsFrame if needed. r=bz
nsCSSFrameConstructor::ConstructNonScrollableBlock() has logic to
determine whether to create a block formatting context for a block
frame. I refactor the function to make it reusable by
nsCSSFrameConstructor::ConstructDetailsFrame().

Also, make NS_NewBlockFrame() accept two arguments as other frame
factory functions so that it could be pointed by BlockFrameCreationFunc.
NS_NewBlockFormattingContext is changed accordingly.

The construction for a scrollable DetailsFrame will be further revised
in Part 3.

MozReview-Commit-ID: 8TwG9YMyGva
2016-09-07 14:45:42 +08:00
Ting-Yu Lin
24b8e088b4 Bug 1299753 Part 1 - Use NS_NewBlockFormattingContext() in ConstructFieldSetFrame(). r=bz
MozReview-Commit-ID: E6lvCRIDROY
2016-09-05 15:36:53 +08:00
Andi-Bogdan Postelnicu
20db2a7951 Bug 1300518 - removed nullcheck for parentFrame in nsCSSFrameConstructor::IsValidSibling. r=xidorn
MozReview-Commit-ID: DVydlxB65wM
2016-09-05 18:16:21 +03:00
Cameron McCormack
1432f1a16b Bug 1297963 - Part 3: Use OMT-safe function for -moz-binding comparisons in CalcDifference. r=emilio
MozReview-Commit-ID: 6n7j2DrAVFv
2016-09-03 00:22:48 +10:00
Emilio Cobos Álvarez
2efcfaad38 Bug 1299066: Make NS_STYLE_DISPLAY_* an enum class. Prefer indexing instead of linear search in the frame constructor r=heycam,bz
The main renaming was generated with the following python script:

```

import sys
import re

CAMEL_CASE_REGEX = re.compile(r"(^|_|-)([A-Z])([A-Z]+)")
DISPLAY_REGEX = re.compile(r"\bNS_STYLE_DISPLAY_([^M][A-Z_]+)\b")

def to_camel_case(ident):
  return re.sub(CAMEL_CASE_REGEX,
                lambda m: m.group(2) + m.group(3).lower(), ident)

def constant_to_enum(constant):
  return "StyleDisplay::" + to_camel_case(constant) + ("_" if constant == "NONE" else "")

def process_line(line):
  return re.sub(DISPLAY_REGEX,
                lambda m: constant_to_enum(m.group(1)), line)

lines = []
with open(sys.argv[1], "r") as f:
  for line in f:
    lines.append(process_line(line))

with open(sys.argv[1], "w") as f:
  for line in lines:
    f.write(line)
```

And the following shell commands:

```
find . -name '*.cpp' -exec python display.py {} \;
find . -name '*.h' -exec python display.py {} \;
```

MozReview-Commit-ID: 91xYCbLC2Vf
2016-09-01 20:41:17 -07:00
Ryan VanderMeulen
baab66fb35 Backed out 5 changesets (bug 1298768, bug 1297963) for causing widespread mochitest-bc failures.
Backed out changeset dedd56fa5c54 (bug 1297963)
Backed out changeset bc1ac59cfe8f (bug 1297963)
Backed out changeset a2e337d5aa02 (bug 1297963)
Backed out changeset e73da71408a3 (bug 1297963)
Backed out changeset 56f8bca8f8e8 (bug 1298768)

CLOSED TREE
2016-09-01 08:05:43 -04:00
Cameron McCormack
6245348615 Bug 1297963 - Part 3: Use OMT-safe function for -moz-binding comparisons in CalcDifference. r=emilio
MozReview-Commit-ID: 2PkR5tUMMy0
2016-08-29 18:17:26 +08:00
Bobby Holley
b39340a6c0 Bug 1292662 - Add an API for the Servo style system to traverse anonymous children. r=heycam 2016-08-25 21:36:43 -07:00
Bobby Holley
fb49955c2b Bug 1292279 - Clear up the semantics of our Servo traversal APIs. r=heycam 2016-08-25 21:34:31 -07:00
Boris Zbarsky
68d5ab8bbb Bug 1297835. Don't suppress the scroll bits of a non-open <details> that has the appropriate overflow styles. r=TYLin 2016-08-25 14:35:33 -04:00
Jinank Jain
b875b54a4e Bug 712936 - Convert users of PR_STATIC_ASSERT to C++11 static_assert(). r=Ms2ger 2016-08-23 11:24:54 -04:00
Xidorn Quan
6161a647ce Bug 1291707 part 4 - Not recalc quotes and counters in EndUpdate. r=bz
It will be called in the next flush, so no need to do it eagerly.

MozReview-Commit-ID: 1B8pzn0dqBO
2016-08-23 10:31:26 +10:00
Mats Palmgren
3c120c27f6 Bug 1288946 - Propagate the mParentFrame from the nested GetInsertionPrevSibling call -- it may be a continuation. r=heycam 2016-08-18 18:21:26 +02:00
Jessica Jong
e854e57b5b Bug 1278738 - Add 'week' to the list of valid types attributes for <input>. r=smaug 2016-08-15 23:15:00 -04:00
L. David Baron
ad0f663d00 Bug 1294918 - Use helper method nsIFrame::IsFixedPosContainingBlock. r=dholbert
MozReview-Commit-ID: 5fdGqLSOjvs
2016-08-12 18:39:45 -07:00
L. David Baron
287271d650 Bug 1294918 - Fix spelling of method name nsIFrame::IsAbsPosContainingBlock. r=dholbert
This misspelling was introduced in bug 1125767, changeset b9951cca6d1f.

MozReview-Commit-ID: KQNlLelY2Kn
2016-08-12 18:39:45 -07:00
Emilio Cobos Álvarez
d529d90d3b Bug 1290335: Reuse the OverflowChangedTracker between both restyle managers. r=heycam
MozReview-Commit-ID: objnqfecZD
2016-08-03 15:11:15 -07:00
Bobby Holley
e2c6052b1b Bug 1290214 - Remove NS_ERROR for XBL stylesheet management. r=emilio 2016-07-28 17:25:49 -07:00
Bobby Holley
b360d83801 Bug 1289624 - Switch to UniquePtr for managing ServoNodeData. r=heycam 2016-07-27 13:34:55 -07:00
Bobby Holley
1c9c1d221f Bug 1289620 - Hook up initial styling. r=heycam
Aside from the parser-side hacks, this should subsume all the current scattered
logic in the stylo tree to handle initial styling.
2016-07-27 09:44:25 -07:00
Emilio Cobos Álvarez
95dc632f01 Bug 1286445: stylo: Support restyles of non-pseudo content on state change. r=heycam
This includes, for example :hover.

Also removes the call to IsStyledByServo() in the document constructor, it's not
only unnecessary, but also we call UpdateStyleBackendType() too early.

MozReview-Commit-ID: 4YfCdmLoSxu
2016-07-16 16:22:12 -07:00
Emilio Cobos Álvarez
948a479bad Bug 1285474: stylo: Add dirtiness-tracking hooks for Servo and convenient methods. r=bholley
Also, guard with asserts the access to the new shared flags.

MozReview-Commit-ID: H9UFFHRPmiu
2016-07-12 00:33:57 -07:00
Jessica Jong
1a6a96c66a Bug 1278737 - Add 'month' to the list of valid types attributes for <input>. r=smaug 2016-07-03 23:19:00 +02:00
Sebastian Hengst
b74bde4463 Backed out changeset 444a4a7233f7 (bug 1278737) for frequent web platform test 2 failure on OSX in form-validation-reportValidity.html. r=backout 2016-07-01 20:04:58 +02:00
Jessica Jong
88770ff520 Bug 1278737 - Add 'month' to the list of valid types attributes for <input>. r=smaug 2016-06-29 23:16:00 +02:00
Timothy Nikkel
f3bb7137e4 Bug 1278455. If the root element is grid or flex, allow it to be an absolute containing block. r=dholbert
If the root element is block or table then the PushAbsoluteContainingBlock call happens in ConstructBlock and ConstructTable respectively.
2016-06-26 12:25:11 -05:00
Astley Chen
f691419a15 Bug 1277131 : Part 3 - rename nsGkAtoms::tableOuterFrame and nsCSSAnonBoxes::tableOuter. r=heycam
MozReview-Commit-ID: 7GIjtUH9hdZ
2016-06-16 13:35:43 +01:00
Astley Chen
ca13d10ee9 Bug 1277131 : Part 1 - rename nsTableOuterFrame to nsTableWrapperFrame. r=heycam
MozReview-Commit-ID: KrSHLbmovTM
2016-06-16 13:14:08 +01:00
Cameron McCormack
7a7f05642d Bug 1275452 - Part 2: Eagerly restyle native anonymous content in stylo. r=bholley 2016-05-25 16:55:49 +10:00
Robert Longson
dfd2532112 Bug 1260032 - drop support for altGlyph as a tspan. r=cam r=peterv (DOM Peer) 2016-05-10 10:02:20 +01:00
Cameron McCormack
da49d92837 Bug 1268404 - Part 1: Split out ResolveStyleForText from ResolveStyleForNonElement and pass in the text node. r=bholley 2016-04-29 14:01:44 +10:00
Xidorn Quan
15df861e15 Bug 1097499 part 3 - Add a separate anonbox for text nodes. r=heycam
MozReview-Commit-ID: 1GfoFEGhyka
2016-04-22 09:18:41 +10:00
L. David Baron
7511e4ea42 Bug 1053986 - Rename nsIFrame::IsBoxFrame to IsXULBoxFrame. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

But with additional manual changes in accessible/.

MozReview-Commit-ID: W0wUPoQsVH
2016-04-20 21:28:30 -07:00
Ting-Yu Lin
c1ae09c878 Bug 1258657 Part 2 - Remove SummaryFrame. r=bz
We can use nsBlockFrame to render summary elements.

This change undoes "Bug 591737 - Add SummaryFrame" and remove
summaryFrame usage in DetailsFrame and nsCSSFrameConstructor.

MozReview-Commit-ID: 4aJvHVPfsBb
2016-04-13 13:34:14 +08:00
Jonathan Watt
570328a826 Bug 1263787 - Kill off the deprecated nsINode::GetCrossShadowCurrentDoc. r=baku 2016-03-31 13:20:14 +01:00
Jonathan Watt
947f9705a7 Bug 1263785 - Kill off the deprecated nsINode::GetCurrentDoc. r=baku 2016-03-31 12:46:32 +01:00
Xidorn Quan
65028aeee9 Bug 1236828 part 2 - Make frame constructor support absolutely-positioned top layer frame. r=bz
MozReview-Commit-ID: 4imCeroEaVi
2016-04-11 15:30:48 +10:00
Bobby Holley
dfafc9a559 Bug 1261452 - do_AddRef shouldn't require an rvalue-reference. r=froydnj 2016-04-01 19:14:42 -07:00
Nicholas Nethercote
7f7c26ed62 Bug 1260871 - Remove do_GetAtom() and rename NS_NewAtom() as NS_Atomize(). r=erahm.
do_GetAtom() is currently just a synonym for NS_NewAtom().
2016-03-29 10:09:43 +11:00
Daniel Holbert
ff3a1cedde Bug 1236400 part 2: Extend NeedsAnonFlexOrGridItem() & related code to wrap all inline-level -webkit-box children in an anonymous flex item. r=mats
MozReview-Commit-ID: LK4VW0xSI5m
2016-03-24 09:55:11 -07:00
Daniel Holbert
22b6cb5f0f Bug 1236400 part 1: Add internal enum values to represent "display: -webkit-box" & "display: -webkit-inline-box". r=mats
These new enum values are added with same behavior as their modern flexbox
equivalents -- they're hooked up to NS_NewFlexContainerFrame, and they're
listed alongside the modern flexbox enums in 'switch' & 'if' statements.

There's one exception, which I call out with a comment at the end of the patch:
we don't treat -webkit-box the same as flexbox in IsFlexOrGridDisplayType(),
because that method is used to determine whether we should blockify
inline-level children of a flex/grid container, and we don't want to blockify
any children of a -webkit-box. (Instead, we want to wrap them in an anonymous
flex item. That happens in the next patch.)

MozReview-Commit-ID: 9BB4Ib2KpvE
2016-03-24 09:55:11 -07:00
Mats Palmgren
4335b255b0 Bug 1233191 part 1 - Implement sanity checks on the flex/grid container child frame list. Remove the anon grid item sanity checks that the frame constructor now does instead. r=dholbert 2016-03-18 19:52:08 +01:00
Mats Palmgren
e8cb1ff5c5 Bug 1144096 part 7 - [css-grid] Don't create PageBreakFrames inside a Grid container. The container will handle forced breaks on its items. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren
d3defeee82 Bug 1144096 part 6 - [css-grid] Add support for creating Grid container continuations and deal with overflow containers. r=dholbert 2016-03-11 17:39:26 +01:00
Cameron McCormack
cbb5f757f4 Bug 1248864 - Part 3: Use RestyleManagerHandle instead of concrete restyle manager class. r=dholbert 2016-02-24 18:01:12 +11:00