By forgetting the Some(), we caused type inference to convert to Option<T>
for optional non-nullable primitive arguments, and to Option<Option<T>> for
optional nullable primitive arguments (essentially the same thing). This
change brings the primitive codegen in line with the DOMString codegen.
Using distinct types for optionality and nullability would have prevented
this issue.
Source-Repo: https://github.com/servo/servo
Source-Revision: 3478105da9ed1503a60b2fadf71be95647aa7e9d
Pretty straightforward, except that Fedora doesn't provide a package with the MS core fonts, so devs have to build the package themselves.
Source-Repo: https://github.com/servo/servo
Source-Revision: 28baa1f4d1402584399abf07869b6bbfdb7c36eb
It's going away in the next Rust upgrade (mozilla/rust#13301). r? @larsbergstrom
We'll need to do the same in rust-layers.
Source-Repo: https://github.com/servo/servo
Source-Revision: aafadb65f2f5e318805a03f3bc9814eb1a8a50cc
This fixes an issue where a ChildFrameTree is inserted into a clone of its parent, rather than its "real" parent, as noted in #2124.
This moves `FrameTree::iter` and the methods that depend on it into a new trait that is implemented on `Rc<FrameTree>`, since it's safe to clone an `Rc<FrameTree>`.
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: a52248f765f92d0d20e4ee6465b3a8cc5d9c0c8c
Just some mostly-mechanical refactoring to remove unnecessary mutability and unnecessary exports in constellation.rs.
Source-Repo: https://github.com/servo/servo
Source-Revision: beb8513796e1db85d2dc05e0ab7abe43c213f211
We are calling `get` when we should call `borrow` or `borrow_mut`. This is causing bugs with iframes because we append the child frame to a copy of the parent's `children` vector rather than the original.
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: f6cd507e97927715e3123920c9d28f4a3a1ee6f2
There is no good reason to have both unwrap_object and unwrap_jsmanaged.
Removing unwrap_object simplifies the codegen and makes further
simplifications easier.
Source-Repo: https://github.com/servo/servo
Source-Revision: aacf261bb4903b45bc40c5e68648f7056467d93a
This removes the local variable and prefixes the argument with an underscore.
Neither is used right now.
Source-Repo: https://github.com/servo/servo
Source-Revision: e4f33eb9b9c51a79c0948d187afbf41aedb7280b
This moves the assertion from its only caller into the function itself, to
clarify that we don't intent to deal with any failure here.
Source-Repo: https://github.com/servo/servo
Source-Revision: 613e8dfaf24cf1043a7fa8517b07660ad845be86
This is a partial fix for #1959. This commit only addresses inline `<style>` elements. Next I will need to move `<link rel="stylesheet">` handling into shared code, but I wanted to get some early feedback on this piece first.
Source-Repo: https://github.com/servo/servo
Source-Revision: 18b5453e09e1f67653888a81578325bab7472717
This improves the code written for #1822 to use a single linear traversal.
The current code uses a binary search with `CompareDocumentPosition()` for comparing element position, however this method internally calls `traverse_preorder()` (i.e. a linear traversal) so calling this on every pass is quite inefficient.
Source-Repo: https://github.com/servo/servo
Source-Revision: b174a6439bffe849d368b6709b143b9225894026
Fixes#1527. Does *not* include the code for #1528.
(Originally by @jdm in #1688 and #1866.)
Source-Repo: https://github.com/servo/servo
Source-Revision: 9d2a6b78244cf17c35f464d8a961ce04e70fe680
If <span> element has pseudo style, draw pseudo element.
Source-Repo: https://github.com/servo/servo
Source-Revision: 257e1c0130d6716178e2c61f1084b90fd2c94d7b
This fixes a pixmap leak and task failure (#2069).
Source-Repo: https://github.com/servo/servo
Source-Revision: 5d12dc805b2714ad2e3094ed84efe41281ec24d5
After clicking a link to load a new page, the new page content is never painted. This is because the compositor is still sending render messages to old frame tree's pipeline, not the new one.
This patch fixes this by ensuring that the compositor's new root layer is attached to the correct pipeline. (Note: You will also need to apply #2080 if you want to test this without crashing.)
Source-Repo: https://github.com/servo/servo
Source-Revision: 2b12be6266262e3ae2fa8e0fa78f98ddcf6cc549
This fixes a potential pixmap leak and task failure when the LayerBuffer is dropped (#1187).
I wasn't able to reproduce the failure using the steps from #1187, but based on the stack trace I think this is the correct fix. Alternately, would it make sense to `impl Drop for LayerBuffer`?
Source-Repo: https://github.com/servo/servo
Source-Revision: 08f53acd09c7682afd36cb7c65c41f4fbd7d68b3
This was part of @jdm's vtable branch, but I think it makes sense regardless of how we deal with that branch.
Source-Repo: https://github.com/servo/servo
Source-Revision: 69fbbbdf339c370b2eeb87983b550b9055ee6f83
There's more that I'd like to do, but this can land already.
Source-Repo: https://github.com/servo/servo
Source-Revision: 165950d02161a016d4b7af564407a75f3f1ff9cc
[Relevant spec](http://dev.w3.org/csswg/css2/box.html#collapsing-margins):
> top and bottom margins of a box that does not establish a new block formatting context and that has zero computed 'min-height', zero or 'auto' computed 'height', and no in-flow children
Source-Repo: https://github.com/servo/servo
Source-Revision: 0f0b0b33bf7375d834138a3bd3af9ba1921d390d