Commit Graph

188 Commits

Author SHA1 Message Date
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
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
Xidorn Quan
90f7282451 Bug 1269975 part 1 - Move nsCSSProps::EnabledState to a top level enum class mozilla::CSSEnabledState. r=heycam
MozReview-Commit-ID: 3KH5cqDFzUI
2016-05-10 18:44:05 +10:00
Ryan VanderMeulen
39f3eff072 Backed out 4 changesets (bug 1269975) for bustage.
Backed out changeset a55ecedea260 (bug 1269975)
Backed out changeset 5321545b938c (bug 1269975)
Backed out changeset 7e4a2ee61ef3 (bug 1269975)
Backed out changeset d181f8e7e4c3 (bug 1269975)
2016-05-10 00:08:54 -04:00
Xidorn Quan
38e4a7340d Bug 1269975 part 1 - Move nsCSSProps::EnabledState to a top level enum class mozilla::CSSEnabledState. r=heycam
MozReview-Commit-ID: 3KH5cqDFzUI
2016-05-10 13:36:25 +10:00
Markus Stange
bef2f38ef9 Bug 550426 - Use background-position-x/y when detecting scroll-linked effects. r=dbaron
MozReview-Commit-ID: 6qDFcaEBYEF
2016-04-25 18:56:47 -04:00
Wes Kocher
1a290e54b0 Backed out 10 changesets (bug 550426) for failures in browser_css_autocompletion.js
Backed out changeset 6ff2e12738ca (bug 550426)
Backed out changeset 10ee68fd318e (bug 550426)
Backed out changeset 324f4f602730 (bug 550426)
Backed out changeset 81306e78ccaa (bug 550426)
Backed out changeset 44b820f6fb3d (bug 550426)
Backed out changeset 987b6ff7262e (bug 550426)
Backed out changeset d505646974c7 (bug 550426)
Backed out changeset 2162ecc18859 (bug 550426)
Backed out changeset 1a030aba3acc (bug 550426)
Backed out changeset 3655883e7faf (bug 550426)

MozReview-Commit-ID: AlUihrLtlhL
2016-04-29 14:47:43 -07:00
Markus Stange
316742aa3d Bug 550426 - Use background-position-x/y when detecting scroll-linked effects. r=dbaron
MozReview-Commit-ID: 6qDFcaEBYEF
2016-04-25 18:56:47 -04:00
Kartikaya Gupta
7336599e16 Bug 1266288 - Track changes to all margin properties for scroll-linked effects. r=mstange
MozReview-Commit-ID: D0wN1TdFdtM
2016-04-21 11:41:17 -04:00
Kartikaya Gupta
c660d0e969 Bug 1229052 - Log a warning when we detect a scroll-linked effect based on the scroll event. r=roc 2015-12-14 14:47:24 -05:00
Kartikaya Gupta
3881869736 Back out 5 csets from bug 1229052 on a CLOSED TREE for failing to fix the nonunified build error even after many attempts. r=backout 2015-12-14 15:52:31 -05:00
Kartikaya Gupta
1c4abeb130 Bug 1229052 - Log a warning when we detect a scroll-linked effect based on the scroll event. r=roc 2015-12-14 14:47:24 -05:00
Cameron McCormack
654179bc68 Bug 990250 - Fold nsIStyleSheet into CSSStyleSheet. r=dbaron 2015-11-17 17:04:09 +11:00
L. David Baron
34598bbc44 Bug 978833 patch 10 - Raise consistent exceptions so that the exception doesn't depend on rule destruction timing. r=bzbarsky
Prior to patch 12, rule destruction for rules that were matched doesn't
happen until rule tree GC.  This means that GetCSSDeclaration is less
likely to return null, but then GetCSSParsingEnvironment might fail.
With StyleRule no longer participating in the rule tree, they're more
likely to be destroyed quickly, leading to the !olddecl failure case
instead of the !env.mPrincipal failure case.

This is needed to avoid patch 12 causing:
TEST-UNEXPECTED-FAIL | layout/inspector/tests/chrome/test_bug727834.xul | original rule is not available for modification anymore - got "NS_ERROR_FAILURE", expected "NS_ERROR_NOT_AVAILABLE"
2015-11-05 16:44:09 +08:00