Commit Graph

809 Commits

Author SHA1 Message Date
Kris Maglione
228589266b Bug 1472523: Part 2 - Avoid unnecessary string copies in preference caches. r=njn
MozReview-Commit-ID: 74svGlwMVF1
2018-06-30 23:07:30 -07: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
Xidorn Quan
c76750cdcb Bug 1471114 part 5 - Remove unused keyword tables. r=emilio
This is done with the following script:
```python
#!/usr/bin/env python3

import re
import subprocess

from pathlib import Path

HEADER = Path("layout/style/nsCSSProps.h")
SOURCE = Path("layout/style/nsCSSProps.cpp")

RE_TABLE = re.compile(r"\b(k\w+KTable)")
rg_result = subprocess.check_output(["rg", r"\bk\w+KTable"], encoding="UTF-8")
to_keep = set()
all = set()
for item in rg_result.splitlines():
    file, line = item.split(':', 1)
    name = RE_TABLE.search(line).group(1)
    path = Path(file)
    if path != HEADER and path != SOURCE:
        to_keep.add(name)
    else:
        all.add(name)

to_remove = all - to_keep
remaining_lines = []
with HEADER.open() as f:
    for line in f:
        m = RE_TABLE.search(line)
        if m is not None and m.group(1) in to_remove:
            print("Removing " + m.group(1))
            continue
        remaining_lines.append(line)
with HEADER.open("w", newline="") as f:
    f.writelines(remaining_lines)

remaining_lines = []
removing = False
RE_DEF = re.compile(r"KTableEntry nsCSSProps::(k\w+KTable)\[\]")
with SOURCE.open() as f:
    for line in f:
        if removing:
            if line == "};\n":
                removing = False
            continue
        m = RE_DEF.search(line)
        if m is not None and m.group(1) in to_remove:
            if remaining_lines[-1] == "\n":
                remaining_lines.pop()
            removing = True
            continue
        remaining_lines.append(line)
with SOURCE.open("w", newline="") as f:
    f.writelines(remaining_lines)
```

MozReview-Commit-ID: FeDZRcBceqV
2018-06-27 15:34:29 +10:00
Xidorn Quan
87d149f551 Bug 1463917 part 1 - Add scrollcorner to -moz-appearance so that widget can render it. r=heycam
MozReview-Commit-ID: 1Za22ifONfG
2018-05-11 10:12:17 +10:00
Nazım Can Altınova
3dfbc40cf8 Bug 1451289 - Part 10: Merge ServoImportRule and CSSImportRule r=emilio
MozReview-Commit-ID: JvHNGoX4AUF
2018-06-06 15:31:33 +02:00
Matthew Noorenberghe
10fa9f62a4 Bug 1466715 - Remove unimplemented -moz-appearance:window from XUL document elements on Windows and align on 'dialog' elsewhere. r=dao,emilio
Before this commit, we use `-moz-appearance: dialog;`[1] (mapping to NS_THEME_DIALOG) in global.css
on macOS for XUL root elements while on Windows[2] and Linux[3] we use `-moz-appearance: window;`
(mapping to NS_THEME_WINDOW).

From what I can tell NS_THEME_WINDOW behaves the same as NS_THEME_DIALOG on Linux[4], NS_THEME_WINDOW
doesn't do anything useful on macOS[5], and neither are implemented on Windows (bug 119737).

[1] https://dxr.mozilla.org/mozilla-central/rev/0ee6b755ab2ee6d2ab79b17cc97bd4e83424cbfc/toolkit/themes/osx/global/global.css#35
[2] https://dxr.mozilla.org/mozilla-central/rev/0ee6b755ab2ee6d2ab79b17cc97bd4e83424cbfc/toolkit/themes/windows/global/global.css#41
[3] https://dxr.mozilla.org/mozilla-central/rev/0ee6b755ab2ee6d2ab79b17cc97bd4e83424cbfc/toolkit/themes/linux/global/global.css#45
[4] All references to NS_THEME_WINDOW and NS_THEME_DIALOG seem to handle the other in the same way.
[5] https://dxr.mozilla.org/mozilla-central/search?q=regexp%3ANS_THEME_WINDOW%5Cb+path%3Acocoa&redirect=false

MozReview-Commit-ID: 6TGzDnMEY2y
2018-06-10 14:54:06 -07:00
Xidorn Quan
44dbdcf9ba Bug 1465628 part 1 - Use a static table for property preferences. r=emilio
MozReview-Commit-ID: 7tCdZyAlZc0
2018-05-31 13:49:25 +10:00
Dorel Luca
98ba7a517a Backed out 4 changesets (bug 1465628) for Eslint failure. CLOSED TREE
Backed out changeset 04f276eb2f0e (bug 1465628)
Backed out changeset e9cdff122793 (bug 1465628)
Backed out changeset 6832baa28e3f (bug 1465628)
Backed out changeset e5ac0c7a9fb4 (bug 1465628)
2018-06-05 04:00:30 +03:00
Xidorn Quan
c28f8ce021 Bug 1465628 part 1 - Use a static table for property preferences. r=emilio
MozReview-Commit-ID: 7tCdZyAlZc0
2018-05-31 13:49:25 +10:00
Morgan Rae Reschenberg
d80e0e78fa Bug 1463589 - Add contain:size and contain:content parsing functionality. r=emilio
MozReview-Commit-ID: 4fOqln3oOpC
2018-05-30 07:49:31 -07:00
Gerald Squelart
a16ba9f383 Bug 1457373 - Remove text-combine-upright digits option - r=xidorn
MozReview-Commit-ID: Ehzsd2rmBER
2018-05-17 15:29:17 +10:00
Margareta Eliza Balazs
35c529da56 Merge inbound to mozilla-central. a=merge 2018-05-11 12:36:02 +03:00
Brian Birtles
033b8ba988 Bug 1456394 - Rename AnimationEffectReadOnly to AnimationEffect; r=bz,hiro
MozReview-Commit-ID: 8jzJiCWt5vs
2018-05-07 11:15:16 +09:00
Kristen Wright
4c40873f14 Bug 1459367 - Convert NS_STYLE_IMAGELAYER_ATTACHMENT_* to enum class. r=manishearth
Converted NS_STYLE_IMAGELAYER_ATTATCHMENT_* vals to enum class, StyleImageLayerAttachment.
2018-05-08 15:05:33 -07:00
Xidorn Quan
d904d4ce35 Bug 1454591 part 5 - Generate subproperty lists from Servo data. r=heycam
I manually diffed the generated lists and the original ones from in
nsCSSProps.cpp. All generated lists seem to contain the same set of
subproperties as their old correspondents.

There are still some differences:

Order of subproperties of many shorthands is changed. There are many
comments in the old lists stating that the order is important, but they
are mostly for serialization. I auditted all users of the subproperty
lists, and it doesn't seem to me any of them relies on the order.

gOutlineRadiusSubpropTable is renamed to gMozOutlineRadiusSubpropTable
which I don't think is a problem at all, but maybe worth mentioning.

MozReview-Commit-ID: 190SBZfxVOW
2018-05-04 15:17:05 +10:00
Xidorn Quan
c99fb101b1 Bug 1457802 part 3 - Remove unused keyword tables. r=heycam
MozReview-Commit-ID: A94JflJh368
2018-04-30 09:56:26 +10:00
Xidorn Quan
d15c0375b6 Bug 1457802 part 1 - Remove nsCSSProps::GetColorName which is unused. r=heycam
MozReview-Commit-ID: GybpTh6GYYx
2018-04-30 09:20:53 +10:00
Xidorn Quan
3338b93df6 Bug 1448759 part 5 - Remove nsCSSPropList.h and nsCSSPropAliasList.h. r=heycam
MozReview-Commit-ID: EKx2g7CmvqB
2018-04-29 22:09:17 +10:00
Xidorn Quan
761ceb2e22 Bug 1448759 part 4 - Switch gAllSubpropTable to use generated ServoCSSPropList.h. r=heycam
MozReview-Commit-ID: IfzfFpw5ABz
2018-04-29 22:03:48 +10:00
Xidorn Quan
60ccc2c478 Bug 1448759 part 3 - Remove kKeywordTableTable and LookupPropertyValue. r=heycam
MozReview-Commit-ID: F2EbL0hSgPX
2018-04-29 21:41:29 +10:00
Xidorn Quan
24229a92ad Bug 1434130 part 15 - Remove kCSSRawPredefinedCounterStyles. r=emilio
MozReview-Commit-ID: 5aiU0VChbpY
2018-04-29 09:03:31 +10:00
Xidorn Quan
1ad9164042 Bug 1434130 part 14 - Remove nsCSSProps::kParseVariantTable. r=emilio
The parsevariant field is not removed from nsCSSPropList.h since that
file is going away soon anyway.

MozReview-Commit-ID: 3nRBQtmZRKG
2018-04-29 09:03:31 +10:00
Xidorn Quan
f0cd165e77 Bug 1456364 part 4 - Convert CSS_PROPERTY_* flags to a typed enum flags. r=emilio
MozReview-Commit-ID: 4mLPe5cH80N
2018-04-26 16:24:33 +02:00
Xidorn Quan
6ed2335d41 Bug 1456364 part 3 - Remove flags from nsCSSPropList.h. r=emilio
Some assertions are also removed because they are no longer necessary.
The script generating the flags guarantees those assertions hold.

MozReview-Commit-ID: BgXMBoRBJaJ
2018-04-26 16:24:32 +02:00
Andreea Pavel
c6bbb5991e Backed out 4 changesets (bug 1456364) for build bustages at /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/dom/AnimationEffectReadOnlyBinding.h:35 on a CLOSED TREE
Backed out changeset 020151240bb8 (bug 1456364)
Backed out changeset bc0aa5224d91 (bug 1456364)
Backed out changeset d919bbe7440c (bug 1456364)
Backed out changeset ab1472823e8a (bug 1456364)
2018-04-26 08:27:45 +03:00
Xidorn Quan
c6acf387e3 Bug 1456364 part 4 - Convert CSS_PROPERTY_* flags to a typed enum flags. r=emilio
MozReview-Commit-ID: 4mLPe5cH80N
2018-04-26 15:00:50 +10:00
Xidorn Quan
1896a40a77 Bug 1456364 part 3 - Remove flags from nsCSSPropList.h. r=emilio
Some assertions are also removed because they are no longer necessary.
The script generating the flags guarantees those assertions hold.

MozReview-Commit-ID: BgXMBoRBJaJ
2018-04-26 15:00:50 +10:00
Xidorn Quan
baa14002af Bug 1455576 part 4 - Remove CSS_PROPERTY_PARSE_FUNCTION and CSS_PROPERTY_VALUE_PARSER_FUNCTION flags. r=emilio
These are the only remaining flags that we don't generate from Servo
side. We can now assert flags are equal and switch kFlagsTable to use
ServoCSSPropList.h instead.

MozReview-Commit-ID: 6RhXeCf6DgK
2018-04-26 09:01:02 +10: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
Jonathan Watt
bd03a860aa Bug 1436048: Use user defined types for font-stretch / font-style. r=jfkthame,jwatt
Co-authored-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: 7ONYtICeAqb
2018-04-23 18:22:05 +02:00
Xidorn Quan
7d1a302649 Bug 1448757 part 3 - Remove nsDOMWindowUtils::GetAnimationTypeForLonghand and nsStyleAnimType. r=hiro
MozReview-Commit-ID: 8KsNSaDfsbN
2018-04-20 14:38:46 +10:00
Xidorn Quan
6cf4b08305 Bug 1454830 part 3 - Add CAN_ANIMATE_ON_COMPOSITOR in Servo side and propagate it to ServoCSSPropList.h. r=emilio
MozReview-Commit-ID: 2OBCliDY02g
2018-04-20 20:32:57 +10:00
Xidorn Quan
ef7c874047 Bug 1454830 part 2 - Add GETCS_NEEDS_LAYOUT_FLUSH flag in Servo side and propagate it to ServoCSSPropList.h. r=emilio
MozReview-Commit-ID: 5k08FWjobCg
2018-04-20 19:13:16 +10:00
Noemi Erli
b29c740318 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-19 12:58:43 +03:00
Xidorn Quan
36f0210ad2 Bug 1452542 part 7 - Replace some uses of nsCSSPropList.h and nsCSSPropAliasList.h with ServoCSSPropList.h. r=emilio
MozReview-Commit-ID: 5TVYITjAYy7
2018-04-17 16:57:04 +10:00
Xidorn Quan
ccaac7107a Bug 1452542 part 5 - Generate property list from Servo data. r=emilio,froydnj
With this change, we first generate a data file ServoCSSPropList.py from
Servo data, and then use this data to generate ServoCSSPropList.h.

This change itself serves as a checkpoint with a runtime check that all
information generated from Servo side matches what we have in the Gecko
side. Following patches will start replacing uses of nsCSSPropList.h
with either the data file or the header file.

The reason that it generates data file rather than header directly is
that, many users of PythonCSSProps.h invokes C++ preprocessor manually
to extract data from nsCSSPropList.h without passing in search paths,
so it is non-trivial to replace the use of nsCSSPropList.h there with
a generated header. Generating a Python data file would hopefully
simplify those users rather than adding more complexity to them.

I also thought about generating JSON rather than plain Python file, but
JSON doesn't allow trailing comma in array, which makes it less pretty
to generate via mako template.

MozReview-Commit-ID: CwK2oL88r6F
2018-04-16 14:08:20 +10:00
Xidorn Quan
80167f9152 Bug 1452542 part 4 - Have ENABLED_IN flags in nsCSSPropList.h match those in Servo side. r=emilio
MozReview-Commit-ID: 48t5u1D5rZX
2018-04-11 13:46:08 +10:00
Xidorn Quan
e4fac53317 Bug 1452542 part 3 - Use snake_case naming for nsCSSPropertyID of alias as well. r=emilio
MozReview-Commit-ID: 242ms8wBDIU
2018-04-11 13:44:30 +10:00
Andreea Pavel
09076bc3fd Backed out 7 changesets (bug 1452542) for failing toolkit/content/tests/chrome/test_arrowpanel.xul on a CLOSED TREE
Backed out changeset f206acff283f (bug 1452542)
Backed out changeset be97e652391f (bug 1452542)
Backed out changeset 4d3a028edaed (bug 1452542)
Backed out changeset 5619bba37cdd (bug 1452542)
Backed out changeset e83a797bdc61 (bug 1452542)
Backed out changeset 255e2feff19f (bug 1452542)
Backed out changeset fac55b1a0706 (bug 1452542)
2018-04-18 20:10:35 +03:00
Xidorn Quan
328128f3dc Bug 1452542 part 7 - Replace some uses of nsCSSPropList.h and nsCSSPropAliasList.h with ServoCSSPropList.h. r=emilio
MozReview-Commit-ID: 5TVYITjAYy7
2018-04-17 16:57:04 +10:00
Xidorn Quan
531901c25f Bug 1452542 part 5 - Generate property list from Servo data. r=emilio,froydnj
With this change, we first generate a data file ServoCSSPropList.py from
Servo data, and then use this data to generate ServoCSSPropList.h.

This change itself serves as a checkpoint with a runtime check that all
information generated from Servo side matches what we have in the Gecko
side. Following patches will start replacing uses of nsCSSPropList.h
with either the data file or the header file.

The reason that it generates data file rather than header directly is
that, many users of PythonCSSProps.h invokes C++ preprocessor manually
to extract data from nsCSSPropList.h without passing in search paths,
so it is non-trivial to replace the use of nsCSSPropList.h there with
a generated header. Generating a Python data file would hopefully
simplify those users rather than adding more complexity to them.

I also thought about generating JSON rather than plain Python file, but
JSON doesn't allow trailing comma in array, which makes it less pretty
to generate via mako template.

MozReview-Commit-ID: CwK2oL88r6F
2018-04-16 14:08:20 +10:00
Xidorn Quan
9134e6a4bd Bug 1452542 part 4 - Have ENABLED_IN flags in nsCSSPropList.h match those in Servo side. r=emilio
MozReview-Commit-ID: 48t5u1D5rZX
2018-04-11 13:46:08 +10:00
Xidorn Quan
31106a08a1 Bug 1452542 part 3 - Use snake_case naming for nsCSSPropertyID of alias as well. r=emilio
MozReview-Commit-ID: 242ms8wBDIU
2018-04-11 13:44:30 +10:00
Xidorn Quan
f0e1981a84 Bug 1454297 - Remove CSS_PROP_LOGICAL and friends. r=emilio
MozReview-Commit-ID: Euzbjf9qkmO
2018-04-16 16:23:33 +10:00
Xidorn Quan
082c495ca6 Bug 1453180 - Remove -x-system-font. r=emilio,heycam
We need to add the system font keywords separately in InspectorUtils so
that we don't regress values listed in inspector.

MozReview-Commit-ID: 7a8CKGeSn4K
2018-04-11 10:12:16 +10:00
Xidorn Quan
5d03c201b2 Bug 1452534 part 3 - Remove stylestruct_ field from CSS_PROP macro. r=emilio
MozReview-Commit-ID: 5SLzttlLlIH
2018-04-09 15:21:00 +10:00
Xidorn Quan
f34f157e61 Bug 1452534 part 2 - Remove nsCSSProps::kSIDTable. r=emilio
MozReview-Commit-ID: DD7sHVmIRIv
2018-04-09 14:34:15 +10:00
Jonathan Watt
b698c03721 Bug 1452040 - Get rid of NS_STYLE_FONT_WEIGHT_NORMAL and NS_STYLE_FONT_WEIGHT_BOLD. r=emilio 2018-04-06 14:53:25 +01:00
Nicholas Nethercote
8012e8456e Bug 1448225 - Convert StylePrefs to StaticPrefs. r=emilio
The new StaticPrefs machinery means that StylePrefs can be removed.

Note that this approach mirrors all static prefs into Rust, but I have only
updated structs.rs for the prefs that Stylo uses.

On a CLOSED TREE, since a sheriff closed the tree while I was about to land this
via autoland.

MozReview-Commit-ID: G1SY0987WJ7
2018-04-03 09:06:20 +02:00
Daniel Holbert
dc15017b37 Bug 1105111 part 2: Add support for 'flex-basis:content' in the style system (gecko / getComputedStyle side). r=mats
MozReview-Commit-ID: E0crFCy7Jfk
2018-04-02 04:30:37 +02:00