Commit Graph

402 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
c90fe62ec8 Bug 1473225 - Serialize a few more lengths with Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1934
2018-07-04 06:42:38 +00:00
Emilio Cobos Álvarez
65942fcd2c Bug 1472551 - Serialize font properties using Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1905
2018-07-01 23:00:18 +00:00
Emilio Cobos Álvarez
fc60c3b2e7 Bug 1472497 - Serialize list-style-type / list-style-image using Servo. r=xidorn
Differential Revision: https://phabricator.services.mozilla.com/D1903
2018-07-01 00:44:26 +00:00
Emilio Cobos Álvarez
d596bad293 Bug 1472443: Serialize content properties using Servo. r=xidorn
... and cleanup unused keywords / getters using the scripts in
layout/style/tools

Differential Revision: https://phabricator.services.mozilla.com/D1901

MozReview-Commit-ID: BRUGcje7X0q
2018-06-30 17:14:12 +02:00
Xidorn Quan
53f38b6f36 Bug 1471114 part 4 - Remove unused getter functions from nsComputedDOMStyle. r=emilio
This is done with the following script:
```python
#!/usr/bin/env python3

import re
import sys

from pathlib import Path

if len(sys.argv) != 2:
    print("Usage: {} objdir".format(sys.argv[0]))
    exit(1)

generated = Path(sys.argv[1]) / "layout" / "style"
generated = generated / "nsComputedDOMStyleGenerated.cpp"
RE_GENERATED = re.compile(r"DoGet\w+")
keeping = set()
with generated.open() as f:
    for line in f:
        m = RE_GENERATED.search(line)
        if m is not None:
            keeping.add(m.group(0))

HEADER = "layout/style/nsComputedDOMStyle.h"
SOURCE = "layout/style/nsComputedDOMStyle.cpp"

# We need to keep functions invoked by others
RE_DEF = re.compile(r"nsComputedDOMStyle::(DoGet\w+)\(\)")
RE_SRC = re.compile(r"\b(DoGet\w+)\(\)")
with open(SOURCE, "r") as f:
    for line in f:
        m = RE_DEF.search(line)
        if m is not None:
            continue
        m = RE_SRC.search(line)
        if m is not None:
            keeping.add(m.group(1))

removing = set()
remaining_lines = []
with open(HEADER, "r") as f:
    for line in f:
        m = RE_SRC.search(line)
        if m is not None:
            name = m.group(1)
            if name not in keeping:
                print("Removing " + name)
                removing.add(name)
                continue
        remaining_lines.append(line)

with open(HEADER, "w", newline="") as f:
    f.writelines(remaining_lines)

remaining_lines = []
is_removing = False
with open(SOURCE, "r") as f:
    for line in f:
        if is_removing:
            if line == "}\n":
                is_removing = False
            continue
        m = RE_DEF.search(line)
        if m is not None:
            name = m.group(1)
            if name in removing:
                remaining_lines.pop()
                if remaining_lines[-1] == "\n":
                    remaining_lines.pop()
                is_removing = True
                continue
        remaining_lines.append(line)

with open(SOURCE, "w", newline="") as f:
    f.writelines(remaining_lines)
```

MozReview-Commit-ID: ACewvZ9ztWp
2018-06-27 15:34:29 +10:00
Xidorn Quan
e5eaede4f5 Bug 1471114 part 3 - Drop the reference to getter functions we don't call. r=emilio
MozReview-Commit-ID: IbBayOwsjNX
2018-06-27 15:34:29 +10:00
Xidorn Quan
67ceea3e23 Bug 1471114 part 2 - Generate ComputedStyleMap entry list from property data. r=emilio
This changes the order of properties returned from gCS. The old order
doesn't make much sense, and other browsers don't agree on an identical
order either, so it should be trivial to change it. Also the spec isn't
super clear / useful in this case.

Several -moz-prefixed properties are excluded from the list due to their
being internal. I suspect they are never accessible anyway, so probably
nothing gets changed by this.

MozReview-Commit-ID: 9LfangjpJ3P
2018-06-27 15:34:29 +10:00
Olli Pettay
2e64f41c9f Bug 1428246 - The attributeChangedCallback is fired twice for the *first* style attribute change, r=peterv
The idea with this patch is that style code will first call
InlineStyleDeclarationWillChange before style declaration has changed, and SetInlineStyleDeclaration once it has changed.

In order to be able to report old attribute value, InlineStyleDeclarationWillChange reads the value and also calls AttributeWillChange (so that DOMMutationObserser can grab the old value). Later SetInlineStyleDeclaration passes the old value to
SetAttrAndNotify so that mutation events and attributeChanged callbacks are handled correctly.

Because of performance, declaration can't be cloned for reading the old value. And that is why the recently-added callback is used to detect when declaration is about to change (bug 1466963 and followup bug 1468665).

To keep the expected existing behavior, even if declaration isn't changed, but just a new declaration was created (since there wasn't any), we need to still run all these
willchange/set calls. That is when the code has 'if (created)' checks.

Since there are several declaration implementation and only nsDOMCSSAttributeDeclaration needs the about-to-change callback, GetPropertyChangeClosure is the one to initialize the callback closure, and the struct which is then passes as data to the closure.

Apparently we lost mutation event testing on style attribute when the pref was added, so test_style_attr_listener.html is modified to test both pref values.
2018-06-26 12:54:00 +03:00
Dan Glastonbury
ff951cc67d Bug 1467621 - P1: nsCSSShadowItem - Change nscolor to StyleComplexColor. r=xidorn
MozReview-Commit-ID: moE2CI7fT8
2018-06-19 14:18:33 +10:00
Emilio Cobos Álvarez
be973378dc Bug 1467722: Make nsComputedDOMStyle store an actual Element. r=heycam
MozReview-Commit-ID: FdfXvPARilD
2018-06-19 11:47:40 +02:00
Emilio Cobos Álvarez
33571ed1bf Bug 1467722: Don't return null for getComputedStyle when there's no pres shell. r=heycam
We need to deal with this case regardless from getPropertyValue, and this causes
pain and webcompat issues.

MozReview-Commit-ID: Gbpzq0N4O2T
2018-06-19 11:47:16 +02:00
Emilio Cobos Álvarez
4f6de7c474 Bug 1467536: Split GetPropertyValue from GetPropertyCSSValueWithoutWarning. r=xidorn
And remove the later.

MozReview-Commit-ID: BO3epOMe70w
2018-06-10 00:41:50 +02:00
Gurzau Raul
6564b555e7 Backed out 4 changesets (bug 1467536) for permafailing on layout/style/test/test_bug418986-2.html. a=backout
Backed out changeset 4e1cee0e0a48 (bug 1467536)
Backed out changeset 697892c54d63 (bug 1467536)
Backed out changeset 13b38c2d3251 (bug 1467536)
Backed out changeset 086eaeb69efa (bug 1467536)
2018-06-09 10:45:08 +03:00
Emilio Cobos Álvarez
92e884e61e Bug 1467536: Split GetPropertyValue from GetPropertyCSSValueWithoutWarning. r=xidorn
And remove the later.

MozReview-Commit-ID: BO3epOMe70w
2018-06-08 14:18:06 +02:00
Peter Van der Beken
886a1408ec Bug 1451973 - Split off process from non-process message managers. r=bz.
Process and non-process managers have different script loader interfaces
(ProcessScriptLoader/GlobalProcessScriptLoader vs FrameScriptLoader). The WebIDL
conversion used the same interface for some process and
non-process managers, but because of the different script loader interfaces they really
should be using separate interfaces.
2018-04-16 15:18:48 +02:00
Xidorn Quan
1be43ecdd9 Bug 1460456 part 3 - Add scrollbar-{face,track}-color properties. r=heycam
MozReview-Commit-ID: ImNfHHfzRdM
2018-05-10 10:40:17 +10:00
bobslept
d61777aa3b Bug 1459111 - Rename ServoCSSParsingEnvironment to ParsingEnvironment. r=emilio
MozReview-Commit-ID: Jl5aoarH0aU
2018-05-14 20:20:20 +02:00
Emilio Cobos Álvarez
de550d360c Bug 1408301: Remove getPropertyCSSValue. r=bz
It's been removed for a while on Nightly without any known regressions. This
gives us a full beta cycle of telemetry and two nightly cycles without the API
before shipping.

This only removes the API, followup work will replace serialization by Servo's,
and remove the remaining DOM interfaces.

MozReview-Commit-ID: 2m1taYg5xEr
2018-05-12 11:23:47 +02:00
Emilio Cobos Álvarez
273c47eac5 Bug 1458928: Remove GetCSSParsingEnvironment. r=xidorn
MozReview-Commit-ID: KXGM7JiUZAt
2018-05-03 17:41:48 +02:00
Xidorn Quan
03f92561ac Bug 1448759 part 1 - Make KTableEntry an independent type. r=heycam
MozReview-Commit-ID: oZfJAigThN
2018-04-29 21:17:26 +10:00
Brad Werth
eaf578995a Bug 1265342 Part 1: Add shape-margin to style system (Gecko bindings). r=xidorn
MozReview-Commit-ID: 3G0ZpWDrumg
2018-02-07 17:27:04 -08:00
Narcis Beleuzu
87b92a12ca Backed out 20 changesets (bug 1265342) for mochitest-plain-headless failures on layout/style/test/test_first_letter_restrictions.html. CLOSED TREE
Backed out changeset 6c80ec2d0398 (bug 1265342)
Backed out changeset 62d571916086 (bug 1265342)
Backed out changeset fd247f38f8a7 (bug 1265342)
Backed out changeset 83aee3dafe4b (bug 1265342)
Backed out changeset 9b200122014e (bug 1265342)
Backed out changeset a90aa063b2fd (bug 1265342)
Backed out changeset 0791ff3d9194 (bug 1265342)
Backed out changeset 7109288f10b3 (bug 1265342)
Backed out changeset 048cce2fb99f (bug 1265342)
Backed out changeset c8e3dbc6c729 (bug 1265342)
Backed out changeset 09da0968333a (bug 1265342)
Backed out changeset d16f7ff85677 (bug 1265342)
Backed out changeset 53eb7f14463d (bug 1265342)
Backed out changeset 64fc631ef122 (bug 1265342)
Backed out changeset 332382c708e1 (bug 1265342)
Backed out changeset a8695981eec0 (bug 1265342)
Backed out changeset ce473fa5f1f4 (bug 1265342)
Backed out changeset 5ee470e75a53 (bug 1265342)
Backed out changeset 802aa95a52d9 (bug 1265342)
Backed out changeset 5da0c34c9600 (bug 1265342)
2018-04-24 22:31:15 +03:00
Brad Werth
752d6a172e Bug 1265342 Part 1: Add shape-margin to style system (Gecko bindings). r=xidorn
MozReview-Commit-ID: 3G0ZpWDrumg
2018-02-07 17:27:04 -08:00
Mats Palmgren
9b444b6c41 Bug 1398482 part 2 - [css-grid][css-flexbox][css-multicol] Add 'row-gap' and 'gap' properties; make 'grid-[column|row]-gap' and 'grid-gap' alias the respective unprefixed properties (Gecko part). r=dholbert 2018-04-24 01:52:51 +02:00
Emilio Cobos Álvarez
911112dfd6 Bug 1443950: Go back to using getComposedDoc for the computed style by default. r=bz
Now that NODE_FORCE_XBL_BINDINGS is gone, the only reason OwnerDoc() was added
in bug 1432490 is also gone.

Let's go back to using the composed doc, at least until the CSSWG decides on
what's the computed style of something that's not in[1].

[1]: https://github.com/w3c/csswg-drafts/issues/1548

MozReview-Commit-ID: EV1c46kkUva
2018-03-28 03:25:47 +02:00
Jonathan Watt
baf9ffb02b Bug 1448714 - Fix up comments referring to 'style context' after the rename of nsStyleContext. r=emilio 2018-03-23 13:49:21 +00:00
Xidorn Quan
e74c1e1696 Bug 1448526 part 2 - Make nsStyleStructList.h not generated. r=emilio
nsStyleStructList.h was initially made generated in bug 873368 to avoid
manually maintaining boilerplate for if-dispatch, while the if-dispatch
was replaced by jump table in bug 1171842, so the boilerplate went away.

However, in bug 1122781 (before bug 1171842), boilerplate for dependency
check, so it still needs to be generated.

The dependency table is removed in the previous patch, so we no longer
have any boilerplate in the style struct list, and thus it doesn't need
to be generated anymore.

MozReview-Commit-ID: GkbJZ98ojbE
2018-03-26 20:09:17 +11:00
Emilio Cobos Álvarez
1800e02ed5 Bug 1448665: Simplify the unanimated style setup in nsComputedDOMStyle. r=xidorn
We never create nsComputedDOMStyle objects with an unanimated computed style, so
this can be much simpler.

MozReview-Commit-ID: 2NyBoErxRtV
2018-03-26 09:43:58 +02:00
Emilio Cobos Álvarez
b770e5be58 Bug 1448663: Remove unused field to please the static analysis and reopen the CLOSED TREE. r=me
Pending bug 1448665 for further cleanup.

MozReview-Commit-ID: 4YHjh3t0i7a
2018-03-25 18:46:58 +02:00
Emilio Cobos Álvarez
1d4859a89a Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez
97286b35c8 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez
1f5d8de5cc Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
Emilio Cobos Álvarez
7cc9505019 Bug 474655: Add a deprecation warning + use counter to GetPropertyCSSValue. r=bholley
The use counter comes built-in with the DeprecatedOperationList stuff.

MozReview-Commit-ID: 9Opag1NMp32
2018-03-15 18:22:32 +01:00
Emilio Cobos Álvarez
67649f5b73 Bug 1424963: Add ChromeOnly CSSStyleDeclaration::GetCSSImageURLs. r=bz
MozReview-Commit-ID: CISe5jaQbIQ
2018-03-14 11:07:41 +01:00
Emilio Cobos Álvarez
a373cb9e9b Bug 1443483: FlushTarget doesn't really make sense. r=xidorn
Summary:
FlushTarget wants to decide whether we should flush the parent document or all
of them. However, the only point of flushing parent documents is that media
query changes could affect the document we really want to flush.

That's completely pointless if we actually don't flush the subdocument, so just
skip doing that. This case is already checked (see the DocumentNeedsRestyle
stuff, which is also somewhat poorly named, which walks up the document chain).

Reviewers: xidorn

Bug #: 1443483

Differential Revision: https://phabricator.services.mozilla.com/D682

MozReview-Commit-ID: LiI7IrUBeqq
2018-03-07 01:09:46 +01:00
Jonathan Kew
73e7d73f9c Bug 1435692 - patch 2 - Implement the font-optical-sizing property in the Gecko style system, to control whether optical size is automatically applied. r=jwatt
MozReview-Commit-ID: ClcWeX6Hsvm
2018-03-03 22:12:11 +01:00
Emilio Cobos Álvarez
954d76f2db Bug 1432490: Make nsComputedDOMStyle::GetStyleContext / GetStyleContextNoFlush not take a presShell. r=bz
Everyone calls them with the shell of the current composed document, and this
allows the multi-presShell stuff to just be in UpdateCurrentStyleSources /
DoGetStyleContextNoFlush.

The only reason we need to use OwnerDoc()->GetShell() instead of the composed
doc in GetStyleContext / GetStyleContextNoFlush is Element::GetBindingURL, which
does expect to get the binding URL for stuff outside of the composed doc (and
changing that gave me a useless browser).

That's technically a behavior change on the cases that used to pass nullptr, but
I think all callers are fine with that. I could also just add a special function
for that particular case, it may be worth it.

MozReview-Commit-ID: 2XlnkgdgDCK
2018-02-25 02:23:59 +01:00
Chris Peterson
6758bf6a84 Bug 1436263 - Part 1: Replace final override virtual function specifiers with just final. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D
2018-02-05 22:46:57 -08:00
cku
29abd5148e Bug 1207734 - Part 5. Implement the getComputedStyle API for individual transform. r=birtles
MozReview-Commit-ID: 3w1kA6VCXsg
(grafted from ee81993c07a30fe5b8788d2ce6707967eb0a832a)
2017-12-19 14:33:09 +08: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
Boris Zbarsky
dc0c056826 Bug 1428610 part 1. Devirtualize nsICSSDeclaration::GetDocGroup. r=emilio
MozReview-Commit-ID: 7OGRkYTjTSQ
2018-01-30 14:48:26 -05:00
Hiroyuki Ikezoe
a177b1a3e2 Bug 1433846 - Drop nsComputedDOMStyle::GetPresShellForContent(), use nsContentUtils::GetPresShellForContent(). r=xidorn
MozReview-Commit-ID: JcpEpqP32Yi
2018-01-29 14:19:25 +09:00
Emilio Cobos Álvarez
f085fb7158 Bug 1429723: Remove -moz-border-*-colors. r=xidorn
MozReview-Commit-ID: 3P6f7rFcDa6
2018-01-22 18:14:07 +01:00
Chris Peterson
677bf4030c Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe
2017-11-05 19:37:28 -08:00
Edgar Chen
d9444e4dd3 Bug 1422197 - Add fast path to get DocGroup in binding code for [CEReactions]; r=smaug
MozReview-Commit-ID: HgbFo9ddr0o
2017-11-27 16:10:27 +08:00
Mats Palmgren
03018ea47a Bug 1422839 part 1 - Add internal overflow-clip-box-block/-inline properties and make overflow-clip-box a shorthand. r=dholbert
MozReview-Commit-ID: axoDaWnOJQ
2017-12-05 21:08:41 +01:00
Ting-Yu Lin
ce7a0e0ebb Bug 1265343 Part 1 - Add shape-image-threshold to style system. r=heycam
devtools/shared/css/generated/properties-db.js is generated by running
"./mach devtools-css-db"

MozReview-Commit-ID: 1U4yoQTDwxi
2017-11-27 15:01:25 +08:00
Botond Ballo
d2150a861f Bug 951793 - Style support for overscroll-behavior. r=heycam
MozReview-Commit-ID: IDAfBZy2D5p
2017-11-25 01:28:58 +01:00
Sebastian Hengst
df2429a1ad Backed out 15 changesets (bug 951793) because it landed before the necessary servo changes. r=backout requested by emilio on a CLOSED TREE
Backed out changeset ca8c86e229df (bug 951793)
Backed out changeset 6eef6403fa71 (bug 951793)
Backed out changeset a5e529f52fb1 (bug 951793)
Backed out changeset 054e837609d0 (bug 951793)
Backed out changeset 713a3c9617ce (bug 951793)
Backed out changeset 884913aa1668 (bug 951793)
Backed out changeset c3340b84e534 (bug 951793)
Backed out changeset 50fe3c6ac486 (bug 951793)
Backed out changeset be4e22e5c257 (bug 951793)
Backed out changeset 7055bd5dfc4e (bug 951793)
Backed out changeset fa6da1e723cf (bug 951793)
Backed out changeset 386f77004d89 (bug 951793)
Backed out changeset fa82cdc01408 (bug 951793)
Backed out changeset 867d8ea5355c (bug 951793)
Backed out changeset e61ac8e48971 (bug 951793)
2017-11-25 01:01:41 +02:00