Commit Graph

538 Commits

Author SHA1 Message Date
Xidorn Quan
98f239480d Bug 1362302 part 1 - Use nsIAtom for counter style names. r=dbaron
MozReview-Commit-ID: 5VK6BgGRVRs

--HG--
extra : rebase_source : 104a28eddeb7984bd9f691693cf8debc1387fb87
2017-05-06 11:34:35 +10:00
Cameron McCormack
234f4ebfd7 Bug 1358968 - Part 3: Use nsCSSAnonBoxList.h data to skip parent display-based style fixups when restyling anon boxes with ReparentStyleContext. r=bz
MozReview-Commit-ID: 5jqBEuVt3GH

--HG--
extra : rebase_source : 266a2a9280ce7588f4c4eeba58f4a370f41339c5
2017-04-24 16:26:29 +08:00
Cameron McCormack
060797a439 Bug 1358968 - Part 2: Use nsCSSAnonBoxList.h data to skip parent display-based style fixups when resolving anon box style. r=bz
MozReview-Commit-ID: HugxFcRcCqv

--HG--
extra : rebase_source : 5c3b12151db531a0b595cff674b1d1d137ebb9cf
2017-04-24 16:25:37 +08:00
Mats Palmgren
ef94ae96c4 Bug 1359205 - Make XUL pseudo values nsICSSAnonBoxPseudo* instead of nsIAtom* and assert that IsTreePseudoElement() got a pseudo tag of the right type. r=bz
MozReview-Commit-ID: G2WFsNV4Fjz
2017-04-26 17:54:43 +02:00
Mantaroh Yoshinaga
90f3d3d4d0 Bug 1062106 part 2 - Remove unused SVG Attribute Animations cascade level. r=birtles,dbaron,xidorn
The previous patch in this series converted all uses of mapped attributes
for animation to be animated as CSS properties (that is, to be treated
as presentation hints in the cascade).

As result, we no longer need the SVG Animation presentation hints level
of the cascade, the corresponding rule processor(SVGAttrAnimationRuleProcessor),
or the corresponding eRestyle_SVGAttrAnimations restyle hint. So this patch
removes these unused rule processor and restyle hint.

MozReview-Commit-ID: Hm8IDaqc3ym

--HG--
extra : rebase_source : 339ad209f37ea84857577001c7385323f2187d46
2017-03-21 15:43:26 +09:00
Iris Hsiao
96c6ba3303 Backed out 4 changesets (bug 1062106) for build bustage
Backed out changeset 7ac1fffb6a87 (bug 1062106)
Backed out changeset 7682b2da0437 (bug 1062106)
Backed out changeset e77bfa57be61 (bug 1062106)
Backed out changeset a565aca3013c (bug 1062106)
2017-03-21 16:41:18 +08:00
Mantaroh Yoshinaga
11cf9c5a1d Bug 1062106 part 2 - Remove unused SVG Attribute Animations cascade level. r=birtles,dbaron
The previous patch in this series converted all uses of mapped attributes
for animation to be animated as CSS properties (that is, to be treated
as presentation hints in the cascade).

As result, we no longer need the SVG Animation presentation hints level
of the cascade, the corresponding rule processor(SVGAttrAnimationRuleProcessor),
or the corresponding eRestyle_SVGAttrAnimations restyle hint. So this patch
removes these unused rule processor and restyle hint.

MozReview-Commit-ID: Hm8IDaqc3ym

--HG--
extra : rebase_source : db5f467df198769474f0af6b6739d1b3cc957abc
2017-03-21 15:43:26 +09:00
L. David Baron
0d116bc3f9 Bug 1305754 - Don't rebuild the whole path in the rule tree when resolving style with replacement. r=heycam
MozReview-Commit-ID: HdNhDBnOS3u

--HG--
extra : transplant_source : %B1%CD%A5%21Tw%8A%E5%83E%DF%96%E6%7Cp%1A%20%AD%FD%17
2017-03-13 15:31:32 -07:00
Carsten "Tomcat" Book
6d06361383 merge mozilla-inbound to mozilal-central a=merge 2017-03-09 11:23:25 +01:00
Boris Zbarsky
964a12c306 Bug 1345362 part 4. Rename ResolveAnonymousBoxStyle to ResolveInheritingAnonymousBoxStyle. r=heycam
MozReview-Commit-ID: GVA1fTh0RDv

--HG--
extra : rebase_source : 4333baf6764f346d68836e387fa002705684bfdd
2017-03-08 23:50:28 -05:00
Boris Zbarsky
b537f110e2 Bug 1345362 part 3. Introduce CSSPseudoElementType::NonInheritingAnonBox to represent non-inheriting anon boxes. r=heycam
The idea is to be able to call the right function during style resolution time
without doing a linear walk via nsCSSAnonBoxes::IsNonInheritingAnonBox.

MozReview-Commit-ID: JKt33GggTjz

--HG--
extra : rebase_source : fcf477dcef8529c803bf97b1d3a16f8f4fcea39f
2017-03-08 23:41:04 -05:00
Boris Zbarsky
767339fbd8 Bug 1345362 part 1. Use mozilla::EnumeratedArray for mNonInheritingStyleContexts. r=heycam
MozReview-Commit-ID: EddWYLSmfGL

--HG--
extra : rebase_source : c2cd37964b60c25ae2176098addfcbf94cad61a3
2017-03-08 23:39:45 -05:00
Boris Zbarsky
f12067d36e Bug 1343078 part 7. Make placeholders a non-inheriting anon box. r=dbaron
MozReview-Commit-ID: 3kQQroDRlr8

--HG--
extra : rebase_source : 6b1c8e0c1f287532badedb50439e415f97a4cf81
2017-03-08 00:18:40 -05:00
Boris Zbarsky
71f35d2571 Bug 1343078 part 4. Add storage for the singleton non-inheriting anon box style contexts on style set. r=dbaron
MozReview-Commit-ID: 9OvEssf3J5o

--HG--
extra : rebase_source : 43856176ef02474c00b76a8e498ff7a926c92b23
2017-03-08 00:18:39 -05:00
Boris Zbarsky
ca2ae1cf7a Bug 1343078 part 1. Give placeholders and first-letter continuations different kinds of anonymous boxes. r=dbaron
MozReview-Commit-ID: B5IHgVUo1Rp

--HG--
extra : rebase_source : d7eab69a0dbcf0a460a249d843c5510a470b5a04
2017-03-08 00:18:32 -05:00
Brian Birtles
2fb7abf24c Bug 1345356 - Update references to CheckAnimationRule to refer to UpdateAnimations; r=heycam DONTBUILD (comment-only)
This method was renamed in bug 1246046 (changeset
c3fe45107c) since the animation rule now
represents more than just CSS animations and this method is only concerned with
triggering updates to it based on changes to CSS animations

--HG--
extra : rebase_source : ca459dd14699761523193c172886782fed6e5d8f
2017-03-09 08:39:28 +09:00
Cameron McCormack
f63cdecde2 Bug 1297899 - Part 6: Move RestyleManagerHandle functionality into RestyleManager. r=bholley
MozReview-Commit-ID: 7lsti0bGzNr

--HG--
extra : rebase_source : 13c64026190afe5de25f540adb6deea9f518149f
2017-02-13 11:21:33 +08:00
Cameron McCormack
eddea92878 Bug 1297899 - Part 3: Rename RestyleManager to GeckoRestyleManager and RestyleManagerBase to RestyleManager. r=bholley
MozReview-Commit-ID: fFTZKwmGJm

--HG--
extra : rebase_source : 42b99c8a9c5616999abae2d195d16547f1fbc80f
2017-02-13 11:21:32 +08:00
Hiroyuki Ikezoe
082a3da7a4 Bug 1330190 - Part 3: Add ResolvePseudoElementStyleWithoutAnimation. ?heycam r=heycam
This has the same functionality of ResolveStyleWithoutAnimation() but for pseudo
element instead.

MozReview-Commit-ID: I34lrfqdtuP

--HG--
extra : rebase_source : 5467923c4a4cb06e8999a1116cc2da9b2ed89c5e
2017-01-16 16:57:16 +09:00
Hiroyuki Ikezoe
37f87086c5 Bug 1330190 - Part 2: Add a new function named ResolveStyleWithoutAnimation. r=heycam
Unlike the other one this function does not need an old nsStyleContext.
This function just resolves style without all animation data in the first place.
The existing ResolveStyleWithoutAnimation is renamed to
ResolveStyleByRemovingAnimation.

MozReview-Commit-ID: 1RmCQNw0MmW

--HG--
extra : rebase_source : eaf55ecac77f6bb803b1f9508444bf34106d6da3
2017-01-16 16:57:13 +09:00
Xidorn Quan
47dc891b40 Bug 1311870 - Change property id of moz-prefixed properties to match their name. r=heycam
MozReview-Commit-ID: DkrMkzMq5qM

--HG--
extra : source : 8d502b58d6124335dcf54146306628644252dfb6
extra : amend_source : f40b0e1629e6c0fcb1c1c595d7787e18e0271924
2016-12-21 18:16:50 +11:00
Mantaroh Yoshinaga
ed9cb5c860 Bug 1287983 part 5 - Clarify the function name of creating transition. r=hiro
MozReview-Commit-ID: AW5qD8uBQxf

--HG--
extra : rebase_source : 5cc8b81bec1db0b40b420bc539f03f6307879cb0
2016-10-19 15:16:52 +09:00
Xidorn Quan
2f49a48a09 Bug 1304302 part 10 - Replace all uses of StyleSheetHandle. r=heycam
This commit is generated by the following commands with some minor
manual adjustment:

find . \( -name '*.h' -or -name '*.cpp' \) -not -path './layout/style/StyleSheet*' -exec sed -i -b \
  -e '/^\(#include\|using\)/s/StyleSheetHandle/StyleSheet/g' \
  -e 's/\(mozilla::\)\?StyleSheetHandle::RefPtr/RefPtr<\1StyleSheet>/g' \
  -e 's/StyleSheetHandle()/nullptr/g' \
  -e 's/->AsStyleSheet()//g' \
  -e 's/StyleSheetHandle/StyleSheet*/g' {} +
sed -i -b 's/sheet->AsVoidPtr()/sheet.get()/' layout/style/Loader.cpp
sed -i -b 's/AsHandle()/this/' layout/style/StyleSheet.cpp

MozReview-Commit-ID: 7abdvlKHukd

--HG--
extra : source : e5682242db07203b5a91810fe1e243c955310588
2016-09-26 22:03:25 +10:00
Xidorn Quan
1dc2955ab8 Bug 1304302 part 8 - Change include of {CSS,Servo}StyleSheet.h to StyleSheetInlines.h. r=heycam
It is a preparation for later patch which moves functions from those
classes into StyleSheet. Some of the functions are better defined in
StyleSheetInlines.h.

This commit is generated by the following command:

find . \( -name '*.h' -or -name '*.cpp' \) -not -name '*StyleSheet*' -exec sed -i -b \
  -e '/^#include/ s_/\(CSS\|Servo\)StyleSheet\.h_/StyleSheetInlines.h_' \
  -e '1,\_^#include "mozilla/StyleSheetInlines.h"_ ! { \_^#include "mozilla/StyleSheetInlines.h"_d }' {} +

MozReview-Commit-ID: 54H5x27Pmso

--HG--
extra : source : e4fe253a8f82c3c58e5191d6af66fb0e85f2df19
2016-09-26 22:03:25 +10:00
Manish Goregaokar
aad318e17a Bug 1300337 - Replace None_ variants from nsStyleConsts.h with None; r=heycam,TYLin
MozReview-Commit-ID: CxHzbEzjLxT

--HG--
extra : rebase_source : 232f90b8b107f7fb49f47a29a4e493660b8a7d87
2016-09-04 00:16:58 +05:30
Thomas Wisniewski
2b28c5e2a9 Bug 1069012 - Unprefix ::placeholder pseudo-element. r=bz 2016-09-07 19:38:38 -04:00
Emilio Cobos Álvarez
619cb14d87 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
Jonathan Chan
4b87f11bd9 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

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-16 18:37:48 -07:00
Daisuke Akatsuka
095d7039ae Bug 1277433 - Part 1: Use discrete animation for appropriate CSS Alignment properties. r=dholbert,heycam
MozReview-Commit-ID: BHtzuwJOuB5

--HG--
extra : rebase_source : 975720e6ce68743ab8915a62f8f8cda48ee69340
2016-08-16 14:29:21 +09:00
Jonathan Chan
95f96fd0dd Bug 1290320 - Add missing include to nsStyleSet.h. r=bholley
MozReview-Commit-ID: PRSFRX9Oru

--HG--
extra : rebase_source : 7f964a1b0371eb6b986b165e3fc100139469ce1c
2016-07-28 18:41:08 -07:00
Hiroyuki Ikezoe
495f6aae06 Bug 1285407 - Part 1: Pass a newly created nsStyleContext to GetAnimationRule and MaybeUpdateAnimationRule. r=birtles
While resolving style context, the primary frame of the target element
has previous style context so if we don't pass the newly created nsStyleContext,
UpdateCascadeResults uses the previous style to get overridden properties, it
will result unexpected cascading results.

MozReview-Commit-ID: osqXQlP43X

--HG--
extra : rebase_source : 1b34f9245367c2613807156559f09f5f2943458c
2016-07-11 17:28:14 +09:00
Brian Birtles
3dedc86d90 Bug 1277908 - Keep visited rule node alive while creating non-visited style context; r=dholbert
MozReview-Commit-ID: Eqti28E14Jp

--HG--
extra : rebase_source : b1ab439dd85e87c11dcc5a85b70fcc21a48e328e
2016-07-08 13:17:42 +09:00
Emilio Cobos Álvarez
e6ed33b04e Bug 1283242: style: Whitespace cleanup and remove dead code. r=bobbyholley+313730
gNewCount and gSharedCount aren't even declared.

--HG--
extra : rebase_source : 3c7d79a360ad6eef2e884de513ee45a289d4cd0a
2016-06-29 11:27:42 +00:00
Xidorn Quan
f355ff0241 Bug 1269976 part 2 - Add nsCSSPseudoElements::IsEnabled() and make GetPseudoType take CSSEnabledState. r=heycam
MozReview-Commit-ID: K3uFwojy6FZ

--HG--
extra : rebase_source : b4a671f8d97b1d11696c375d9af790ea27ccf0ca
extra : source : d458585bd00bbe6a503bfb0f1072c632b8f0e26f
2016-05-10 18:44:05 +10:00
Ryan VanderMeulen
937594f842 Backed out changesets 4e949692600a and 6f7ecae8e663 (bug 1269976) for bustage. 2016-05-09 23:58:49 -04:00
Xidorn Quan
05db7e1bc8 Bug 1269976 part 2 - Add nsCSSPseudoElements::IsEnabled() and make GetPseudoType take CSSEnabledState. r=heycam
MozReview-Commit-ID: K3uFwojy6FZ

--HG--
extra : source : 9828f687af13af0d4e220ea440692b29cf14dcd0
2016-05-10 13:36:25 +10:00
Cameron McCormack
3aadcf811c 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
Cameron McCormack
2617364266 Bug 1268390 - Part 1: Factor out most of nsStyleSet::AddDocStyleSheet for re-use. r=bholley 2016-04-29 14:01:44 +10:00
Xidorn Quan
d5599a3104 Bug 1097499 part 3 - Add a separate anonbox for text nodes. r=heycam
MozReview-Commit-ID: 1GfoFEGhyka

--HG--
extra : source : 38b806fd0fa54934439db0de75600def43142272
2016-04-22 09:18:41 +10:00
Bobby Holley
1c7f68df06 Bug 1258017 - Cleanup fixes for trunk. r=me 2016-04-21 13:56:40 -07:00
Cameron McCormack
c5e251b3b9 Bug 1247182 - Add an nsCSSRuleProcessor constructor that takes ownership of the given sheet array. r=birtles 2016-04-14 16:02:44 +10:00
Jonathan Watt
9480920b04 Bug 1263785 - Kill off the deprecated nsINode::GetCurrentDoc. r=baku 2016-03-31 12:46:32 +01:00
Brian Birtles
344398e8f8 Bug 1260983 - Update animation properties when the style context changes; r=heycam
MozReview-Commit-ID: L4ugcD7BxNX
2016-04-01 09:31:51 +09:00
Bobby Holley
3836b7c35b Bug 1258017 - Redesign and simplify rule tree GC. r=dbaron
The basic idea here is as follows:
* Rule nodes are reference-counted, but releasing them adds them to a linked
  list rather than freeing them. This allows for the reuse that motivated the
  original GC scheme.
* We get rid of the marking, and instead rely on the reference count.
* Sweeping no longer requires a complicated traversal. We just pop items
  off the free list until it's empty. When a child is destroyed, its parent
  may go onto the free list.
* We remove special handling for the root node, and use a regular reference-counted
  edge from the style set.
* The free list automatically asserts that it's empty (meaning all nodes have been
  freed) in its destructor, which runs when the style set is destroyed.
* We get rid of the list of style context roots on the style set. We still need
  a count though, because of the HasCachedStyleData check.
2016-03-28 08:59:22 -07:00
L. David Baron
8c5857d870 Bug 1256500 - Root style contexts before calling ApplyStyleFixups. r=heycam
MozReview-Commit-ID: 8P4AyTCvhmW
2016-03-14 20:26:53 -07:00
Daniel Holbert
e23c4f231b Bug 1247478: Rename FirstAdditionalAuthorSheet() to GetFirstAdditionalAuthorSheet(), since it can return null. r=heycam 2016-02-29 15:09:13 -08:00
Cameron McCormack
8a373903a7 Bug 1250788 - Part 2: Expose IsCSSSheetType method. r=bholley 2016-02-26 12:51:01 +11:00
Cameron McCormack
89cac5abd1 Bug 1248864 - Part 3: Use RestyleManagerHandle instead of concrete restyle manager class. r=dholbert 2016-02-24 18:01:12 +11:00
Cameron McCormack
736a5f47e7 Bug 1248864 - Part 1: Move RestyleManager.h to EXPORTS.mozilla. r=dholbert 2016-02-24 18:01:12 +11:00
Cameron McCormack
0ecd5593cc Bug 1244074 - Part 4: Use StyleSheetHandle instead of concrete style sheet class in most places. r=dholbert 2016-02-24 18:01:12 +11:00