Commit Graph

989 Commits

Author SHA1 Message Date
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
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
Manish Goregaokar
af1754e665 Bug 1298655 - Add bindings for constructing nsCSSShadowArray; r=bholley
MozReview-Commit-ID: IFaQwuhsKqH
2016-08-28 10:11:17 +05:30
L. David Baron
17e28093c9 Bug 1251075 - Split out the parts of nsStyleDisplay::Is{Abs,Fixed}PosContainingBlock that don't depend on the frame. r=bz
The fact that HasTransform() depends on the frame requires the *Internal
functions rather than simply having the public function that takes a
frame call the public function that takes a style context.

MozReview-Commit-ID: CcWZjDTIr52
2016-08-29 11:43:29 -07:00
Wes Kocher
e079662c3f Merge inbound to central, a=merge 2016-08-26 16:20:50 -07:00
Ryan VanderMeulen
0e4c1b03d5 Merge m-c to inbound. a=merge 2016-08-26 09:39:29 -04:00
Mats Palmgren
177cccc127 Bug 1281320 - [css-grid] Implement 'fit-content([ <length> | <percentage> ])' value for <track-size>. r=dholbert 2016-08-26 15:16:57 +02:00
tlin@mozilla.com
ac64370cdb Bug 1295084 Part 4 - Rename Position::PositionCoord to Position::Coord. r=dholbert 2016-08-25 09:59:51 +00:00
tlin@mozilla.com
299b487db0 Bug 1295084 Part 3 - Move nsStyleImageLayers::Position to mozilla::Position. r=dholbert 2016-08-25 09:59:51 +00:00
tlin@mozilla.com
b6b81459fc Bug 1295084 Part 2 - Move two Position methods into nsStyleImageLayers. r=dholbert 2016-08-25 09:59:51 +00:00
tlin@mozilla.com
67549f401c Bug 1295084 Part 1 - Move FragmentOrURL into mozilla namespace. r=dholbert 2016-08-25 09:59:51 +00:00
Ravi Shankar
27b0e2b9f2 Bug 1297982 - Replace NS_STYLE_BOX_ORIENT_* with enum class; r=xidorn
MozReview-Commit-ID: GC0VRyHUM4V
2016-08-26 12:48:41 +05:30
Ravi Shankar
26db0836fe Bug 1297982 - Replace NS_STYLE_BOX_DIRECTION_* with enum class; r=xidorn
MozReview-Commit-ID: H6Mr73864O2
2016-08-26 12:47:09 +05:30
Ravi Shankar
181d48792f Bug 1297982 - Replace NS_STYLE_BOX_DECORATION_BREAK_* with enum class; r=xidorn
MozReview-Commit-ID: 9Cli68UpKdz
2016-08-26 12:44:32 +05:30
Ravi Shankar
49bd1a9b5f Bug 1297982 - Replace NS_STYLE_BOX_PACK_* with enum class; r=xidorn
MozReview-Commit-ID: Cx20hOJbmad
2016-08-26 12:41:54 +05:30
Ravi Shankar
8b54ac9176 Bug 1297982 - Replace NS_STYLE_BOX_ALIGN_* with enum class; r=xidorn
MozReview-Commit-ID: EO8hXmXooft
2016-08-26 12:39:19 +05:30
Xidorn Quan
b0b4dbe69c Bug 1200469 part 2 - Discard cursor image urgently. r=tnikkel
Given that script may change cursor image in a high frequency, and it
is usually small, it is probably better discarding it urgently.

MozReview-Commit-ID: J6tqIODXykg
2016-08-19 23:43:11 +10:00
Emilio Cobos Álvarez
85a8b5641a Bug 1292618: Tidy up nsStyleContent's API now allocations are infallible. r=heycam
MozReview-Commit-ID: BrHn4RiEWeg
2016-08-19 13:17:54 -07:00
Manish Goregaokar
5548288181 Bug 1295662 - stylo: Add bindings for StyleClipPath; r=heycam
MozReview-Commit-ID: E1ALXo7qd43
2016-08-15 21:18:11 +05:30
Manish Goregaokar
1e28f18cee Bug 1295662 - Document layout of nsStyleCorners and inset StyleBasicShape; r=heycam
MozReview-Commit-ID: DYwaSnLvWJK
2016-08-17 15:39:34 +05:30
Wes Kocher
bad19898b2 Merge inbound to central, a=merge 2016-08-17 16:38:41 -07:00
Nathan Froyd
f588788277 Bug 1295192 - part 2 - remove CPP_THROW_NEW from style struct type-safe operator new overloads; r=bholley
operator new overloads that declare that they don't throw exceptions
require a null check on their return value, per the C++ spec.  We know
that Servo isn't going to call these functions with null pointers, so
remove the CPP_THROW_NEW annotation and save ourselves some work.
2016-08-17 15:28:45 -04:00
Nathan Froyd
404078d785 Bug 1295192 - part 1 - remove CPP_THROW_NEW on layout struct operator new overloads that forward to nsPresShell::AllocateByObjectID; r=dholbert
Structs in our style system use an arena-style allocation system,
managed by the presshell to which they belong.  All of the relevant
overloads that forward allocation requests to the presshell declare
themselves as CPP_THROW_NEW, which indicates that they do not throw
exceptions.  The C++ specification states that operator new overloads
that declare themselves to not throw exceptions require a null check on
their return value.  However, the relevant presshell allocation method,
AllocateByObjectID, is infallible and will never return a null pointer.

The callers of all of these methods are therefore doing useless
(compiler-generated) null checks.  Let's get rid of those useless checks
by removing the CPP_THROW_NEW annotations.  This change declares these
methods will return non-null pointers and throw exceptions in case of
errors--but as we don't use exceptions, and AllocateByObjectID will
abort on OOM, everything works out OK.
2016-08-17 15:28:45 -04:00
Jonathan Chan
e201b93c16 Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA
2016-08-16 18:37:48 -07:00
Gregory Szorc
3bcd02ebea Backed out changesets dcdb85fc5517, 702bca0deee2, 9cKX8gC1ATA (bug 1293739) for build bustage; a=bustage
The merge from inbound to central conflicted with the merge from
autoland to central, it appears. Per tree rules, the commit from the
autoland repo wins and the inbound commit gets backed out.

CLOSED TREE
2016-08-16 17:50:40 -07:00
Wes Kocher
bb9e0744e6 Merge inbound to central, a=merge
a=release to get around the webidl hook for a comment-only change
2016-08-16 17:05:30 -07:00
Wes Kocher
63041461e3 Backed out 4 changesets (bug 1295192) for being a possible cause of crashtest assertions CLOSED TREE
Backed out changeset 7f10779fe019 (bug 1295192)
Backed out changeset e683dce4197a (bug 1295192)
Backed out changeset 67d12eaa8074 (bug 1295192)
Backed out changeset 44f143a01f78 (bug 1295192)
2016-08-16 11:22:04 -07:00
Manish Goregaokar
1a43d137cb Bug 1295177 - Convert STYLE_FILL_RULE_* to an enum class; r=xidorn
MozReview-Commit-ID: HnNFNyD4oVJ
2016-08-15 21:47:04 +05:30
Nathan Froyd
017edbc353 Bug 1295192 - part 2 - remove CPP_THROW_NEW from style struct type-safe operator new overloads; r=bholley
operator new overloads that declare that they don't throw exceptions
require a null check on their return value, per the C++ spec.  We know
that Servo isn't going to call these functions with null pointers, so
remove the CPP_THROW_NEW annotation and save ourselves some work.
2016-08-16 17:05:38 -04:00
Nathan Froyd
dabc06ebd0 Bug 1295192 - part 1 - remove CPP_THROW_NEW on layout struct operator new overloads that forward to nsPresShell::AllocateByObjectID; r=dholbert
Structs in our style system use an arena-style allocation system,
managed by the presshell to which they belong.  All of the relevant
overloads that forward allocation requests to the presshell declare
themselves as CPP_THROW_NEW, which indicates that they do not throw
exceptions.  The C++ specification states that operator new overloads
that declare themselves to not throw exceptions require a null check on
their return value.  However, the relevant presshell allocation method,
AllocateByObjectID, is infallible and will never return a null pointer.

The callers of all of these methods are therefore doing useless
(compiler-generated) null checks.  Let's get rid of those useless checks
by removing the CPP_THROW_NEW annotations.  This change declares these
methods will return non-null pointers and throw exceptions in case of
errors--but as we don't use exceptions, and AllocateByObjectID will
abort on OOM, everything works out OK.
2016-08-16 17:05:39 -04:00
Jonathan Chan
23ccd0531f Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA
2016-08-09 16:28:19 -07:00
cku
70f5971663 Bug 1295062 - Fix mask-position initial value in nsRuleNode::ComputeSVGResetData. r=astley,heycam
MozReview-Commit-ID: EvbSdG0xLtV
2016-08-15 15:33:03 +08:00
Manish Goregaokar
573a62e695 Bug 1295895 - Correctly capitalize StyleFillRule; r=heycam
MozReview-Commit-ID: ZfHrllA9QV
2016-08-17 12:13:26 +05:30
Ravi Shankar
62a1eae26d Bug 1291667 - Change NS_STYLE_USER_SELECT_* constants to enum classes; r=heycam,manishearth
MozReview-Commit-ID: IcDt3XYvdlj
2016-08-10 21:42:21 +05:30
cku
28e97be99a Bug 1277788 - Part 1. Set initial value of mask-position as center. r=dbaron.
MozReview-Commit-ID: BflQ6tz8ZjM
2016-08-10 16:10:45 +08:00
Ting-Yu Lin
d42431d103 Bug 1293604 - Replace NS_STYLE_FLOAT_* with StyleFloat enum class. r=dbaron
MozReview-Commit-ID: 4K6TyIm6cs3
2016-08-09 17:32:54 +08:00
Ting-Yu Lin
1bcd857cd6 Bug 1288626 Part 8 - Add shape-outside support to style system. r=heycam
I have to move the definition of StyleBasicShape and StyleShapeSource prior to
where nsStyleDisplay::mShapeOutside is defined since the template struct need to
be fully defined before using as a member variable.

Use SetIdent() in CreatePrimitiveValueForBasicShapeOrURL() in
nsComputedDOMStyle.cpp per bug 1288626 comment 6.

MozReview-Commit-ID: 1KZS299CFul
2016-07-22 15:40:01 +08:00
Ting-Yu Lin
5256d6f706 Bug 1288626 Part 7 - Rename StyleClipShapeSizing to StyleClipPathGeometryBox. r=heycam
Change to geometry box to match the name in the spec.
https://drafts.fxtf.org/css-masking-1/#the-clip-path

MozReview-Commit-ID: 8jDTynCkJ4A
2016-07-28 13:45:43 +08:00
Ting-Yu Lin
db41f5c015 Bug 1288626 Part 6 - Generalize StyleClipPath to be template struct StyleShapeSource. r=heycam
The only difference between clip-path and shape-outside is the reference box
enum, so I generalize StyleClipPath to be a template struct StyleShapeSource to
accommodate both. I'll have to move all the method definition to the header to
make the linker happy.

The only logic change is calling operator==() instead of EqualURIs to compare
urls in StyleShapeSource::operator==().

MozReview-Commit-ID: LOBGVVpnnB
2016-08-04 13:43:08 +08:00
Ting-Yu Lin
0a01c9eca4 Bug 1288626 Part 5 - Rename StyleClipPathType to StyleShapeSourceType. r=heycam
StyleClipPathType will be generalized to StyleShapeSourceType to match this
change.

MozReview-Commit-ID: Igaad2EoSSt
2016-08-04 11:51:20 +08:00
Ting-Yu Lin
00dc2871aa Bug 1288626 Part 4 - Rename nsStyleClipPath to StyleClipPath. r=heycam
MozReview-Commit-ID: 2iT4elvtTGd
2016-07-28 10:29:33 +08:00
Ting-Yu Lin
403c83e1f8 Bug 1288626 Part 3 - Rename nsStyleBasicShape to StyleBasicShape. r=heycam
MozReview-Commit-ID: 9NUKpZ4s4kG
2016-07-27 18:14:36 +08:00
Ting-Yu Lin
f4871b826d Bug 1288626 Part 2 - Use basic shape enum class defined in nsStyleConsts.h. r=heycam
Rename StyleBasicShape to StyleBasicShapeType in nsStyleConsts.h, and
replace the old enum nsStyleBasicShape::Type by the enum class
StyleBasicShapeType.

Also, replace NS_ASSERTION() by MOZ_ASSERT().

MozReview-Commit-ID: EuS4ZtYKsk6
2016-07-27 17:59:33 +08:00
Ting-Yu Lin
556b5d389a Bug 1288626 Part 1 - Move nsBasicShape and nsStyleClipPath into mozilla namespace. r=heycam
MozReview-Commit-ID: D9wwa1rLUNa
2016-07-27 17:38:26 +08:00
cku
608464ed2b Bug 1291280 - Part 2. Declare nsStyleImageLayers::Layer::mSourceURI as FragmentOrURI r=heycam
MozReview-Commit-ID: 6KFb7MjlLqj
2016-08-06 06:38:44 +08:00
cku
e71c384e15 Bug 1291280 - Part 1. Move the definition of FragmentOrURL up. r=heycam
MozReview-Commit-ID: 3TtUtnE2ZBh
2016-08-06 06:16:50 +08:00
Emilio Cobos Álvarez
0e8c3c6201 Bug 1291863: Add some type replacements to fix the Servo binding generation. r=bholley
MozReview-Commit-ID: 63eXtp2otFa
2016-08-03 15:11:15 -07:00
cku
31c970fe69 Bug 652991 - Part 9. Using FragmentOrURL to represent PanitServer url. r=heycam
MozReview-Commit-ID: IZf0fGantoB
2016-07-05 01:00:15 +08:00
cku
773e94febb Bug 652991 - Part 7. Using FragmentOrURL to represent SVG filter url. r=heycam
MozReview-Commit-ID: F6BpTQfC82i
2016-07-23 16:16:59 +08:00
cku
3f66d7ecff Bug 652991 - Part 5. Using FragmentOrURL to represent SVG clippath. r=heycam
MozReview-Commit-ID: BErpWUQ5iQ1
2016-07-05 00:59:57 +08:00