Граф коммитов

83 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 1fdf0e61d3 Bug 1611912 - Add a style flag for the root element style. r=heycam
This is needed to make the root element not a containing block in presence of
filters or what not.

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

--HG--
extra : moz-landing-system : lando
2020-01-31 14:51:06 +00:00
Brian Grinstead f19f38776b Bug 1593119 - unifdef MOZ_XBL r=bzbarsky
This was generated with:

```
rg -l -g '*.{cpp,h}' MOZ_XBL . | while read FILE ; do
   echo $FILE
   unifdef -m -UMOZ_XBL $FILE
done
```

After this, I manually removed the directive in nsContentUtils.cpp due to:

  unifdef: ./dom/base/nsContentUtils.cpp: 4630: Unterminated string literal
  unifdef: Output may be truncated

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

--HG--
extra : moz-landing-system : lando
2019-11-07 00:35:13 +00:00
Brendan Dahl c68cd30ef2 Bug 1510785 - Only build XBL related code when MOZ_XBL is defined. r=bzbarsky
When XBL is disabled, no code in dom/xbl will be built. Also, adds ifdefs
to remove any of the XBL related code elsewhere. There's definitely more
that can be done here, but I think it's better to wait to do the rest of
the cleanup when we actually remove the code.

Depends on D45612

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

--HG--
extra : moz-landing-system : lando
2019-10-08 23:52:14 +00:00
Brian Birtles 65f06d35fe Bug 1253476 - Implement Animation.commitStyles; r=boris,emilio,bzbarsky,smaug
Differential Revision: https://phabricator.services.mozilla.com/D30327

--HG--
extra : moz-landing-system : lando
2019-05-20 06:04:23 +00:00
Emilio Cobos Álvarez 7d6f6c28d7 Bug 1536582 - Autogenerate Servo_ binding functions with cbindgen. r=boris
This depends on https://github.com/eqrion/cbindgen/pull/308. Other than that,
this should be ready to go.

There's still a bit more magic than what I'd like to eventually. I should be
able to make cbindgen not rename types if it doesn't know about them, or
something.

But this removes most of the manual binding function implementations (all but
the ones that are declared via macros, which cbindgen doesn't see across).

I need to give up on the _Drop functions taking an Owned<T> because of
instantiation order fiasco. In order to define DefaultDelete I need Owned to be
complete, but I cannot do it after including the generated file since some
declarations already instantiate the specialization. Oh well.

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

--HG--
rename : servo/components/style/cbindgen.toml => servo/ports/geckolib/cbindgen.toml
extra : moz-landing-system : lando
2019-03-30 20:18:33 +00:00
Cameron McCormack 3a08c03925 Bug 1474793 - Part 11: Add FFI API to use SharedMemoryBuilder. r=emilio
Depends on D17197

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

--HG--
extra : moz-landing-system : lando
2019-03-30 00:16:27 +00:00
Emilio Cobos Álvarez b3c3646515 Bug 1538694 - Cleanup refcounted types. r=boris
And make the handling of ComputedStyle more similar to these.

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

--HG--
extra : moz-landing-system : lando
2019-03-26 18:16:01 +00:00
Emilio Cobos Álvarez 72c43d2bf2 Bug 1538661 - Simplify Owned FFI types. r=boris
And make them actually sound. We're defining functions on Rust-land that get
structs as arguments, but declaring them in C++ as getting pointers.

This is another step in order to be able to autogenerate ServoBindings.h and
remove bindings.rs altogether.

We remove FooOwned in favor of Owned<Foo>, which is generated via cbindgen.

It'd be good to actually mark Owned and such as MOZ_MUST_USE_TYPE, so I sent
https://github.com/eqrion/cbindgen/pull/307 for that.

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

--HG--
extra : moz-landing-system : lando
2019-03-26 18:15:59 +00:00
Bogdan Tara b68e341245 Backed out 4 changesets (bug 1536584, bug 1538661, bug 1538694) for causing build bustages CLOSED TREE
Backed out changeset 563e8fb1be5d (bug 1538694)
Backed out changeset 7bd834c5800c (bug 1536584)
Backed out changeset f1eec8f7a3f8 (bug 1538694)
Backed out changeset 73a48619739e (bug 1538661)
2019-03-26 16:40:20 +02:00
Emilio Cobos Álvarez 67acdcda59 Bug 1538694 - Try to appease windows builds.
CLOSED TREE
2019-03-26 15:14:08 +01:00
Emilio Cobos Álvarez 45bc2e8f6c Bug 1538694 - Cleanup refcounted types. r=boris
And make the handling of ComputedStyle more similar to these.

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

--HG--
extra : moz-landing-system : lando
2019-03-26 13:26:33 +00:00
Emilio Cobos Álvarez 16705172ca Bug 1538661 - Simplify Owned FFI types. r=boris
And make them actually sound. We're defining functions on Rust-land that get
structs as arguments, but declaring them in C++ as getting pointers.

This is another step in order to be able to autogenerate ServoBindings.h and
remove bindings.rs altogether.

We remove FooOwned in favor of Owned<Foo>, which is generated via cbindgen.

It'd be good to actually mark Owned and such as MOZ_MUST_USE_TYPE, so I sent
https://github.com/eqrion/cbindgen/pull/307 for that.

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

--HG--
extra : moz-landing-system : lando
2019-03-26 13:25:42 +00:00
Emilio Cobos Álvarez ad066f1df7 Bug 1536586 - Simplify a bit our generated bindings by getting rid of FooBorrowed and FooBorrowedMut. r=heycam
This reduces a lot the boilerplate that's needed in order to add simple binding
functions.

This starts using &Foo and Option<&Foo> instead, and as a result we need to
remove the servo_function_signatures test, which is a bit unfortunate.

I think it's worth though, this causes problems on some platforms (see bug
1534844), and messing up the functions signature is not something that I've ever
seen (other than bug 1308234, which already had all the FooBorrowed mess which
I'm removing).

Also, cbindgen understands references and Option<&Foo>, so it will be the way to
go in the future.

After this patch we can also remove HasSimpleFFI, but I've kept it for now since
I still use it in a few places, and this patch is quite big on its own.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 17:00:27 +00:00
Emilio Cobos Álvarez d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Cameron McCormack 332883a726 Bug 1498755 - Part 11: Move Gecko borrowed FFI types to a separate header file r=emilio
Depends on D8652

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

--HG--
extra : moz-landing-system : lando
2018-10-14 00:06:13 +00:00
Cameron McCormack ef98f7b9be Bug 1498755 - Part 10: Move list of Servo Boxed types to a separate header file r=emilio
Depends on D8651

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

--HG--
extra : moz-landing-system : lando
2018-10-14 00:06:05 +00:00
Cameron McCormack 0733335852 Bug 1498755 - Part 8: Add comments to ServoBindingTypes.h r=emilio
Depends on D8649

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

--HG--
extra : moz-landing-system : lando
2018-10-14 23:29:59 +00:00
Cameron McCormack bfe5c432f4 Bug 1498755 - Part 7: Tweak a few things in ServoBindingTypes.h r=emilio
Depends on D8648

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

--HG--
extra : moz-landing-system : lando
2018-10-14 00:05:59 +00:00
Cameron McCormack f804c8ca6b Bug 1498755 - Part 6: Move some C++ types from ServoBindingTypes.h to ServoTypes.h r=emilio
Depends on D8647

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

--HG--
extra : moz-landing-system : lando
2018-10-14 00:05:56 +00:00
Cameron McCormack ab29a5a596 Bug 1498755 - Part 2c: Allow ServoBindings.h and GeckoBindings.h to be used separately r=emilio
Depends on D8643

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

--HG--
extra : moz-landing-system : lando
2018-10-14 00:05:48 +00:00
Emilio Cobos Álvarez ab460a4f52 Bug 1425700 - Make the counters non-atomic counters and merge afterwards. r=bholley
This was consistently faster in the benchmark (even when counters were disabled,
which was slightly suspicious, but...).

Anyway, it's not really much code, most of it is FFI copy-pasta.

Differential Revision: https://phabricator.services.mozilla.com/D3874
2018-08-28 15:58:24 +02:00
Emilio Cobos Álvarez 8d318c9b78 Bug 1468665: Don't call the before change closure with the locked declaration block. r=xidorn
Test Plan: No behavior change.

Reviewers: xidorn

Bug #: 1468665

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

MozReview-Commit-ID: JI18xI6aHCh
2018-06-19 12:58:29 +02:00
Emilio Cobos Álvarez 0fbd75e65f Bug 1466963: Provide a before-mutation closure to C++. r=xidorn,smaug
MozReview-Commit-ID: H2jwIeZoiBZ
2018-06-07 11:22:31 +02:00
Xidorn Quan 5896b33074 Bug 1461933 - Remove ServoBindings.h from ComputedStyleInline.h. r=emilio
For doing this, ServoComputedData is split into separate files, so that
files don't need to include ServoBindings.h just for accessing style
structs from ComputedStyles.

MozReview-Commit-ID: DPAd7PUUCl9

--HG--
extra : rebase_source : 7d6f739b7fb58a46e1624ba62e717412057ea9c1
2018-05-16 15:35:59 +10:00
Xidorn Quan 67fd806b66 Bug 1449087 part 2 - Use Servo data to back @font-face rule. r=emilio
This patch does the following things:
* Create a new class ServoFontFaceRule for CSSOM of @font-face rule
  which mostly follows how nsCSSFontFaceRule was implemented.
* Remove the old nsCSSFontFaceRule and binding code to create it.
* Have FontFace backed by Servo data via making mRule and mDescriptors
  of the class hold RawServoFontFaceRule like ServoFontFaceRule.

To keep this patch small, it effectively just delays the conversion
from Servo data to nsCSSValue from parsing to using. This may cause
worse performance if the font set is flushed repeatedly. Supposing we
don't flush font set very frequently, it may not be a big deal.

We may still want to remove the intermediate nsCSSValue conversion at
some point, and have everything converted to their final form directly
when used, but that can happen in followups.

There are some unfortunate bits from this change:
* We lose style sheet for logging in FontFaceSet. This is probably not
  all that worse, because we wouldn't have that before either if the
  page doesn't use CSSOM to visit it. But we should figure out some
  approach to fix it anyway.
* InspectorFontFace no longer shares the same rule object as CSSOM.
  This isn't really a problem if the @font-face rule isn't very mutable.
  Unless we want to make the rule returned from InspectorFontFace to be
  mutable (i.e. via inspector), not using the same object probably isn't
  too bad.

This patch switches the code we use to serialize stuff in FontFace and
CSSFontFaceRule, which leads to some failures in tests. Specifically,
the expected changes including:
* Value of font-family now can be serialized to identifier sequence like
  font-family property. The old code always serializes it to string,
  but it doesn't seem to have different requirement than the property.
  Blink can serialize to identifier as well.
* Family name inside local() is also changed to use the same way as
  family names elsewhere (i.e. can be identifier sequence). Blink has
  the same behavior as the old code, but I don't think it's a big deal.
* The order of descriptors serialized gets changed. I don't think it
  matters at all.
* Empty string as font-family via using string syntax is no longer
  considered invalid for FontFace. I don't find it is mentioned anywhere
  that it should be specifically treated invalid.


MozReview-Commit-ID: 32Fk3Fi9uTs

--HG--
extra : rebase_source : 6221ec8fc56de357b06dd27e770fb175348a2f77
2018-04-04 08:42:10 +10:00
Emilio Cobos Álvarez e341b20ec4 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 5dd797f154 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 ca5ac79cca 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 d39c5388fc Bug 1436059: Make XBL / Shadow DOM use AuthorStyles. r=xidorn
It's just a struct aggregating stylesheets + CascadeData, with a quirks_mode
parameter because XBL sucks so bad.

MozReview-Commit-ID: 7q99tSNXo0K
2018-02-16 16:54:34 +01:00
Emilio Cobos Álvarez 0e8ba9b1b5 Bug 1408308: Reland the bindings so the build isn't busted, but we don't need to backout the servo bits. r=me
That way we don't bust the build (for some reason the ASAN build choked in
ResponsiveImageSelector, I suspect due to missing includes).

MozReview-Commit-ID: 6I6Q7jiAFr0
2017-11-13 06:33:46 +01:00
Margareta Eliza Balazs 85280dc48c Backed out 1 changesets (bug 1408308) for bustage in [toolkit/library/target] r=backout on a CLOSED TREE
Backed out changeset b59ffea83e0a (bug 1408308)
2017-11-13 07:23:52 +02:00
Emilio Cobos Álvarez 58aae7a733 Bug 1408308: Integrate Servo SourceSizeList in ResponsiveImageSelector. r=Manishearth
This needs to dumb down the parsing in order to match what we do in Gecko and
pass more tests.

The remaining tests are just because of calc() in media queries and "or" media
expressions.

MozReview-Commit-ID: CXGdYVbojBL
2017-11-13 05:18:36 +01:00
Emilio Cobos Álvarez 2d5df88155 Bug 1410624: Add some declarations and bindings so the build isn't busted when servo-vcs-sync goes back alive. r=me,heycam
https://github.com/servo/servo/pull/18988 has merged a while ago in servo, but
since the sync service is down, I haven't been able to land the relevant patches
today.

This at least ensures that the build isn't busted when servo-vcs-sync goes back
up.

MozReview-Commit-ID: 9ohgwcnMc5T
2017-10-23 22:46:02 +02:00
Hiroyuki Ikezoe 5e34bc1f57 Bug 1329169 - Use atom for animation-name property. r=xidorn
MozReview-Commit-ID: 9yVWXVi1oXf

--HG--
extra : rebase_source : f0d8a731c3e6caaf248a0b0e25ef96370af3ecd8
2017-10-10 17:00:28 +09:00
Hiroyuki Ikezoe 3079b3e5d9 Bug 1406811 - Remove a duplicate entry for RawServoSelectorListBorrowed. r=emilio
MozReview-Commit-ID: CN4LbkY4IcU

--HG--
extra : rebase_source : 9de4bf17fdaf39edba3595d61add944551941fbf
2017-10-10 07:57:41 +09:00
Emilio Cobos Álvarez 48c5a32dc2 Bug 1404897: Add bindings to Servo selector lists. r=heycam
MozReview-Commit-ID: 4ZrWawDwuNe

--HG--
extra : rebase_source : 38248c72c8208200735fe4cf4516e374ea721080
2017-10-02 12:07:11 +02:00
Sebastian Hengst 66c0db70b2 Backed out changeset 1f1ff129684f (bug 1404897) for Android bustage at nsDocument.cpp:1414: undefined reference to 'Servo_SelectorList_Drop'. r=backout 2017-10-04 12:56:00 +02:00
Emilio Cobos Álvarez 6edc4a4c43 Bug 1404897: Add bindings to Servo selector lists. r=heycam
MozReview-Commit-ID: 4ZrWawDwuNe

--HG--
extra : rebase_source : de0f04b9155e9ad31596d7fd7b89585b8c1d753f
2017-10-02 12:07:11 +02:00
Sebastian Hengst 65ea166a53 Backed out changeset fda0d9bc93f0 (bug 1404897) for build bustage at nsIDocument.h:1181: bad implicit conversion constructor for 'SelectorList'. r=backout 2017-10-04 11:25:27 +02:00
Emilio Cobos Álvarez 3e01f33d28 Bug 1404897: Add bindings to Servo selector lists. r=heycam
MozReview-Commit-ID: 4ZrWawDwuNe
2017-10-04 11:01:26 +02:00
Josh Matthews a323bdfe53 Bug 1397971 - Share strings in URLDataValue with Rust. r=heycam
--HG--
extra : amend_source : 7946c76a40240baac44db6c1c6c7b0117ced4219
2017-09-15 13:11:37 -07:00
Cameron McCormack 7e913c1a93 Bug 1382925 - Part 1: Make Servo_StyleSet_NoteStyleSheetsChanged take a set of origins to dirty. r=emilio
MozReview-Commit-ID: KY29REU78tH

--HG--
extra : rebase_source : bc3ca1deb1fcc797e6156c8bd0656012eb9c4315
2017-08-12 18:19:22 +08:00
Manish Goregaokar efbe3a9af8 Bug 1386887 - Clean up FFI lifetimes to work on nightly; r=emilio
MozReview-Commit-ID: 5WAIVd6p2du
2017-08-03 15:49:25 -07:00
Manish Goregaokar 08c6de8178 Bug 1382017 part 4 Gecko piece - Rename ServoComputedValues -> ServoComputedData; r=heycam
ServoComputedValues is confusing because ComputedValues is actually
ServoStyleContext on the C++ side.

MozReview-Commit-ID: IQNVdfREAMt
2017-07-20 21:44:02 -07:00
Manish Goregaokar 26f3a98f78 Bug 1382017 part 4 Gecko piece - Remove usage of ServoComputedValues from most Gecko code; r=xidorn
MozReview-Commit-ID: 2NB4DgxMrL3
2017-07-20 17:27:05 -07:00
Brian Birtles 267881f1f1 Bug 1381389 - Append PropertyValuePair objects on Gecko side so they are initialized correctly; r=hiro
Without this mValue may end up looking like a valid nsCSSValue object and bad
things will happen when we try to clone it.

We could just assign mem::zeroed() to mValue but this array hacking on the Servo
side is already pretty nasty and mSimulateComputeValuesFailure would still
remain unassigned (and if we did try to assign it on the Servo side we'd need to
only assign it in debug builds). Unless this proves performance-critical, it's
probably best to just do this on the Gecko side.

MozReview-Commit-ID: 75nFsflhZUM

--HG--
extra : rebase_source : 0e5d94a7f6fdb6768983ba440a3ea69d65cbffbf
2017-07-20 14:38:54 +09:00
Manish Goregaokar 3597e8df2e Bug 1367904 - Part 13: stylo: Flatten ServoComputedValues into ServoStyleContext; r=bholley
This patch also removes the duplication of style contexts during the
restyle, because otherwise pointer equality of ServoComputedValues stops
holding (and we assert on that in a few places)

MozReview-Commit-ID: 7Evc1p8ZfM2
2017-07-17 21:01:02 -07:00
Manish Goregaokar f33beecc59 Bug 1367904 - Part 10: stylo: Switch Gecko over to ServoStyleContext; r=bholley
MozReview-Commit-ID: EmopKVjEzlz
2017-07-17 21:00:46 -07:00
Cameron McCormack a0ce63693c Bug 1372061 - Change StyleChildrenIterator FFI functions to use placement new/delete. r=bholley
MozReview-Commit-ID: BEWvJcaJxA

--HG--
extra : rebase_source : 48b4982001a305b95a88578cb278c3c6e4beac70
2017-06-27 23:56:13 -07:00