Commit Graph

25 Commits

Author SHA1 Message Date
Nicholas Nethercote
32af6cf8e2 servo: Merge #18452 - Overhaul MallocSizeOf and related things (from nnethercote:bug-1398737); r=jdm
This patch makes the MallocSizeOf stuff in Stylo work more like the HeapSizeOf
stuff already in Servo, except better. In particular, it adds deriving support
for MallocSizeOf, which will make it easier to improve coverage.

The patch does the following.

- Combines servo/components/style/stylesheets/memory.rs and the heapsize crate
  into a new crate, malloc_size_of.

- Forks the heapsize_derive crate, calling it malloc_size_of, so that
  MallocSizeOf can be derived.

- Both the new crates have MIT/Apache licenses, like heapsize, in case they are
  incorporated into heapsize in the future.

- Renames the methods within MallocSizeOf and the related traits so they are
  more concise.

- Removes MallocSizeOfWithGuard.

- Adds `derive(MallocSizeOf)` to a lot of types, in some cases replacing an
  equivalent or almost-equivalent hand-written implementation.

- Adds stuff so that Rc/Arc can be handled properly.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because tested on Gecko side.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f4cb1861b172423781a369b2decca6c65d60546
2017-09-11 22:11:25 -05:00
Matt Brubeck
4c4826fcb1 servo: Merge #17577 - Bug 1348489 - stylo: Implement :-moz-window-inactive (from mbrubeck:inactive); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1348489

Source-Repo: https://github.com/servo/servo
Source-Revision: a24600d626384c6b3cd214a52ff251d706d59064
2017-06-30 10:13:01 -07:00
Sebastian Hengst
ec385a6bce Backed out changeset 90036d4d378e (bug 17564) because gecko-side patch caused bustage on Windows. r=backout on a CLOSED TREE 2017-06-29 22:27:32 +02:00
Matt Brubeck
759c1b1329 servo: Merge #17564 - Bug 1348489 - stylo: Implement :-moz-window-inactive (from mbrubeck:inactive); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1348489

Source-Repo: https://github.com/servo/servo
Source-Revision: 8f37de05b2bf3e45c686f5dc25b9d3a4a8c06471
2017-06-29 11:25:40 -07:00
Boris Zbarsky
cefb8eff5d servo: Merge #17418 - Add pseudo-classes to match on the state of the "dir" attribute (from bzbarsky:dir-pseudo-classes); r=emilio
Fixes the servo parts of Gecko bug 1373798 <https://bugzilla.mozilla.org/show_bug.cgi?id=1373798>

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1373798
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 27add56298c3f38ae6e7ee2b7242bef947aabf7c
2017-06-19 19:25:45 -07:00
Wes Kocher
b09b2c5822 servo: Merge #17415 - Revert "Add pseudo-classes to match on the state of the "dir" attribute." for preventing me from backing out a gecko-side patch (from KWierso:backout17409); r=jdm
The gecko patches in bug 1373798 broke some gecko-side tests, but they also fixed a stylo build failure that started when this commit merged from servo to autoland, so this needs to get reverted so I can cleanly back out those gecko patches.

This reverts commit e4660c2b5b62779e25432e5acf9d091ce6f04ddc.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fa72cd04d98c76b4edb924bc27d8d6a95c646621
2017-06-19 17:21:29 -07:00
Boris Zbarsky
5b0bc2b1d2 servo: Merge #17409 - Add pseudo-classes to match on the state of the "dir" attribute (from bzbarsky:dir-pseudo-classes); r=emilio
Fixes the servo parts of Gecko bug 1373798 <https://bugzilla.mozilla.org/show_bug.cgi?id=1373798>

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1373798

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 4ecddb0622dcb6fdb7a7bd5025dd12be293b30e1
2017-06-19 11:46:52 -07:00
Boris Zbarsky
18bf33909f servo: Merge #16873 - Fix dynamic updates when :dir matching changes in stylo (from bzbarsky:fix-dir-matching); r=emilio
This is the servo part of https://bugzilla.mozilla.org/show_bug.cgi?id=1364280

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1364280
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because Gecko has lots of tests for this and this is Gecko-only.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: ff5f90386b88eb08b483c56004f59ac2ab3df7ca
2017-05-15 11:40:40 -05:00
Cameron McCormack
00dcd5b0d5 servo: Merge #16831 - style: Support :-moz-autofill and :-moz-autofill-preview in Gecko (from heycam:autofill); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 52240c21d9da0f88928069c98d1480bd28395507
2017-05-12 17:32:21 -05:00
Cameron McCormack
3836692ceb servo: Merge #16806 - style: Fix IN_LOADING_STATE value (from heycam:state); r=bholley
;_;

Source-Repo: https://github.com/servo/servo
Source-Revision: 973bf7af406eafc0f2056effaa0b50036ccad6b3
2017-05-11 08:33:47 -05:00
Emilio Cobos Álvarez
3c6c9eda01 servo: Merge #16177 - Bug 1350140: stylo: Implement all the remaining state pseudo-classes (from emilio:stylo-pseudo-classes); r=heycam,jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1d98e3406a5acacfd5a203ede54f3df9b7c2a9a0
2017-03-29 08:48:12 -05:00
Boris Zbarsky
e385954a20 servo: Merge #16090 - Implement :required/:optional support for stylo (from bzbarsky:required-optional); r=emilio
Servo side of https://bugzilla.mozilla.org/show_bug.cgi?id=1349659

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 2124220a63c84d1f1562b010fe3869364336c4ac
2017-03-22 17:28:25 -07:00
Boris Zbarsky
fbff6a0a7d servo: Merge #16085 - Use less fragile and more readable numbering for ElementState (from bzbarsky:better-numbering-of-pseudoclasses); r=emilio
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's just cleanup preliminary to another change I'm working on.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 405ab82868b2743d8289b9b49359b0d14b5ad64b
2017-03-22 15:41:37 -07:00
Nazım Can Altınova
326a1ece85 servo: Merge #16028 - Stylo: Add support for -moz-* pseudo-classes for alt text (from canaltinova:pseudos-for-alt); r=Manishearth
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1341642](https://bugzilla.mozilla.org/show_bug.cgi?id=1341642)

<!-- Either: -->
- [X] These changes do not require tests because they are stylo changes.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: a2c33ac6e6e18c186e9af45274a7b8499ba1bc4c
2017-03-18 13:45:01 -07:00
Nazım Can Altınova
6bc8c9a9b9 servo: Merge #15983 - Stylo: Add some missing pseudo classes (from canaltinova:pseudo-classes); r=upsuper
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1341739](https://bugzilla.mozilla.org/show_bug.cgi?id=1341739)

<!-- Either: -->
- [X] These changes do not require tests because they are stylo changes.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 403bfdaaeef567904c7b8d55784fd5db8f60ed8a
2017-03-16 05:21:29 -07:00
Xidorn Quan
caa4ca7aa3 servo: Merge #14872 - stylo: Map more Gecko state bits to Servo state bits (from upsuper:bug1328806); r=bholley
This is the servo part of [bug 1328806](https://bugzilla.mozilla.org/show_bug.cgi?id=1328806) which has been reviewed by @bholley on Bugzilla.

r? @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: 83428ecef703e4bea9814b7969252d3d3c441885
2017-01-06 00:09:32 -08:00
Emilio Cobos Álvarez
31fc4e39a4 servo: Merge #14802 - Document more style modules (from emilio:no-missing-docs); r=Wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: 2ebcad10f58151a1c531d80794a0211ba12cbeb0
2016-12-31 15:34:51 -08:00
Jansen Jan
b54cd9aa0a servo: Merge #13489 - Add support for fullscreen #10102 (from farodin91:fullscreen); r=jdm
<!-- Please describe your changes on the following line: -->

I'm start working on fullscreen support.
@jdm Should be the entry_point in ScriptReflow a Option if fullscreen is enabled or point on the entry_node? For example the RootNode.

---

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #10102  (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b69e73594647319e95bd0fd36c2addabcee1e5d
2016-12-09 09:52:34 -08:00
Steve Melia
eb319caf89 servo: Merge #11726 - Issue 7720: Add target selector and update when scrolling to fragment (from sjmelia:7720_add_target_selector); r=mbrubeck
<!-- Please describe your changes on the following line: -->
Add the target pseudo selector and set/unset it during scrolling to fragment. This change is not complete as no repaint is triggered after the selector is added - it will only take effect after a repaint is triggered by e.g. hovering over another element. (See manual test)

I would like some help because i'm not sure how to resolve this; I can only think to call window.reflow.

I added a manual test case, don't think this counts really! I think the applicable automated test is in /tests/wpt/web-platform-tests/dom/nodes/Element-matches.html but it currently fails, I think due to the above.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #7720  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7a7bdf51adc3c5051f93c8044797c8fcaf89953c
2016-08-03 14:53:30 -05:00
Ms2ger
aaa1dae194 servo: Merge #11834 - Add some documentation to the style crate (from servo:style-docs); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 3809e4a23dc1423caa78385d2bfa0ea4d6eabbcb
2016-06-27 17:14:55 -05:00
Simon Sapin
c24ffc2dbc servo: Merge #11816 - Make the style crate (almost) build with a stable compiler (from servo:stable-style); r=nox
<!-- Please describe your changes on the following line: -->

The bulk of this is adding cargo features to make derived implementations of `heapsize` and `serde` traits optional.

"Almost" because `std::intrinsics::discriminant_value` is currently unstable and doesn’t have any stable replacement that I know of. For now, this PR conditionally replaces it with `unimplemented!()`.

r? @nox

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes <s>fix</s> are part of #11815 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not <s>require tests</s> *have tests yet* because that requires https://github.com/servo/servo/issues/11806, but I still want to land this before it bitrots. (Tests should check that the build succeeds with a stable compiler.)

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 0fb5d634a007f3d0424f95569ac3f83d500d054c
2016-06-22 09:43:20 -05:00
Anthony Ramine
bd3dbbacf6 servo: Merge #11572 - Implement :placeholder-shown (fixes #10561) (from nox:placeholder-shown); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 0f1f99a4bf3be2f695b402e8676c3b0b935cbc5b
2016-06-06 23:44:16 -05:00
Matt Brubeck
441472b6cd servo: Merge #10944 - Upgrade a bunch of dependencies (from mbrubeck:bitflags-0.6); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 8db0367301b5ad5ab5ea4704d57755c166cfd5de
2016-04-30 15:21:22 -07:00
Yoav Alon
d2060eed40 servo: Merge #10834 - added support for :read-only and :read-write pseudo-classes (from yoava333:master); r=SimonSapin
partial fix for https://github.com/servo/servo/issues/10732

It's not a full fix because:
1. there's a bug in wpt-test https://github.com/w3c/web-platform-tests/issues/2889#issuecomment-214144420
2. we don't fully support all input types (namely image, color, hidden and range), which are defaulted to input text. this means that :read-write which is applicable to input text is mis-handled in those cases.
3. we don't support contenteditable, which is also possibly :read-write

Source-Repo: https://github.com/servo/servo
Source-Revision: ac8406f4aebe1e8571319a1d56fc627ea5782e60
2016-04-29 08:12:18 -07:00
Emilio Cobos Álvarez
3a8bc8c62b servo: Merge #9510 - Update rust-selectors (from nox:bump-selectors); r=SimonSapin
This commits updates rust-selectors to use the generic parser, and as
such it moves the element state into the style crate.

Source-Repo: https://github.com/servo/servo
Source-Revision: ae20f2556bc7807b39b6649ac1f738644abcc26a
2016-02-03 06:34:11 +05:00