Nazım Can Altınova
c06341bd27
servo: Merge #14509 - Implement background-position-x/y (from canaltinova:position); r=Manishearth
...
<!-- Please describe your changes on the following line: -->
This is a WIP PR. Just HorizontalPosition / VerticalPosition implementations are complete. I would like to get early feedbacks about this architecture. Here's some architectural topics to consider:
- I created `HorizontalPosition` and `VerticalPosition` structs for this and used them in `Position` as well. We have decided to split `Keyword` enum, but we need them as unified for `PositionComponent` enum. So I didn't split but I can split it if we prefer to change PositionComponent as well.
- If we prefer Keyword enum like this, we can create a SubPosition(or something like this) instead of HorizontalPosition/VerticalPosition enums since only difference is 2 lines in `parse` functions. We can create a `parse_horizontal` and `parse_vertical` instead and a lot of code duplication can be cleared.
- I couldn't find a good way to use HorizontalPosition/VerticalPosition's parse functions in `Position`'s parse function. It is a bit more complicated. I'm open to suggestions :)
- I don't know much about logical keywords so do I need to do something different? I placed some comments where logical keywords are processing.
Any advice about these?
---
<!-- 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 #14458 (github issue number if applicable).
<!-- Either: -->
- [X] There are tests for these 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: 5357f05ff785ee160d6b07de5d0e10aba199e578
2016-12-15 12:15:06 -08:00
..
2016-12-14 16:48:42 -08:00
2016-12-14 16:48:42 -08:00
2016-10-24 00:52:57 -05:00
2016-12-15 12:15:06 -08:00
2016-12-08 12:41:08 -08:00
2016-12-08 12:41:08 -08:00
2016-10-11 17:00:55 -05:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-12-08 12:41:08 -08:00
2016-12-14 13:53:51 -08:00
2016-12-14 13:53:51 -08:00
2016-10-07 07:52:09 -05:00
2016-12-14 13:53:51 -08:00
2016-12-14 15:29:43 -08:00
2016-12-14 15:29:43 -08:00
2016-12-14 15:29:43 -08:00
2016-12-14 15:29:43 -08:00
2016-12-06 17:30:40 -08:00
2016-12-12 20:34:51 -08:00
2016-10-07 07:52:09 -05:00
2016-10-07 07:52:09 -05:00
2016-12-08 12:41:08 -08:00
2016-12-14 16:48:42 -08:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-11-30 15:43:48 -08:00
2016-10-07 07:52:09 -05:00
2016-12-14 16:48:42 -08:00
2016-12-06 18:31:46 -08:00
2016-11-30 15:43:48 -08:00
2016-11-29 01:28:06 -08:00
2016-12-12 20:34:51 -08:00
2016-11-29 01:28:06 -08:00
2016-12-14 03:37:45 -08:00
2016-12-12 20:34:51 -08:00
2016-11-29 01:28:06 -08:00
2016-11-29 01:28:06 -08:00
2016-12-12 20:34:51 -08:00
2016-12-10 01:16:26 -08:00
2016-11-29 01:28:06 -08:00
2016-12-12 20:34:51 -08:00
2016-11-29 01:28:06 -08:00
2016-11-17 02:44:54 -06:00
2016-12-14 16:48:42 -08:00
2016-12-14 16:48:42 -08:00
2016-11-30 15:43:48 -08:00
2016-07-14 01:30:22 -07:00
2016-10-07 07:52:09 -05:00
2016-11-03 11:19:44 -05:00
2016-10-07 07:52:09 -05:00
2016-12-08 12:41:08 -08:00
2016-11-30 15:43:48 -08:00
2016-10-07 07:52:09 -05:00
2016-10-07 07:52:09 -05:00
2016-12-08 12:41:08 -08:00
2016-10-07 07:52:09 -05:00
2016-10-07 07:52:09 -05:00
2016-10-07 07:52:09 -05:00
2016-10-11 17:00:55 -05:00
2016-11-03 11:19:44 -05:00
2016-12-12 20:34:51 -08:00
2016-11-17 02:44:54 -06:00
2016-12-12 20:34:51 -08:00
2016-12-08 12:41:08 -08:00
2016-12-08 12:41:08 -08:00
2016-12-08 12:41:08 -08:00
2016-11-30 15:43:48 -08:00
2016-11-30 15:43:48 -08:00
2016-10-07 07:52:09 -05:00
2016-10-07 07:52:09 -05:00
2016-12-14 16:48:42 -08:00
2016-10-07 07:52:09 -05:00
2016-12-12 20:34:51 -08:00
2016-10-07 07:52:09 -05:00
2016-12-08 12:41:08 -08:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-10-07 07:52:09 -05:00
2016-10-07 07:52:09 -05:00
2016-12-14 16:48:42 -08:00
2016-11-03 11:19:44 -05:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-11-17 15:34:47 -06:00
2016-11-17 15:34:47 -06:00
2016-11-03 11:19:44 -05:00
2016-11-25 06:49:44 -08:00
2016-12-12 20:34:51 -08:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-04 06:43:56 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-12-08 12:41:08 -08:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-12-07 14:32:20 -08:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-12-14 16:48:42 -08:00
2016-11-30 15:43:48 -08:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-12-12 20:34:51 -08:00
2016-12-14 16:48:42 -08:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-25 06:49:44 -08:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-12-08 12:41:08 -08:00
2016-12-13 03:31:52 -08:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-12-12 20:34:51 -08:00
2016-12-14 12:13:06 -08:00
2016-12-03 13:23:27 -08:00
2016-12-07 14:32:20 -08:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-17 02:44:54 -06:00
2016-12-06 18:31:46 -08:00
2016-11-20 02:27:54 -06:00
2016-12-12 20:34:51 -08:00
2016-10-07 07:52:09 -05:00
2016-12-02 12:53:57 -08:00
2016-12-06 18:31:46 -08:00
2016-11-17 02:44:54 -06:00
2016-05-27 07:11:17 -05:00
2016-10-07 07:52:09 -05:00
2016-12-14 13:53:51 -08:00
2016-12-14 16:48:42 -08:00
2016-11-03 11:19:44 -05:00
2016-12-12 20:34:51 -08:00
2016-12-14 16:48:42 -08:00
2016-12-12 20:34:51 -08:00
2016-12-12 20:34:51 -08:00
2016-12-12 20:34:51 -08:00
2016-11-03 11:19:44 -05:00
2016-10-07 07:52:09 -05:00
2016-10-11 17:00:55 -05:00
2016-08-31 04:10:42 -05:00
2016-10-07 07:52:09 -05:00
2016-11-17 02:44:54 -06:00
2016-05-24 02:07:29 -07:00
2016-11-03 11:19:44 -05:00
2016-12-08 12:41:08 -08:00
2016-10-07 07:52:09 -05:00
2016-10-07 07:52:09 -05:00
2016-12-12 20:34:51 -08:00
2016-12-12 20:34:51 -08:00
2016-12-12 20:34:51 -08:00
2016-10-07 07:52:09 -05:00
2016-12-08 12:41:08 -08:00
2016-12-12 20:34:51 -08:00
2016-12-14 16:48:42 -08:00
2016-11-21 14:52:02 -06:00
2016-12-08 12:41:08 -08:00
2016-12-12 20:34:51 -08:00
2016-11-24 20:40:24 -08:00
2016-11-16 15:05:59 -06:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-11-03 11:19:44 -05:00
2016-12-14 16:48:42 -08:00
2016-10-07 07:52:09 -05:00
2016-10-07 07:52:09 -05:00
2016-08-31 04:10:42 -05:00
2016-12-08 12:41:08 -08:00
2016-11-30 15:43:48 -08:00
2016-11-17 02:44:54 -06:00
2016-11-17 02:44:54 -06:00
2016-12-12 20:34:51 -08:00
2016-12-12 20:34:51 -08:00
2016-10-07 07:52:09 -05:00
2016-11-30 15:43:48 -08:00
2016-12-12 20:34:51 -08:00
2016-12-12 20:34:51 -08:00
2016-12-12 20:34:51 -08:00
2016-11-21 14:52:02 -06:00
2016-10-07 11:10:01 -05:00
2016-12-14 16:48:42 -08:00
2016-11-25 06:49:44 -08:00
2016-11-25 06:49:44 -08:00
2015-10-10 15:00:39 -06:00
2016-11-03 11:19:44 -05:00
2016-11-30 15:43:48 -08:00
2016-11-30 15:43:48 -08:00
2016-11-30 15:43:48 -08:00
2016-12-12 20:34:51 -08:00
2016-11-30 15:43:48 -08:00
2016-12-12 20:34:51 -08:00
2016-11-30 15:43:48 -08:00
2016-12-12 20:34:51 -08:00
2016-11-30 15:43:48 -08:00
2016-11-30 15:43:48 -08:00
2016-12-06 18:31:46 -08:00
2016-11-30 15:43:48 -08:00
2016-12-08 12:41:08 -08:00
2016-12-14 16:48:42 -08:00
2016-12-08 12:41:08 -08:00
2016-12-12 20:34:51 -08:00
2016-11-17 15:34:47 -06:00
2016-10-07 07:52:09 -05:00
2016-11-17 15:34:47 -06:00
2016-12-14 16:48:42 -08:00
2015-10-21 07:57:32 -06:00
2016-10-07 07:52:09 -05:00