Commit Graph

201 Commits

Author SHA1 Message Date
Jonathan Watt
44d37e68d5 Bug 1449321 - Remove the IsServo and IsGecko methods from the style system code. r=emilio 2018-03-23 16:01:34 +00:00
Emilio Cobos Álvarez
b1a35fbef7 Bug 1447358: Unifdef the old style system code. r=jwatt
Summary:
This has been automatically generated using:

  http://dotat.at/prog/unifdef/

And:

find $OBJDIR -type f -name '*.h' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

find $OBJDIR -type f -name '*.cpp' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

MozReview-Commit-ID: I4NdKqbMXzJ

Reviewers: jwatt

Bug #: 1447358

Differential Revision: https://phabricator.services.mozilla.com/D779
2018-03-21 10:20:34 +01:00
Xidorn Quan
3ebb0c69a4 Bug 1435139 - Don't call SetCSSDeclaration when removing non-existing property. r=bz
MozReview-Commit-ID: 8jt1D5RULEy
2018-02-05 16:07:44 +11:00
Cameron McCormack
02c617875f Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN
2018-02-01 15:04:04 +11:00
Boris Zbarsky
276fce3bc4 Bug 1428610 part 7. Make the nsICSSDeclaration length API nicer. r=emilio
MozReview-Commit-ID: 2gs8npBJFJY
2018-01-30 14:48:27 -05:00
Boris Zbarsky
0ba88b2885 Bug 1428610 part 6. Give nsICSSDeclaration::GetPropertyPriority a nicer signature. r=emilio
MozReview-Commit-ID: 4H2zADwdo5L
2018-01-30 14:48:27 -05:00
Boris Zbarsky
7a1455b2cc Bug 1428610 part 5. Make nsICSSDeclaration::Get/SetCSSText have nicer signatures. r=emilio
MozReview-Commit-ID: B25qvxKj9CW
2018-01-30 14:48:26 -05:00
Boris Zbarsky
369b32cdf4 Bug 1428610 part 4. Move the nsCSSPropertyID overload of nsICSSDeclaration::SetPropertyValue to nsDOMCSSDeclaration. r=emilio
MozReview-Commit-ID: 8BzCHahJjwv
2018-01-30 14:48:26 -05:00
Boris Zbarsky
d07e03543e Bug 1428610 part 3. Move the nsCSSPropertyID overload of nsICSSDeclaration::GetPropertyValue down to nsDOMCSSDeclaration. r=emilio
MozReview-Commit-ID: FHrkptqa2hZ
2018-01-30 14:48:26 -05:00
Cameron McCormack
6f67ab6348 Bug 1427512 - Part 29: Remove nsIDOMCSSDeclaration. r=xidorn,jryans,bz
This removes the .style attribute from nsIDOMSVGElement, but there
shouldn't be any users of that.

MozReview-Commit-ID: LOBSFo85Utn
2018-01-11 16:17:57 +08: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
Kris Maglione
5c100ad8bf Bug 1415352: Part 1c - Store the subject principal when setting Element.style properties. r=bz
This causes the subject principal that was responsible for setting a CSS
property, or the full cssText of an attribute, to be threaded through the call
chain to the point where CSS parsing happens, so that it can be used as the
triggering principal when loading URLs for that property.

Note that this allows for different properties defined in the same style
attribute to have different triggering principals, depending on the caller
which originally set them, as long as the cssText of that attribute is not
modified. Once it is, all properties revert to the principal of the caller
that modified the CSS text.

MozReview-Commit-ID: ISUyxbqAZMX
2017-11-03 21:44:03 -07: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
Boris Zbarsky
ec484bcf8d Bug 1402218. Make sure to clone our CSSDeclaration as needed when removing properties. r=emilio
MozReview-Commit-ID: 6LRjLU3QQok
2017-09-28 22:04:34 -04:00
Andrew McCreight
1ca9932763 Bug 1390660, part 1 - Clean up some uses of the table-to-map segue. r=peterv
In a number of places, there's no substantial use of maps any more
after the segue.

The ELEMENT segue tries the FragmentOrElement QI, but that is
redundant with the Element QI.

This lets me use a few higher-level macros.

MozReview-Commit-ID: Gstq3Cm8LDl
2017-08-16 13:37:20 -07:00
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
Josh Matthews
34594ebaa7 Bug 1352669 - Hook up Stylo CSS parser to Gecko error reporter. r=emilio
MozReview-Commit-ID: 3r5Z6KiPgRM
2017-07-10 17:52:00 -04:00
Wes Kocher
8cbe4b5d79 Backed out changeset f220d8060c14 (bug 1352669) for build bustage CLOSED TREE a=bustage
MozReview-Commit-ID: INYGT4WT1pO
2017-07-06 14:56:06 -07:00
Josh Matthews
6416600b5e Bug 1352669 - Hook up Stylo CSS parser to Gecko error reporter.
MozReview-Commit-ID: 3r5Z6KiPgRM
2017-07-06 13:15:08 -07:00
Hiroyuki Ikezoe
9b3da66f44 Bug 1358966 - Drop a redundant include for DeclarationBlockInlines.h. r=birtles
MozReview-Commit-ID: Av21Kes51z8
2017-06-09 06:19:37 +09:00
Hiroyuki Ikezoe
45d7a975ff Bug 1361938 - Do not reuse DeclarationBlock when modifying inline style. r=heycam
In stylo, the DeclarationBlock is stored in element's RuleNode directly,
so when we call setProperty(), the new property value replaces the old value
immediately. This causes a problem for CSS transition.  CSS transition needs
before-change style.

From the spec;
 before-change style as the computed values of all properties on the element
 as of the previous style change event, except with any styles derived from
 declarative animations such as CSS Transitions, CSS Animations, and SMIL
 Animations updated to the current time

To get correct before-change style, when we call getProperty(), we need to
preserve rule nodes tree as the rules as of the *previous style change event*.
And we need to cascade the preserved rule nodes with updated animation rules during
animation-only restyle, and then we can use the result of the cascading as
before-change style before cascading inline style changes in normal restyle.

MozReview-Commit-ID: 9bkHz3Vvqg2
2017-05-31 09:24:57 +09:00
Emilio Cobos Álvarez
316468597e Bug 1365629: minor cleanup in ServoCSSParsingEnvironment code. r=canaltinova
At first I thought that the problem was related to this bug, so I wrote this.

I think it's worth landing.

MozReview-Commit-ID: G6UKp5l5STm
2017-05-21 15:06:27 +02:00
Xidorn Quan
e866068ced Bug 1345697 part 1 - Various fix for adding new files. r=heycam
MozReview-Commit-ID: 33Ssd7tNZ2K
2017-05-19 16:12:34 +10:00
Nazım Can Altınova
072d3c9b05 Bug 1364746 - stylo: Continue to propagate quirks mode information to Servo r=bholley
I've propagated quirks mode information on some places. But we needed to pass
quirks mode to some other FFI functions to be able to handle that information
properly.

MozReview-Commit-ID: JovQWjN3YJx
2017-05-14 18:11:18 +03:00
Nazım Can Altınova
fe6b4ad014 Bug 1360488 - Part 2: stylo: Propagate quirks mode information from Gecko to Servo r=bholley
MozReview-Commit-ID: 6AyuC2jd3d4
2017-05-06 01:12:03 +03: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
Hiroyuki Ikezoe
fcfc8db486 Bug 1357295 - Rename LengthParsingMode to ParsingMode and LengthParsingMode::SVG to PasingMode::AllowUnitlessLength. r=emilio
We need another flag that represents allow-negative-number for SMIL, so
this enum will also comprise the another parsing mode that allows negative number.

MozReview-Commit-ID: IDFNppjGeB
2017-05-13 19:47:38 +09:00
J. Ryan Stinnett
7a0935b7e4 Bug 1329088 - Pass SVG length mode to Stylo. r=emilio
In the SVG element case, tell Stylo to use the SVG length mode.

MozReview-Commit-ID: 9UR1AYRh4RE
2017-04-14 18:27:49 +08:00
Xidorn Quan
a441f29cd6 Bug 1343964 followup - Add back code change which was incorrectly dropped when addressing review comment on a CLOSED TREE.
MozReview-Commit-ID: Kwehpac1Dia
2017-04-07 13:56:03 +10: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
Xidorn Quan
94dc384220 Bug 1343964 part 5 - Factor out common part of nsDOMCSSDeclaration::Parse{,Custom}PropertyValue. r=heycam
MozReview-Commit-ID: 6IX8sWF4Vhn
2017-04-04 15:28:07 +10:00
Xidorn Quan
93655e51b9 Bug 1343964 part 1 - Move URLExtraData into its own header. r=heycam
This patch does the following in addition to a simple move:
* change the type of the pointers from RefPtr to nsCOMPtr
* move it from mozilla::css namespace to mozilla

MozReview-Commit-ID: 72MYq6kWm4s
2017-04-04 10:04:13 +10:00
Xidorn Quan
d119ed8817 Bug 1352025 part 2 - Stop passing in url as string for parsing. r=manishearth
MozReview-Commit-ID: CRgOO7NyYd9
2017-04-01 16:17:55 +11:00
Xidorn Quan
95cf226194 Bug 1351957 - Create URLExtraData for holding base uri, referrer, and principal. r=heycam
MozReview-Commit-ID: 1wqTb3kvvWh
2017-03-30 18:54:48 +11:00
Manish Goregaokar
778095fea4 Bug 1341690 - stylo: Make URLs work in inline style; r=emilio
MozReview-Commit-ID: 6Tc0kBw4V8c
2017-03-10 18:28:02 -08:00
Manish Goregaokar
e1727077ec Bug 1329093 - Part 1: stylo: Handle SVG presentation attributes; r=bz
MozReview-Commit-ID: 9cymo3c9HIn
2017-03-09 17:46:21 -08:00
Boris Zbarsky
cdbd6b5265 Bug 1332353. Make it clearer when a stylesheet is really owned by its mDocument. r=heycam 2017-01-19 23:49:44 -05:00
Xidorn Quan
28332e39ad Bug 1323147 part 1 - Pass string and nsCSSPropertyID for property names across FFI. r=heycam,SimonSapin
MozReview-Commit-ID: 9m39cqaFfx
2016-12-16 10:02:48 +11:00
Xidorn Quan
2d70bdcd07 Bug 1307357 part 1 - Make css::Rule hold StyleSheet rather than CSSStyleSheet. r=heycam
MozReview-Commit-ID: JsJa4YqpCZy
2016-11-23 10:26:20 +11:00
Xidorn Quan
6e6287da7c Bug 1294299 part 12 - Implemnet setter of properties. r=SimonSapin,heycam
MozReview-Commit-ID: 4tGUowsn6AK
2016-11-03 14:41:02 +11:00
Xidorn Quan
318503405b Bug 1294299 part 11 - Implement getting and removing property. r=SimonSapin,heycam
MozReview-Commit-ID: 4xvfXR8mkfN
2016-11-03 14:41:02 +11:00
Xidorn Quan
cb21569555 Bug 1294299 part 10 - Implement DeclarationBlock.EnsureMutable. r=heycam
MozReview-Commit-ID: KpaypyY5moC
2016-11-03 14:41:02 +11:00
Xidorn Quan
6d9ed7b946 Bug 1294299 part 8 - Refactor interface provided by css::Declaration. r=heycam
The main targets of this refactor are:
1. Move most of the logic of distinguishing properties and custom
   properties from nsDOMCSSDeclaration into css::Declaration, which
   gives ServoDeclarationBlock more flexibility to implement.
2. Rename those methods of css::Declaration to provide a clear interface
   which makes sense for implementing in ServoDeclarationBlock, and also
   avoid method overload, which can impede the forward macro, on them.

MozReview-Commit-ID: 2cCqF855TVK
2016-11-03 14:41:02 +11:00
Xidorn Quan
c2da6da9bf Bug 1294299 part 5 - Implement getter and setter of cssText. r=heycam
MozReview-Commit-ID: Bho5PKtrT1I
2016-11-03 14:41:02 +11:00
Xidorn Quan
4ea430014e Bug 1294299 part 4 - Implement length and item getter. r=SimonSapin,heycam
MozReview-Commit-ID: IQs8Wjdsi1r
2016-11-03 14:41:02 +11: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
Xidorn Quan
3b2cf2153e Bug 1309109 part 5 - Store ServoDeclarationBlock rather than RawServoDeclarationBlock in nsAttrValue. r=heycam
MozReview-Commit-ID: HWqgjwif1qF
2016-10-18 15:29:03 +11:00
Xidorn Quan
7ba350b0a6 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
2016-09-26 22:03:25 +10: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