Commit Graph

1144 Commits

Author SHA1 Message Date
Brad Werth
2934811adc Bug 1302513 Part 3: Remove declarations and implementations of getAuthoredPropertyValue. r=dholbert
MozReview-Commit-ID: LxlUfhPJUaa
2017-07-21 14:18:45 -07:00
Emilio Cobos Álvarez
e9872143d6 Bug 1384542: Fix MustReresolveStyle logic. r=me
MozReview-Commit-ID: 8GdZIyvaRLt
2017-07-31 15:57:25 +02:00
Emilio Cobos Álvarez
54f1c009a9 Bug 1384542: Move GetParent and IsLinkContext to GeckoStyleContext. r=heycam
MozReview-Commit-ID: C19yGcphixX
2017-07-31 14:32:59 +02:00
Emilio Cobos Álvarez
5a23788fa4 Bug 1384542: Get rid of GetParentAllowServo in implementation of CSS 'justify-items' property. r=dholbert,heycam
MozReview-Commit-ID: 4qydjqSoVXs
2017-07-31 14:32:51 +02:00
Emilio Cobos Álvarez
edd2ad9195 Bug 1381083: Don't hold the style context if we had a frame and re-resolved the style. r=heycam
Otherwise we risk losing track of the frame if we hit the cache.

MozReview-Commit-ID: ByHGhcBwIfX
2017-07-27 00:45:29 +02:00
Emilio Cobos Álvarez
9be5b7b0e1 Bug 1381083: Preliminary alignment and whitespace fixup. r=heycam
MozReview-Commit-ID: 9V7pqVMOAqo
2017-07-27 00:28:52 +02:00
Emilio Cobos Álvarez
4b6d7fc287 Bug 1381844: Be more explicit about the kind of style context we handle all the time. r=bholley
MozReview-Commit-ID: E0mdkhU3XBz
2017-07-22 18:02:57 +02:00
Manish Goregaokar
836931eee3 Bug 1382017 part 2 Gecko piece - Remove usage of ServoComputedValues from binding functions; r=xidorn
MozReview-Commit-ID: 3KygTIIMVvF
2017-07-18 23:17:34 -07:00
Manish Goregaokar
86e90da5c3 Bug 1367904 - Part 10: stylo: Switch Gecko over to ServoStyleContext; r=bholley
MozReview-Commit-ID: EmopKVjEzlz
2017-07-17 21:00:46 -07:00
Manish Goregaokar
a0cec6421f Bug 1367904 - Part 5: stylo: Make GetBaseComputedValuesForElement return a style context; r=bholley
MozReview-Commit-ID: K5WpWc26xNZ
2017-07-17 21:00:32 -07:00
Wei-Cheng Pan
4c06965307 Bug 1366964 - Update style context generation after style resolved. r=heycam
Adds another restyle generation which represents the dirty state of raw
style changes, so that getComputedStyle() wont be confused by optimizations
made by style engines.

MozReview-Commit-ID: 7RYeNCzFygO
2017-05-23 14:13:47 +08:00
Emilio Cobos Álvarez
2ec93aa1e1 Bug 1379505: Allow calling GetBaseComputedStylesForElement for an unstyled element. r=boris
Before this refactoring, getComputedStyle could have side effects, and left the
style data in the element, so we could never arrive there without data.

There are a few crashtests that caught this, but this was already broken if you
called animate() on an element deep in a display: none subtree.

MozReview-Commit-ID: 1AvOvhAyOP3
2017-07-10 13:33:21 +02:00
Brian Birtles
3598e085da Bug 1370123 - Make aContent parameter to nsComputedDOMStyle::GetPresShellForContent const; r=xidorn
MozReview-Commit-ID: 8eZ7JmgE1XY
2017-06-19 12:21:17 +09:00
Fernando Jimenez Moreno
316e1e91cd Bug 1375555 - Part 2: Implement indexed getter for custom property names. r=emilio
MozReview-Commit-ID: Ckc85EJcngM
2017-06-28 19:25:10 -07:00
Fernando Jimenez Moreno
9a5eff4f3d Bug 1375555 - Part 1: Get custom props count from Servo side for nsComputedDOMStyle::GetLength. r=emilio
MozReview-Commit-ID: DYY37HGqRq0
2017-06-28 19:25:10 -07:00
Bobby Holley
0bb4f2f9ec Bug 1376655 - Use ServoStyleContext in more places. r=emilio 2017-06-28 10:08:36 -07:00
Fernando Jimenez Moreno
e0b816af95 Bug 1336891 - stylo: Implement custom property value getter. r=emilio
MozReview-Commit-ID: AfAJtNJyCSO
2017-06-22 20:06:57 +02:00
Markus Stange
539f07616a Bug 1370034 - Add CSS properties -moz-window-transform and -moz-window-transform-origin, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: BlLMswF0bKO
2017-06-19 01:44:22 -04:00
Markus Stange
b8c33eb763 Bug 1370034 - Add -moz-window-opacity property, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: J2SPMzh0I9C
2017-06-18 21:04:40 -04:00
Cameron McCormack
95368ca21c Backout bug 1291457 and bug 1370034 for bustage. 2017-06-19 13:55:15 +08:00
Markus Stange
ec6ecdb465 Bug 1370034 - Add CSS properties -moz-window-transform and -moz-window-transform-origin, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: BlLMswF0bKO
2017-06-19 00:21:16 -04:00
Markus Stange
39724e9b46 Bug 1370034 - Add -moz-window-opacity property, style system parts (excluding stylo). r=dbaron
MozReview-Commit-ID: J2SPMzh0I9C
2017-06-18 21:04:40 -04:00
Manish Goregaokar
533734efc7 Bug 1373018 - Part 10: stylo: Remove StyleSource; r=bholley
MozReview-Commit-ID: 4IcROeDNoBA
2017-06-10 22:27:45 -07:00
Manish Goregaokar
d6c7e909d2 Bug 1373018 - Part 7: stylo: Move nsStyleContext::mSource into subclasses; r=bholley
MozReview-Commit-ID: AspYUJ7lGqD
2017-06-10 22:27:45 -07:00
Jeff Hajewski
e7886588bb Bug 1371354: Changes macro defined NS_SYTLE_IMAGELAYER_ to enum class StyleImageLayer; r=manishearth
MozReview-Commit-ID: DgvenevRHg2
2017-06-09 16:53:34 -07:00
Brian Birtles
df6ccc9b27 Bug 1355349 - Get unanimated style in nsComputedDOMStyle::DoGetStyleContextNoFlush for Servo too; r=hiro
MozReview-Commit-ID: BPtpVfbQ5Kk
2017-06-02 14:23:22 +09:00
Brian Birtles
c15be85a08 Bug 1355349 - Move calculation of pseudo type in nsComputedDOMStyle::DoGetStyleContextNoFlush; r=hiro
This patch just moves the calculation of the pseudo type earlier in the method
so we can re-use it in the next patch in this series to get the style context
from the Servo backend for the case where we don't need to resolve style.

This patch also renames the local variable from 'type' to 'pseudoType' since
that seems less ambiguous.

MozReview-Commit-ID: 6pi2F1vZYHJ
2017-06-02 14:21:32 +09:00
Xidorn Quan
9d8144fa72 Bug 1367028 part 2 - Simplify serialization of computed value of rect values in border-image props when possible. r=dholbert
MozReview-Commit-ID: s6TP7oB9l3
2017-05-30 13:27:46 +10:00
Cameron McCormack
7128db143e Bug 1366157 - stylo: Implement getDefaultComputedStyle. r=emilio
MozReview-Commit-ID: GKr06ylK4tA
2017-05-24 14:37:47 +08: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
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
Xidorn Quan
74745cbfcc Backed out changeset 94b5ea8bed5c (bug 1355683)
MozReview-Commit-ID: AJJ7hSuOQNX
2017-05-19 14:57:35 +10:00
Neil Deakin
c9d8fddac3 Bug 1364115 - Allow -moz-stack-sizing to work in a single direction only. r=dbaron,manishearth
MozReview-Commit-ID: Kl7YQpfolTC
2017-05-15 12:33:46 +01:00
Xidorn Quan
b7742acb67 Bug 1363699 part 1 - Make named CounterStyle objects not refcounted. r=heycam
This change does the following:
* Introduce a new smart pointer called CounterStylePtr which either
  holds an AnonymousCounterStyle strongly, or a named CounterStyle
  managed by CounterStyleManager weakly, and use it to replace all
  RefPtr<CounterStyle> around the codebase.
* Rename CounterStyleManager::mCacheTable to mStyles to reflect the
  fact that it is used to manage all styles, not just for caching.
* Add a retired styles list which collect all named CounterStyle
  evicted from mStyles, and post a PostRefreshObserver to destroy
  objects in that list after next flush.
* Remove helper functions for counter style in nsStyleList and expose
  mCounterStyle directly, to make code simpler with the new pointer.

Reason for adding a new smart pointer type rather than making their
AddRef/Release behave like BuiltinCounterStyle is that, it is possible
that after a flush, some stale style structs may still be alive. They
can contain pointer to destroyed CounterStyle objects. Although the
actual content may never be accessed anymore, RefPtr may still access
the object for refcounting during destruction.

MozReview-Commit-ID: xxegwSDhNb
2017-05-13 21:42:23 +10:00
Nazım Can Altınova
7aed30d8da Bug 1360488 - Part 1: stylo: Add ServoCSSParsingEnvironment and pass this instead of URLExtraData r=bholley
It was inconsistent with gecko side and also we needed to pass nsCompatibility enum along with URLExtraData.

MozReview-Commit-ID: 2ceutBfqBrg
2017-05-11 19:06:43 +03:00
Boris Zbarsky
50c4dcff23 Bug 1361274. There's no need to update link :visited state when doing querySelectorAll, since querySelectorAll ignores that state anyway. r=smaug
In our current setup, in which links with an href attribute always match either
:link or :visited, no matter whether that attribute's value is a valid URI,
changes to the attribute always put the element into either the "match nothing"
state or the "match :link" state, via calls to Link::ResetLinkState.

The only thing FlushPendingLinkUpdates is needed for is (lazily, in case it
turns out to not be needed because the element got removed from the DOM anyway)
registering a history observer to switch the link state to :visited as needed.

This means that selector matching consumers that would never expose :visited
state to start with don't need to worry about calling FlushPendingLinkUpdates.
2017-05-03 16:54:25 -04:00
Wes Kocher
1a5a07c6fe Merge m-c to inbound, a=merge
MozReview-Commit-ID: ILz91Vj4gT5
2017-05-02 17:39:58 -07:00
Robert Longson
fe779567bf Bug 1347409 part 2 - serialise fill and stroke fallback properly r=cam 2017-05-02 22:12:59 +01:00
Emilio Cobos Álvarez
3731858edf Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle
2017-04-30 17:30:08 +02:00
Jonathan Watt
5e6164b63f Bug 1350010, part 1 - Implement the '-moz-context-properties' property. r=heycam
MozReview-Commit-ID: CyVQe0UfKdy
2017-04-11 21:38:10 +01:00
Luis de Bethencourt
db0779d940 Bug 1357932 - Make AppendCSSGradientToBoxPosition() output horizontal keywords first, for better interop. r=dholbert 2017-04-27 14:48:42 +01:00
Emilio Cobos Álvarez
553bdcbf4a Bug 1359779: Also look at pseudo frames in nsComputedDOMStyle::DoGetStyleContextNoFlush. r=heycam
MozReview-Commit-ID: IvAehgyv18T
2017-04-26 13:54:44 +02:00
Brian Birtles
4fe0c1c856 Bug 1355348 - Convert stylo assert in nsComputedDOMStyle::DoGetStyleContextNoFlush to a warning; r=hiro
This allows us to run SMIL tests that include a combination of additive and
non-additive animation.

MozReview-Commit-ID: 2uVN184h7Ge
2017-04-26 13:00:12 +09:00
Emilio Cobos Álvarez
eca214dbd7 Bug 1355351: Look for the frame for ::before and ::after pseudos. r=heycam
MozReview-Commit-ID: 7Hm2IGsl323
2017-04-16 22:59:29 +02:00
Daniel Holbert
a8a2232acc Bug 1357117 part 3: Serialize -webkit-linear-gradient() expressions using the (less-expressive) -webkit-linear-gradient syntax, instead of -moz-linear-gradient. r=heycam
Specifically:
* This patch uses a flag added in a prior patch to let us use the author's
  chosen prefix (-webkit or -moz) when serializing.  (We treat the -moz version
  as a special case, because that makes it more straightforward to unsupport
  -moz if/when we can.)
* This patch makes us share the linear-gradient() side-or-corner serialization
  codepath when serializing points for -webkit-linear-gradient. (The
  alternative is the -moz-linear-gradient codepath, which defaults to
  serializing with percent values 0%/100% for sides & corners -- and raw
  percentages are invalid in -webkit-linear-gradient(), so we can't share that
  codepath.) Notably, we have to skip the "to " token that the
  linear-gradient() codepath would normally print out -- that was a late
  addition to the spec and so it only exists in the unprefixed modern syntax.
  (Instead, -webkit-linear-gradient syntax is implicitly "from" the given
  point).


MozReview-Commit-ID: 9Oqo8nG1XDU
2017-04-25 11:48:41 -07:00
Daniel Holbert
d078e2e1d1 Bug 1357117 part 1: Change linear-gradient serialization code to group space separator with the "to" token. r=heycam
This patch doesn't change our behavior -- we'll still produce the same serialization that we would've before.

MOTIVATION: A later patch will make us share this codepath to serialize into
-webkit-linear-gradient() syntax.  That syntax uses the same representation for
points as unprefixed modern linear-gradient() (with box-side-or-corner keywords
"top", "right", etc.), but it does *not* use the word "to".  So we'd like to
allow "to"-and-its-subsequent-space-character to be optional. Hence, this patch
groups the space together with "to", rather than as a prefix on the next token,
so that we can skip right to printing the point (without a leading space)
when we add support for -webkit-linear-gradient() serialization.

MozReview-Commit-ID: 5fCzx4NmpcC
2017-04-25 11:48:37 -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
Daisuke Akatsuka
4e8abff7f9 Bug 1210796 - Part 1a: Add GetUnanimatedComputedStyle into nsIDOMWindowUtils to use in animationinspector of devtools. r=birtles,heycam
In this patch, we implement nsIDOMWindowUtils::GetUnanimatedComputedStyle
which returns computed value of given CSS property without animation rule.  This
method is used from the DevTools animation inspector to fill in keyframe values
when the property value is null (indicating that the underlying/base value is
being used).

In order to implement this, we extend nsComputedDOMStyle constructor to fetch
the computed style minus animation style (i.e. the base style). This is somewhat
complicated by the fact that for discrete animation.
StyleAnimationValue::ExtractComputedValue may return ‘unset’, ‘initial’ or
‘inherit’. For example, if the author uses the 'unset' 'initial' or 'inherit'
keyword for a discrete property (e.g. 'align-content’), ExtractComputedValue
returns the keywords as-is. Furthermore, if the user does not set any specific
keyword, ExtractComputedValue returns ‘unset’.  We use this new
nsComputedDOMStyle mechanism to resolve these keywords into a valid keyword for
computed style in the same way as other properties (e.g. ‘opacity’).

MozReview-Commit-ID: HffJ9SCDf2k
2017-04-18 12:15:47 +09:00