| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
This also moves LayerId and LayerProperties to gfx_traits.
Fixes #8836.
|
|
|
|
|
| |
Moved ScriptToCompositorMsg enum and EventResult enum to script_traits
resolving issue #8835.
|
|
|
|
| |
Adding layers and msg dependency to gfx_traits.
|
|
|
|
|
|
|
| |
moved from components/msg/constellation_msg.rs
to components/compositing/lib.rs
dependencies on compositing crate added in ports/cef/Cargo.lock
|
|
|
|
|
|
| |
Fixing unused attributes warnings required updating serde_macros
which required updating to rustc 1.6.0-nightly (a2866e387 2015-11-30)
which required updating some other dependencies.
|
|
|
|
|
| |
Multiprocess mode is enabled with the `-M` switch, and sandboxing is
enabled with the `-S` switch.
|
| |
|
| |
|
|
|
|
|
| |
This is currently limited to simple single-touch actions. It does not include
momentum scrolling or pinch zooming.
|
| |
|
|
|
|
|
|
|
| |
Unify all compositor shutdown code paths into two methods, one which
starts the shutdown and the other that finishes it. This simplifies the
way the compositor shuts down and prevents "leaking" pixmaps when
exiting in uncommon ways.
|
|
|
|
|
|
| |
This makes use of the new functionality that allows iframes to generate their own pipeline IDs in order to remove any knowledge of subpage ids from the compositor.
(This is the first of several commits removing subpage from parts of servo).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
each iframe.
The old code that attempted to do this during layout wasn't able to work
for multiple reasons: it couldn't know where the iframe was going to be
on the page (because of nested iframes), and at the time it was building
the display list for a fragment it couldn't know where that fragment was
going to be in page coordinates.
This patch rewrites that code so that both the sizes and positions of
iframes are determined by the compositor. Layout layerizes all iframes
and marks the iframe layers with the appropriate pipeline and subpage
IDs so that the compositor can place them correctly. This approach is
similar in spirit to Gecko's `RefLayer` infrastructure. The logic that
determines when it is time to take the screenshot for reftests has been
significantly revamped to deal with this change in delegation of
responsibility.
Additionally, this code removes the infrastructure that sends layout
data back to the layout task to be destroyed, since it is now all
thread-safe and can be destroyed on the script task.
The failing tests now fail because of a pre-existing bug related to
intrinsic heights and borders on inline replaced elements. They happened
to pass before because we never rendered the iframes at all, which meant
they never had a chance to draw the red border the tests expect to not
render!
Closes #7377.
|
| |
|
|
|
|
| |
This merges import blocks that were reported by tidy as unmerged.
|
| |
|
| |
|
|
|
|
| |
closes #7353
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Credits for Mike Blumenkrantz (@zmike), I just rebased against trunk and
fixed the url serialization.
Fixes #6178.
|
|
|
|
|
|
|
|
|
|
| |
We currently store LayerBuffers, because previously NativeSurfaces did
not record their own size. Now we can store NativeSurfaces directly,
which saves a bit of space in the surface cache and allows us to create
LayerBuffers only in the PaintTask.
This also means that instead of sending cached LayerBuffers, the
compositor can just send cached NativeSurfaces to the PaintTask.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add memory profiling for the compositor task
Currently only the BufferMap is recorded, but a later change will also
measure the memory usage of the compositor tree.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6640)
<!-- Reviewable:end -->
|
| |
| |
| |
| |
| | |
Currently only the BufferMap is recorded, but a later change will also
measure the memory usage of the compositor tree.
|
|/ |
|
|
|
|
|
|
|
|
|
| |
an IPC channel instead.
Because this used a boxed trait object to invoke messages across a
process boundary, and boxed trait objects are not supported across IPC,
we spawn a helper thread inside the compositor to perform the marshaling
for us.
|
|
|
|
|
|
|
|
| |
Now that NativeDisplay can be shared between the compositor and the
paint task, we can move the LayerBuffer cache to the compositor. This
allows surfaces to be potentially reused between different paint tasks
and will eventually allow OpenGL contexts to be preserved between
instances of GL rasterization.
|
|
|
|
|
| |
The compositing context, painting context and display metadata have all
been collapsed into a single NativeDisplay class.
|
| |
|
| |
|
|
|
|
| |
fixes #6166
|
|
|
|
|
|
| |
Part of #6224
I certainly didn't remove all of them; I avoided `unsafe` areas and also `components/script`
|
| |
|
|
|
|
|
|
| |
cef_load_handler::on_loading_state_change()
only adds the loading:true callback this time...
|
|
|
|
| |
Improves scrolling performance on Mac.
|
|
|
|
| |
This fixes a hang found while testing the jQuery test suite.
|
| |
|
|
|
|
| |
This allows most of the jquery test suite to run without exhausting thread resources.
|
|
|
|
|
|
|
|
|
|
|
|
| |
compositor.
The basic idea is it's safe to output an image for reftest by testing:
- That the compositor doesn't have any animations active.
- That the compositor is not waiting on any outstanding paint messages to arrive.
- That the script tasks are "idle" and therefore won't cause reflow.
- This currently means page loaded, onload fired, reftest-wait not active, first reflow triggered.
- It could easily be expanded to handle pending timers etc.
- That the "epoch" that the layout tasks have last laid out after script went idle, is reflected by the compositor in all visible layers for that pipeline.
|
|
|
|
| |
not being painted.
|
|
|
|
|
| |
This adds support for compositing to a PNG without actually quiting
the browser.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Spec: http://dev.w3.org/csswg/css-device-adapt/
Currently, the actual viewport is used by the layout task as part of the reflow, and the compositor uses the zoom constraints. I'm not sure if anywhere else currently needs access to the constraints (i.e. there's no CSSOM as far as I can tell).
I did not implement sections 9 (viewport <META>) or 10 (handling 'auto' for 'zoom').
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5361)
<!-- Reviewable:end -->
|
| | |
|
|/
|
|
| |
Final
|
|
|
|
|
|
|
|
|
|
| |
A rebuild after touching components/profile/mem.rs now takes 48 seconds (and
only rebuilds `profile` and `servo`) which is much lower than it used to be.
In comparison, a rebuild after touching components/profile_traits/mem.rs takes
294 seconds and rebuilds many more crates.
This change also removes some unnecessary crate dependencies in `net` and
`net_traits`.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Transition events are not yet supported, and the only animatable
properties are `top`, `right`, `bottom`, and `left`. However, all other
features of transitions are supported. There are no automated tests at
present because I'm not sure how best to test it, but three manual tests
are included.
|