Commit Graph

402 Commits

Author SHA1 Message Date
Botond Ballo
3bc3bacff3 Bug 951793 - Style support for overscroll-behavior. r=heycam
MozReview-Commit-ID: IDAfBZy2D5p
2017-11-22 19:01:11 -05:00
Kris Maglione
913a54b7fe Bug 1415352: Part 1d - Use correct subject principal in CSS environment when modifying attr declarations. r=bz
MozReview-Commit-ID: AnurVwl65fX
2017-11-05 13:23:49 -08:00
Daniel Holbert
8fea3c215f Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK
2017-10-27 10:33:53 -07:00
Jeremy Chen
fec0c77281 Bug 1408851 - part1: do not always clamp negative calc values in BoxValuesToString. r=TYLin
nsComputedDOMStyle::BoxValuesToString() is a helper function for computing and
serializing box values. In the current implementation, BoxValuesToString
implicitly clamp negative calc values, which is pretty non-trivial.

In this patch, we expose an extra aClampNegativeCalc parameter for BoxValuesToString,
so the callers can explicitly set the clamping mode as needed.

MozReview-Commit-ID: 1UjLSqtqVzn
2017-10-16 16:55:54 +08:00
Jeremy Chen
3ea917394c Bug 1378368 - part1: do not always clamp negative calc values in SetCssTextToCoord. r=TYLin
nsComputedDOMStyle::SetCssTextToCoord() is a helper function for computing and
serializing a nsStyleCoord. In the current implementation, SetCssTextToCoord
implicitly clamp negative calc values, which is pretty non-trivial.

In this patch, we expose an extra aClampNegativeCalc parameter for SetCssTextToCoord,
so the callers can explicitly set the clamping mode as needed.

MozReview-Commit-ID: IOIhssjUldC
2017-10-16 13:29:46 +08:00
Nicholas Nethercote
7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11:00
Ting-Yu Lin
d35b7d33db Bug 1404243 Part 3 - Remove refcount for StyleBasicShape, and use UniquePtr to hold it. r=heycam
After StyleBasicShape is set to StyleShapeSource, it's life cycle never go
beyond StyleShapeSource, so I make StyleBasicShape hold by a UniquePtr in
StyleShapeSource.

Also, replace all raw pointers to StyleBasicShape by UniquePtr in all APIs.

MozReview-Commit-ID: 1MfIFjP8TsQ
2017-09-25 18:50:24 +08:00
Nicholas Nethercote
9fda5528d2 Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ
2017-09-26 08:33:21 +10:00
Wei-Cheng Pan
ed39aa0d16 Bug 1363805 - Part 3: Do lazy flushing if possible. r=heycam
Skips flushing current document if the target of getComputedDOMStyle cannot be
affected by any pending restyles.

MozReview-Commit-ID: C87HDIDvOth
2017-05-23 12:02:11 +08:00
Ting-Yu Lin
a78b44acbc Bug 1281101 Part 1 - Remove MOZ_ENABLE_MASK_AS_SHORTHAND from layout code. r=cjku
MozReview-Commit-ID: HWq2IOLsflD
2017-09-21 17:36:57 +08:00
Markus Stange
20d02b9b24 Bug 1387594 - Add a chrome-only CSS property called -moz-font-smoothing-background-color. r=dbaron
This property accepts a color. It's inherited and defaults to transparent.
Its value is respected on macOS when rendering text into transparent pixels.
This property should be used for text that is placed on top of "vibrant"
-moz-appearances, in order to achieve high quality text rendering for such text.

In most cases, the property should be set to a named system color; an upcoming
patch in this patch series will add one such color for each vibrant
-moz-appearance value.
However, in some cases it can also be useful to use a custom color: If text
is rendered into an intermediate surface, for example because a mask is applied
to it, and the background color behind that intermediate surface is known, then
this property can be set to that background color in order to achieve subpixel
AA for the text inside the mask effect. In that case, the font smoothing
background color is respected because text is rendered into transparent pixels
*inside the intermediate surface*. At the moment, the only example of that use
case is the text of the active tab in the state where the text is overflowing.

MozReview-Commit-ID: D98qQnxoFaq
2017-09-14 23:09:46 +02: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
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
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
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
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
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
Robert Longson
fe779567bf Bug 1347409 part 2 - serialise fill and stroke fallback properly r=cam 2017-05-02 22:12:59 +01: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
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
Xidorn Quan
965dabfa7a Bug 1355683 - Remove Window.getDefaultComputedStyle. r=bz
MozReview-Commit-ID: A2IwfiJiPL
2017-04-13 16:50:37 +08:00
Xidorn Quan
c61841a1ad Bug 1343964 part 7 - Use URLExtraData for declaration modification directly for Servo backend. r=heycam
MozReview-Commit-ID: 78JRYKk9hgV
2017-04-04 16:09:20 +10:00
Brian Birtles
7eef79dbda Bug 1315874 - Make GetStyleContextWithoutAnimation not flush; r=heycam
There are currently no call sites of GetStyleContextWithoutAnimation
but there are a couple of places (including this patch series) where we would
like to use such a method, but without the flushing behavior.

This patch drops the flushing from GetStyleContextWithoutAnimation and
renames it to GetUnanimatedStyleContextNoFlush. It also makes a few other minor
tweaks:

* Adds the aStyleType parameter for consistency with GetStyleContextNoFlush and
  GetStyleContext
* Moves the implementation of this method and GetStyleContextNoFlush to the
  header file since they simply wrap DoGetStyleContextNoFlush.
* Changes the order of these declarations so that the more specialized method
  comes later.
* Drops the comment describing the method since both the method name and the
  inline definition should now make it obvious what it is doing.

(Actually making this method not return animation styles when it re-uses an
existing style context will happen in the next patch.)

MozReview-Commit-ID: JYeim4A9Imr
2017-04-03 16:49:09 +09:00
Brian Birtles
4de61d72aa Bug 1315874 - Drop 'ForElement' from GetStyleContextForElementXXX methods; r=heycam
In the next patch we want to add a method called
GetUnanimatedStyleContextForElementNoFlush but that's much too long. Instead it
seems better to just drop 'ForElement' from all these methods since it should be
fairly obvious we are getting the style context for an element given that the
first argument is an element.

MozReview-Commit-ID: JQKaEuCKV2F
2017-04-05 14:39:23 +09:00
Mats Palmgren
8297bf43a1 Bug 1333482 part 1 - [css-ui] Introduce the 'appearance: auto | none' property. r=dholbert
MozReview-Commit-ID: 3itCDTKuYQ9
2017-03-23 22:11:17 -07:00
Neerja Pancholi
5fddb99f6b Bug 1339298 - Add boilerplate code for CSS3 multicol column-span parsing and define pref 'layout.css.column-span.enabled' to toggle it. r=dholbert
MozReview-Commit-ID: 6aSlRhcKm8i
2017-02-13 16:57:33 -08:00
jeremychen@mozilla.com
8e500e1044 Bug 276079 - parse and compute CSS text-justify property. r=xidorn
MozReview-Commit-ID: K3bh0H2SPnE
2017-03-01 20:58:25 +08:00
Neerja Pancholi
55ce6ad5a8 Bug 1339619 - Refactor parsing code for '-moz-text-size-adjust' to use the (more conventional) keyword table approach to calculate computed style. r=dholbert
MozReview-Commit-ID: 2mawqnlUh8t
2017-02-16 13:27:16 -08:00
cku
1819876e04 Bug 1336905 - Part 1. Remove StyleShapeSource's template argument. r=heycam,TYLin
MozReview-Commit-ID: FHTwGyXHsce
2017-02-21 23:26:17 +08:00
Carsten "Tomcat" Book
1bff0b1adf Backed out changeset fb3c04effbd1 (bug 1336905) for bustage in stylo builds 2017-02-14 11:07:17 +01:00
cku
b2b713cfd2 Bug 1336905 - Part 1. Remove StyleShapeSource's template argument. r=heycam,TYLin
MozReview-Commit-ID: FHTwGyXHsce
2017-02-06 15:50:22 +08:00
Hiroyuki Ikezoe
6f69d969b2 Bug 1330190 - Part 1: Add nsComputedDOMStyle::GetStyleContextForElementWithoutAnimation. r=heycam
We need another variant of GetStyleContextForElement() that does not consider
animation rules at all to get the base styles of the target element (i.e.
styles without animations).
In subsequent patches we also skip nsAnimationManager::UpdateAnimations() and
EffectCompositor::UpdateEffectProperties() to avoid (indirect) recursive calls
for resolving style of the same element.

MozReview-Commit-ID: G5olgXIMtvY
2017-01-16 16:57:09 +09:00
Ting-Yu Lin
9eb2a46c79 Bug 1320014 Part 11 - Convert NS_FULL_TO_HALF_CORNER to a constexpr function. r=mats
Because the new function checks types, we need to change the fullCorner type
in nsComputedDOMStyle::GetEllipseRadii() and
StyleAnimationValue::ExtractComputedValue() from uint8_t to |Corner| to fix
build error.

MozReview-Commit-ID: 5NuFE3yA2QD
2017-01-05 14:59:17 +08:00
Xidorn Quan
7749bec582 Bug 1063162 part 2 - Implement caret-color property. r=dholbert
MozReview-Commit-ID: DH7CX1d477R
2016-12-22 11:04:15 +11:00
cku
b00f9ec88d Bug 1311270 - Part 3. Replace {bg|mask}-origin/{bg|mask}-clip constants by StyleGeometryBox.
MozReview-Commit-ID: DYokhDa9fFQ
2016-11-22 15:30:01 +08:00
Jonathan Kew
458d6a28c3 Bug 1321022 pt 4 - Implement CSS parsing of the font-variations-setting property, storing the value into nsFont. r=dholbert 2016-12-03 12:18:36 +00:00
Ting-Yu Lin
03d0c3c4c4 Bug 1317588 Part 2 - Remove mozilla::css::Side typedef. r=mats
This patch is written with the help of the following script.

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "css::Side" "Side"

MozReview-Commit-ID: DPV6vivpPUp
2016-11-18 16:28:38 +08:00
Brad Werth
a55dd18df2 Bug 1304636 Part 1: Make GetComputedStyle report 'auto' for min-width:auto flex/grid items. r=dholbert
MozReview-Commit-ID: 3snktoHTohq
2016-11-18 13:47:30 -08:00
Xidorn Quan
0124519d82 Bug 1294299 part 1 - Make nsDOMCSSDeclaration use DeclarationBlock. r=heycam
MozReview-Commit-ID: B2eHrpxOMJ8
2016-11-03 14:41:02 +11:00
Manish Goregaokar
f35d90e274 Bug 1311959 - Remove marker-offset; r=tromey,xidorn
MozReview-Commit-ID: 72Fse0z1BiY
2016-10-21 15:34:46 +05:30
Cameron McCormack
a9fde7344c Bug 1298774 - Part 9: Remove FragmentOrURL. r=cjku
MozReview-Commit-ID: Du10tRgKtQ4
2016-10-11 14:56:12 +08:00
Cameron McCormack
6c5d4ffa1f Bug 1298774 - Part 4: Make ShapeStyleSource use css::URLValue for url() storage instead of FragmentOrURL. r=cjku
MozReview-Commit-ID: CQy6ArR48Sp
2016-10-11 14:56:11 +08:00
Astley Chen
91185e25aa Bug 1292447: part 2 - Get border-*-radius and outline-radius-* props value resolved to computed value. r=xidorn
MozReview-Commit-ID: L05tISAdu0q
2016-10-03 18:14:20 +08:00