Commit graph

150 commits

Author SHA1 Message Date
Simon Sapin
c710b104be servo: Merge #12515 - Make the style crate more concrete (from servo:concrete-style); r=bholley
Background:

The changes to Servo code to support Stylo began in the `selectors` crate with making pseudo-elements generic, defined be the user, so that different users (such as Servo and Gecko/Stylo) could have a different set of pseudo-elements supported and parsed. Adding a trait makes sense there since `selectors` is in its own repository and has others users (or at least [one](https://github.com/SimonSapin/kuchiki)).

Then we kind of kept going with the same pattern and added a bunch of traits in the `style` crate to make everything generic, allowing Servo and Gecko/Stylo to do things differently. But we’ve also added a `gecko` Cargo feature to do conditional compilation, at first to enable or disable some CSS properties and values in the Mako templates. Since we’re doing conditional compilation anyway, it’s often easier and simpler to do it more (with `#[cfg(feature = "gecko")]` and `#[cfg(feature = "servo")]`) that to keep adding traits and making everything generic. When a type is generic, any method that we want to call on it needs to be part of some trait.

----

The first several commits move some code around, mostly from `geckolib` to `style` (with `#[cfg(feature = "gecko")]`) but otherwise don’t change much.

The following commits remove some traits and many type parameters through the `style` crate, replacing them with pairs of conditionally-compiled API-compatible items (types, methods, …).

Simplifying code is nice to make it more maintainable, but this is motivated by another change described in https://github.com/servo/servo/pull/12391#issuecomment-232183942. (Porting Servo for that change proved difficult because some code in the `style` crate was becoming generic over `String` vs `Atom`, and this PR will help make that concrete. That change, in turn, is motivated by removing geckolib’s `[replace]` override for string-cache, in order to enable using a single Cargo "workspace" in this repository.)

r? @bholley

---
<!-- 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 #__ (github issue number if applicable).

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

<!-- 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: 2d01d41a506bcbc7f26a2284b9f42390d6ef96ab

--HG--
rename : servo/ports/geckolib/selector_impl.rs => servo/components/style/gecko_selector_impl.rs
rename : servo/ports/geckolib/values.rs => servo/components/style/gecko_values.rs
rename : servo/ports/geckolib/properties.mako.rs => servo/components/style/properties/gecko.mako.rs
2016-07-20 02:58:34 -05:00
Pu Xingyu
c6e9f4bd56 servo: Merge #12382 - layout: Clear non-inherited properties on anonymous block (from stshine:anonymous-block); r=SimonSapin
<!-- Please describe your changes on the following line: -->

This is one of my pull requests that imlement basic flexible box layout.
This pull request adds a `modify_style_for_anonymous_flow()` function to use initial values for non-inherited properties and parent values for inherited properties as the flow style. It also set border and outline to zero and set the display property from the parameter. This function may also be reused to modify style of anonymous table object in the future.
Part of code comes from `cascade_anonymous()` from @SimonSapin .

---
<!-- 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 flexbox is not implemented yet.

<!-- 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: 9b01a4cc97af29b81f92a403992d0498d4290f4f
2016-07-11 16:19:52 -07:00
Pu Xingyu
3d109454f1 servo: Merge #12371 - Treat flex flow as block in float calculation (from stshine:flex-block-flow); r=notriddle
<!-- Please describe your changes on the following line: -->
This is on of my pull requests that implement basic flexible box layout.
Currently call `is_block_like()` on flex flow returns false. This would fix some errors in tests, for example 'flexbox-justify-content-horiz-001b.htm'.

---
<!-- 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 flexbox is not implemented yet.

<!-- 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: 27542e4165d63a9846def1be82babbc63aae081a
2016-07-11 09:31:03 -07:00
Anthony Ramine
cc183b15a7 servo: Merge #12224 - Remove some stuff from util (from nox:die-util-die); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 3b0dadda529a5ba45a8a0dc394187f43a66e7c1f

--HG--
rename : servo/components/util/print_tree.rs => servo/components/gfx_traits/print_tree.rs
rename : servo/components/util/workqueue.rs => servo/components/style/workqueue.rs
2016-07-04 12:57:00 -07:00
Ms2ger
ac18eb8bf1 servo: Merge #11822 - Avoid creating a LayoutContext in parallel::assign_inline_sizes (from Ms2ger:sharedcontext); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 44b0bddf413563890481fd77e43d3d073bd6b627
2016-06-23 03:03:02 -05:00
Ms2ger
874621db97 servo: Merge #11754 - Move ServoLayoutNode and related structs to script (from Ms2ger:wrapper-traits-prep2); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: ee8c5c5a67e1181eca163d3cd1189866d230b8f0

--HG--
rename : servo/components/script/reporter.rs => servo/components/script_layout_interface/reporter.rs
rename : servo/components/layout/incremental.rs => servo/components/script_layout_interface/restyle_damage.rs
2016-06-20 12:54:20 -05:00
Ms2ger
baf90775bd servo: Merge #11800 - Remove unused argument to place_float_if_applicable (from Ms2ger:place_float_if_applicable); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: c270622bfdd7a409c1a940322f630fd6cbd985c0
2016-06-20 08:17:13 -05:00
Patrick Walton
c3daa72338 servo: Merge #11398 - script: Keep the DOM-side viewport up to date when scrolling happens in WebRender (from pcwalton:webrender-viewport); r=glennw
This happens asynchronously, just as it does in non-WebRender mode.

This functionality is a prerequisite for doing proper display-list-based
hit testing in WebRender, since it moves the scroll offsets into Servo
(and, specifically, into the script thread, enabling iframe event
forwarding) instead of keeping them private to WebRender.

Requires servo/webrender_traits#55 and servo/webrender#277.

Partially addresses #11108.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 27d1f182713077395426a53a9c91ec35c95887ee
2016-05-31 20:54:29 -05:00
Patrick Walton
0d424df05f servo: Merge #10691 - layout: Fix float speculation with percentage inline sizes, rewrite vertical alignment, fix inline block ascent/descent computation, and fix absolute inline-block hypothetical boxes (from pcwalton:float-fixes); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 35ba29355f40f27b2febe87aad7d7ffba20160c0
2016-05-04 13:49:23 -07:00
Matt Brubeck
ff8a4f5c36 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
Samuel Harrington
3ee95bc97b servo: Merge #10941 - Remove dead code left over from #10085 (from samlh:patch-2); r=mbrubeck
cc @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: b5a23a16be861a837f7079244ca901fd0d0bef04
2016-04-30 09:44:25 -07:00
Emilio Cobos Álvarez
18f790ca50 servo: Merge #10815 - style: Support anonymous box pseudo-elements (from emilio:anonbox-gcs); r=SimonSapin,bholley
This is a work-in-progress that:

 * Adds support for some pseudo-elements to skip the cascade entirely, in an analogous way to Gecko's anonymous box pseudo-elements.
 * Takes rid of `StylistWrapper`, and uses `Arc::get_mut` instead.
 * Uses the first bullet to precompute the `-servo-details-content` pseudo's style.

I'd like @bholley to take a look before following, do you think that the aproach is the correct?
Also, @SimonSapin could want to put some eyes on it.

Depends on https://github.com/servo/rust-selectors/pull/81

Source-Repo: https://github.com/servo/servo
Source-Revision: 407f991c8aba5dcf5312bb2c34a3dd4fe12e5471
2016-04-29 14:27:16 -07:00
malayaleecoder
643c9837e8 servo: Merge #10320 - Rename imm_child_iter() and child_iter() (from malayaleecoder:master); r=KiChjang
Fixes #10286

Source-Repo: https://github.com/servo/servo
Source-Revision: 0a1efe4578e43c4ffc2f90ff0118660899a83ac4
2016-04-09 03:25:40 +05:01
Emilio Cobos Álvarez
6a77e7f71e servo: Merge #10252 - Implement ::selection pseudo-element (from emilio:selection); r=mbrubeck
It only supports `color` and `background`, for now, but it shouldn't be hard to add more properties (like text-shadow).

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 723989b9dddeb9bcdc28dc7d640fd6fd7247a27f
2016-03-31 00:18:07 +05:01
Per Lundberg
206f878009 servo: Merge #10277 - Renamed TComputedValues to ComputedValues (from perlun:rename-tcomputedvalues-to-computedvalues); r=SimonSapin
This is a followup to #10210, and a continuation of #10185.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0ec96ac02a6c40ffda98e1074ceb9874dd1fb3cb
2016-03-30 10:35:57 +05:01
Per Lundberg
ad08fc1cc0 servo: Merge #10210 - ComputedValues is now ServoComputedValues (from perlun:rename-computedvalues-to-servocomputedvalues); r=SimonSapin
This is the first part of #10185. More to follow. I have built this locally with both servo and geckolib without errors; let's see if it succeeds on all platforms as well.

Source-Repo: https://github.com/servo/servo
Source-Revision: 639fdd6b128e0cfd418e4ae0dd78de3f5aecac4c
2016-03-29 17:56:40 +05:01
Patrick Walton
818acd332f servo: Merge #10085 - layout: Rewrite the block formatting context/float inline-size speculation code (from pcwalton:floats-inout-revamp); r=mbrubeck
The old code tried to do the speculation as a single bottom-up pass
after intrinsic inline-size calculation, which was unable to handle
cases like this:

    <div>
        <div style="float: left">Foo</div>
    </div>
    <div>
        <div style="overflow: hidden">Bar</div>
    </div>

No single bottom-up pass could possibly handle this case, because the
inline-size of the float flowing out of the "Foo" block could never make
it down to the "Bar" block, where it is needed for speculation.

On the pages I tried, this regresses layout performance by 1%-2%.

I first noticed this breaking some pages, like the Google SERPs, several
months ago.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 1554331f06900e69f246ed9986a08aae91a0a71e
2016-03-26 06:39:41 +05:01
Bobby Holley
6e1def963d servo: Merge #10155 - Generalize the style structs (from bholley:generalize_style_structs); r=SimonSapin
This allows geckolib to pass gecko style structs and have the style system write to them directly, provided we implement all the traits.

Source-Repo: https://github.com/servo/servo
Source-Revision: 605842f193aedc1151ab38a99c49f693c76e5cf3
2016-03-25 02:58:33 +05:01
Bobby Holley
97c48a8863 servo: Merge #9976 - Remove lifetimes from Style/Layout traits (from bholley:remove_trait_lifetimes); r=SimonSapin
Right now, there's a huge amount of complexity in T{Node,Element,Document} and friends because of the lifetime parameter.

Before I started generalizing this code for use by Gecko, these wrappers were plain structs. They had (and still have) a phantom lifetime associated with them to prevent references to DOM nodes from leaking past the end of restyle, when they might be invalidated by a GC.

When I generalized them, I decided to put the lifetime on the trait as well, since there are some situations where the lifetime is, in fact, necessary. Specifically, they are necessary for the compiler to understand that all the things borrowed from all the nodes and elements and so on have the same lifetime (the lifetime of the restyle), rather than the lifetime of whichever particular element or node pointer the value was borrowed from. This come up in situations where we do |let el = node.as_element()| or |let n = el.as_node()| and then borrow something from the result. The compiler thinks the borrow lifetime is that of |el| or |n|, when it's actually longer.

In practice though, I think the style and layout algorithms we use don't run into this issue much, and we can hack around it where it comes up. So I think we should remove the lifetimes from the traits, which will let us aggregate the embedding-provided traits together onto a single meta-trait and significantly simplify the code.

Source-Repo: https://github.com/servo/servo
Source-Revision: aea8d8959dcb157a8cc381f1403246ce8ca1ca00
2016-03-15 02:34:53 +05:01
Patrick Walton
73f8220db0 servo: Merge #9843 - Optimize flat display lists (from pcwalton:optimize-flat-display-lists); r=mrobinson
Flat display lists were a 2x regression on the spheres demo. This patch series fixes that.

See the individual commits for more details.

r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: 55fc48e4c46917a0f036d0054fac296bb5719434
2016-03-04 02:20:04 +05:01
Glenn Watson
0bb8ab3918 servo: Merge #9841 - Fix unexpected overflow with overflow: hidden set (from glennw:extra-overflow); r=pcwalton
Fixes #9719.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3ff5082798825c6b5925ba4ef3553eb653700695
2016-03-03 00:06:50 +05:01
Martin Robinson
36406cdba8 servo: Merge #9756 - Flatten display list structure (from mrobinson:flat-display-lists-webrender); r=pcwalton
Instead of producing a tree of stacking contexts, display list
generation now produces a flat list of display items and a tree of
stacking contexts. This will eventually allow display list construction
to produce and modify WebRender vertex buffers directly, removing the
overhead of display list conversion.  This change also moves
layerization of the display list to the paint thread, since it isn't
currently useful for WebRender.

To accomplish this, display list generation now takes three passes of
the flow tree:

        1. Calculation of absolute positions.
        2. Collection of a tree of stacking contexts.
        3. Creation of a list of display items.

After collection of display items, they are sorted based upon the index
of their parent stacking contexts and their position in CSS 2.1
Appendeix E stacking order.

This is a big change, but it actually simplifies display list generation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62814f7cb486bc267a796b7ce58c51d59240fad0
2016-03-02 05:52:08 +05:01
Anthony Ramine
1b4c648862 servo: Merge #9686 - Move util::logical_geometry to style (from nox:mv-logical_geometry); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: eee0d4efeba1ee77e864a495b6e1992c8ad088cc

--HG--
rename : servo/components/util/logical_geometry.rs => servo/components/style/logical_geometry.rs
rename : servo/tests/unit/util/logical_geometry.rs => servo/tests/unit/style/logical_geometry.rs
2016-02-18 14:22:29 +05:01
Patrick Walton
98bb874f22 servo: Merge #9522 - layout: Separate out overflow-for-scrolling from overflow-for-paint (from pcwalton:two-overflows); r=mbrubeck
Closes #9484.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: fb3fe3d784c24cdfd8040af0282e5c2182ee2051
2016-02-05 10:29:50 +05:01
Simon Sapin
6bd2c3635f servo: Merge #9170 - Add CSS Multicolumn support with block fragmentation (from SimonSapin:multicol2); r=mbrubeck
![a](https://cloud.githubusercontent.com/assets/291359/12147538/bfb198ac-b499-11e5-9936-c54c93d0b1ed.png)

Includes/supersedes #8763.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e1f0495a922c5dddbc120f17ba5c933973537ed
2016-01-30 00:20:14 +05:01
Patrick Walton
12dbf27eaf servo: Merge #9405 - layout: Remove some bogus code that tried to handle absolutely-positioned flows separately when storing overflow (from pcwalton:absolute-positioning-overflow); r=glennw
This code dates back to the time when absolutely positioned flows were
ignored by all of their ancestors up to the containing block. This
hasn't been true for at least a year.

Closes #9306.
Closes #9309.
Is a partial fix for #9308.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 4755cc5c6211e845fc8081cb3c8a67b4bdbea5cc
2016-01-25 23:51:26 +05:01
Thomas Gummerer
5d45107881 servo: Merge #9236 - Move LayerType enum to gfx_trait (from tgummerer:fix-9220); r=Wafflespeanut
The LayerType enum is only used in gfx_traits and layout, so it
shouldn't be defined in msg.  Move the definition to gfx_traits
instead.

Fixes #9220

Source-Repo: https://github.com/servo/servo
Source-Revision: d3889b4be43eb4d637f2d1ac5d021603653601eb
2016-01-10 20:49:45 +05:01
Bobby Holley
9f58567604 servo: Merge #9110 - Hoist the rest of css/matching.rs (and its dependencies) into style/ (from bholley:hoist_matching_and_animation); r=SimonSapin
Slowly but surely.

This goes on top of #9103.

Fixes #9103.

Source-Repo: https://github.com/servo/servo
Source-Revision: f3075d13191df9b9c7858b324122872d057fbe4d
2016-01-04 23:05:35 +05:01
Brandon Fairchild
845411a627 servo: Merge #8938 - Move LayerKind and ScrollPolicy enums to gfx_traits (from nerith:gfx); r=Ms2ger
Fixes #8836.

Source-Repo: https://github.com/servo/servo
Source-Revision: 68c4f290c7c9ad7ea45fcea66e3c6b172e42be62
2015-12-23 18:09:51 +05:01
Alexander Mankuta
01d0a231d9 servo: Merge #8795 - Replace ZERO_RECT with Rect::zero() (from pointlessone:zero-rect); r=SimonSapin
This is a proposed in servo/servo#8792 clean up.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3995a7672d4b4ee3f2d6f348f2fe0a88964fc9c6
2015-12-03 21:12:03 +05:01
Bobby Holley
4a9f5d05c0 servo: Merge #8669 - Generalize layout to operate on arbitrary DOMs (from bholley:generalize_layout); r=pcwalton
This gets us to where we need to be in order to write a Gecko implementation of the layout wrapper and have things Just Work.

Note that this is somewhat more than we need for just running the style system. But there wasn't a clean place to cut, and I thought it was a good idea to just do a complete job on it now, which may save us effort and mismatches in the long run.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f732cfbb404bfd96c3ed3f71c4b9900b7ffbba2
2015-11-29 07:18:33 +05:01
Martin Robinson
acc0f49daf servo: Merge #8632 - Improve readability of flow tree dump (from mrobinson:flow-tree-dump); r=pcwalton
Use the PrintTree utility to improve the readability of flow tree
dumps. Blocks and fragments are now split over two dump levels, because
otherwise they are impenetrable. Also start printing the restyle damage of
fragments.

Source-Repo: https://github.com/servo/servo
Source-Revision: a2330f494316926dca9f64431d8357a093143d7d
2015-11-24 07:20:07 +05:01
Bobby Holley
e74fa4f2d3 servo: Merge #8639 - Use associated types for layout wrapper trait, and generalized ThreadSafeLayoutFoo (from bholley:generalize_wrappers2); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 711f516d80c9c0026744cd373d398dc294f14d2a
2015-11-24 03:32:32 +05:01
Ms2ger
039acf7bfe servo: Merge #8562 - Stop exposing the internal details of the layout crate (from Ms2ger:private-layout); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 2be0cb7827c6553b7dfa4d641bf3a1c72372ad3b
2015-11-18 19:04:36 +05:01
Ms2ger
a2f2801118 servo: Merge #8382 - Remove the unsafe Sync implementation for SharedLayoutContext (from Ms2ger:SharedLayoutContext-sync); r=eefriedman
Source-Repo: https://github.com/servo/servo
Source-Revision: 36cd1866086c97d6612289c9fd10f559d23304cf
2015-11-07 15:50:43 +05:01
Martin Robinson
3d6034f11c servo: Merge #8337 - Remove DisplayListBuildingResult (from mrobinson:remove-display-list-result); r=pcwalton
Always produce a DisplayList when processing nodes for display list
construction. StackingContexts are now added to the positioned content
section of DisplayLists. This makes the code a bit simpler and opens up
the possibility of producing a StackingContext in another section of
the DisplayList. This doesn't change behavior, but is a cleanup
prerequisite for proper inline stacking context support.

Source-Repo: https://github.com/servo/servo
Source-Revision: da25b8c848886d2fc875008de5adcaf13d7c9e99
2015-11-06 05:07:35 +05:01
Martin Robinson
e0c7e3eb45 servo: Merge #8334 - Eliminate LAYERS_NEEDED_FOR_DESCENDANTS flag (from mrobinson:eliminate-layers-needed); r=pcwalton
This flag is no longer necessary, because stacking contexts can now
create layers lazily for content that needs to be stacked above a
layer. This should reduce the number of layers on pages, hopefully
reducing overdraw.

Source-Repo: https://github.com/servo/servo
Source-Revision: acc0bf68736d6e4aee2e370bf91fc2465415aa6e
2015-11-05 06:35:11 +05:01
Glenn Watson
11639f24e6 servo: Merge #8306 - Change overflow calculation to be calculated after compute_absolute_position (from glennw:fix-abd-overflow); r=pcwalton
Also include absolutely positioned elements in the overflow rect calculation.

Fixes #7797.

Source-Repo: https://github.com/servo/servo
Source-Revision: ca56ebbb09f3c258d10e7a7fa276d42fe258d893
2015-11-04 07:46:58 +05:01
Martin Robinson
92570bfa5e servo: Merge #8266 - Mix stacking contexts into the positioned content list (from mrobinson:stacking-context-mix); r=pcwalton
Sometimes positioned content needs to be layered on top of stacking
contexts. The layer synthesis code can do this, but the current design
prevents it because stacking contexts are stored in a separate struct
member. In order to preserve tree order, mix stacking contexts into the
positioned content list, by adding a new StackingContextClass
DisplayItem. Such items do not have a base DisplayItem.

In some ways this simplifies the code, because we no longer have to
have a separate code path in the StackingContextLayerCreator.

Source-Repo: https://github.com/servo/servo
Source-Revision: 86e3add8fdc35fc6980bb63695781925607437b8
2015-11-04 06:53:43 +05:01
Patrick Walton
9ddbcb6897 servo: Merge #8299 - Fix several bugs causing the page to reflow on every mouse move event (from pcwalton:dont-reflow-on-hover); r=mbrubeck
After all these changes are applied, Hacker News and GitHub only repaint and reflow nodes that actually have hover styles applied when the mouse moves over them.

r? @mbrubeck

cc @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: 36c5dd4c8c543ed6767fe9dd367281b292d68dba
2015-11-04 05:59:46 +05:01
Ms2ger
7603e5f864 servo: Merge #8203 - Remove manual implementations of Send and Sync for BaseFlow (from Ms2ger:unsafe-impl-baseflow); r=nox
They don't appear to be necessary.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4e015b53781ce6ae26c8972fe5cfe82f0cc98b72
2015-10-26 03:48:19 -05:00
Adam Szopa
7ecd87862f servo: Merge #8099 - Remove explicit lifetimes which can be elided (from Darktori:master); r=mbrubeck
Fixes https://github.com/servo/servo/issues/8069

Source-Repo: https://github.com/servo/servo
Source-Revision: 941c06eb99533c6c1d55b4ad3b51804badf48a23
2015-10-20 17:30:57 -06:00
Eli Friedman
115d4c54e5 servo: Merge #7825 - Fully implement the "align descendants" rule for div (from eefriedman:div-align); r=mbrubeck
This adds -servo-left and -servo-right to complement -servo-center.

~~This intentionally doesn't try to address issue #7301.~~  Commit added to address #7301.

Source-Repo: https://github.com/servo/servo
Source-Revision: ab42ca42967354cba08d1dca83aa99a637bd7a6b
2015-10-08 12:20:55 -06:00
Glenn Watson
40d2827806 servo: Merge #7795 - Split Au type into separate crate, with minimal dependencies (from glennw:app-units-crate); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 35888e5a1d48511ec54ddf8c58f1c7b0c47c5d3c
2015-09-30 15:19:33 -06:00
Ravi Shankar
7d512d50d1 servo: Merge #7698 - sorted the declarations in various files (from Wafflespeanut:sorting); r=frewsxcv
This is a direct extract from my abandoned PR for a lint (#7546), along with some rather clumsy modifications (only on `components/script/dom/mod.rs` and `components/style/lib.rs`), because I had to sort some of the files again to make peace with tidy, which hasn't been educated about sorting yet!

Source-Repo: https://github.com/servo/servo
Source-Revision: a7208869f2903e36f9b2f540b55b50283d7df466
2015-09-23 15:02:56 -06:00
Brandon Fairchild
f7fb1e4b4a servo: Merge #7662 - Check for multiple import blocks separated by whitespace (from nerith:import); r=frewsxcv
Fixes #7381.

Source-Repo: https://github.com/servo/servo
Source-Revision: a0d3c9223f09757124b1520c4f17e94fa8bbe249
2015-09-19 13:34:51 -06:00
Martin Robinson
a8570d696e servo: Merge #7587 - Ensure unique LayerIds for pseudo-elements (from mrobinson:layer-id); r=pcwalton
Currently pseudo-elements, like the fragments created for ::before and
::after, with layers will have the same LayerId as the body of their
owning fragments. Instead all LayerIds should be unique.

Fixes #2010.

Source-Repo: https://github.com/servo/servo
Source-Revision: cf13e806fe2f4cf5ad5f30efd16d7bd3f501f8b3
2015-09-17 08:53:39 -06:00
Michael Howell
335a803aaa servo: Merge #7588 - Actually store the overflow for inline-block elements (from notriddle:master); r=pcwalton
Fixes #7571

Source-Repo: https://github.com/servo/servo
Source-Revision: 9e914ca0db2820b365c06deedb8b5325c63c007b
2015-09-17 00:53:04 -06:00
Martin Robinson
9546305f71 servo: Merge #7563 - Layerize StackingContexts that are on top of layers (from mrobinson:layerize-stacking-contexts); r=pcwalton
StackingContexts that should be painted on top of StackingContexts that
are already layerized should automatically get their own layer. This
will ensure proper painting order.

Source-Repo: https://github.com/servo/servo
Source-Revision: c0381c732569b9abe6282c6c750533bc271a2019
2015-09-09 10:52:56 -06:00
Manish Goregaokar
cf0446c9f9 servo: Merge #7536 - More clippy fixes (from Manishearth:clippyfix); r=Ms2ger
Elided almost all the lifetimes and removed needless returns. Mostly done by sed + manual fixes.

r? @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: c2c2646d37614ece5869af861993c3d619f6e003
2015-09-04 07:59:04 -06:00