Commit graph

352 commits

Author SHA1 Message Date
bors-servo
3f407ea3d6 Auto merge of #9077 - bholley:split_layout_context_etc, r=SimonSapin
Split the style-related bits out of LayoutContext and hoist more stuff into style/

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9077)
<!-- Reviewable:end -->
2015-12-30 11:01:23 +05:30
bors-servo
0f5c614609 Auto merge of #9051 - bholley:split_style_and_layout_wrappers, r=SimonSapin
Split layout wrappers into style+layout and layout-only functionality

This is a step towards removing the dependency of stylo on layout/.

This PR depends on #9004.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9051)
<!-- Reviewable:end -->
2015-12-30 10:04:14 +05:30
Bobby Holley
a05d7f1dfd Hoist style-related context bits into style/.
We do a few things-here:
* Hoist non-layout-dependent fields in SharedLayoutData and LocalLayoutData into style/.
* Hoist parts of css/matching.rs into style/.
* Hoist parts of layout/animation.rs into style/animation.rs.
* Remove the duplicated-but-slightly-different definition of OpaqueNode.
2015-12-29 12:07:07 -08:00
Bobby Holley
47059d2d26 Separate style+layout and layout-specific wrapper functionality.
This patch does a number of things, unfortunately all at once:
* Hoists a large subset of the layout wrapper functionality into the style system.
* Merges TElementAttributes into the newly-created TElement.
* Reorganizes LayoutData by style vs layout, and removes LayoutDataShared.
* Simplifies the API for borrowing style/layout data.

There's still more to do to make the style system usable standalone, but
this is a good start.
2015-12-29 11:50:03 -08:00
Joe Kachmar
655268d111 Separate script and layout messages, issue #8843 2015-12-26 12:24:51 -05:00
Brandon Fairchild
637afecec9 Move LayerKind and ScrollPolicy enums to gfx_traits
This also moves LayerId and LayerProperties to gfx_traits.

Fixes #8836.
2015-12-20 20:43:31 -05:00
bors-servo
338f66003e Auto merge of #8995 - pcwalton:measure-text-shaping, r=mbrubeck
gfx: Measure text shaping time in the time profiler.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8995)
<!-- Reviewable:end -->
2015-12-17 10:57:29 +05:30
bors-servo
bc7158310c Auto merge of #8903 - KiChjang:layout-reporter-redirect, r=nox
fix for Layout memory reporter uses pre-redirect url

Rebase of #7612.

Fixes #6872.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8903)
<!-- Reviewable:end -->
2015-12-16 23:18:30 +05:30
Patrick Walton
df93b1f194 gfx: Measure text shaping time in the time profiler. 2015-12-15 13:28:05 -08:00
GauriGNaik
fc81276c8e Add pipeline information to CSS error reporting. 2015-12-14 11:18:30 -05:00
Tomas Cernaj
5507be2653 Move ScriptMsg from msg crate into script_traits 2015-12-09 20:50:11 +01:00
Keith Yeung
2ee446de5d Fix build errors after rebasing and address review comments 2015-12-09 10:56:21 -08:00
Arnaud Marant
8cdafe8ffc remove Option because it is never used as None 2015-12-09 02:10:40 -08:00
Arnaud Marant
239f1ae1a7 fix for Layout memory reporter uses pre-redirect url #6872 2015-12-09 01:58:11 -08:00
Bobby Holley
cf33f00018 Generalize the rest of layout to operate on generic Layout*.
There wasn't a good way to split this up, unfortunately.

With this change, the only remaining usage of the Servo-specific structures is
in layout_task, where the root node is received from the script task. \o/
2015-11-28 18:01:02 -08:00
GauriGNaik
996e9e06b2 Defined new trait ParseErrorReporter and added error_reporter member to ParserContext 2015-11-25 18:28:30 -05:00
Patrick Walton
e881f0feeb Write animated values into the ComputedValues structures when
animations complete or are interrupted.

This adds a new pair of reader-writer locks. I measured the performance
of style recalculation on Wikipedia and the overhead of the locks was
not measurable.

Closes #7816.
2015-11-24 19:50:52 -06:00
Martin Robinson
8dd664a438 Improve readability of flow tree dump
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.
2015-11-23 15:17:32 -08:00
Bobby Holley
afa3834f3b Rename ThreadSafeLayoutFoo to ServoThreadSafeLayoutFoo and TThreadSafeLayoutFoo to ThreadSafeLayoutFoo. 2015-11-21 11:26:49 -08:00
Bobby Holley
a85ae24c51 Hoist exported ThreadSafeLayoutFoo functionality into traits. 2015-11-21 11:25:20 -08:00
Ms2ger
b77576f34b Pass ServoLayoutNode to query functions.
This means we only deal with TrustedNodeAddress in LayoutTask::handle_reflow,
which is where the safety of this usage is guaranteed (by the ScriptReflow
destructor).
2015-11-20 14:34:10 +01:00
Patrick Walton
1c130819ca compositing: Split Servo up into multiple sandboxed processes.
Multiprocess mode is enabled with the `-M` switch, and sandboxing is
enabled with the `-S` switch.
2015-11-19 16:38:04 -05:00
Rizky Luthfianto
2c7117d73b refactor(layout_task.rs): move some functions to query.rs 2015-11-19 23:30:39 +07:00
Bobby Holley
2f6e94943a Rename Layout*Trait to Layout*.
The next step will be to remote the Servo-specificity of the layout code we want
to share by making it operate generically on Layout*.
2015-11-18 17:24:36 -08:00
Bobby Holley
9dd45b9f2a Prefix concrete types with 'Servo'. 2015-11-18 17:23:46 -08:00
Bobby Holley
54f2700ba6 Hoist exported wrapper functionality into a family of traits.
All the existing code still uses the concrete implementations, so this
shouldn't impact the generated code at all.
2015-11-18 17:23:29 -08:00
Keith Yeung
19294db6e5 Split ConstellationMsg into ScriptMsg and CompositorMsg 2015-11-16 23:10:53 -08:00
Ms2ger
a2c08413dd Remove AutoJoinScriptTask.
I don't believe there is a case where it would make sense to drop the
ScriptReflow struct without joining the script thread. This approach should
be somewhat more robust, and avoids the code smell of a RAII guard in an
otherwise unused variable.
2015-11-16 12:41:25 +01:00
bors-servo
33c97b2ebb Auto merge of #8529 - Ms2ger:unused-lifetime, r=eefriedman
Remove unused lifetime parameters from LayoutTask methods.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8529)
<!-- Reviewable:end -->
2015-11-15 01:32:35 +05:30
Hayden Faulds
c0f497d4ac remove unnecessary layout_chan 2015-11-12 13:52:08 +00:00
Hayden Faulds
5e7bf9cd9c remove chan from layout task 2015-11-12 13:15:17 +00:00
Hayden Faulds
66b85fe4fc make layout task fields private 2015-11-12 12:42:57 +00:00
Ms2ger
15245b31ae Remove unused lifetime parameters from LayoutTask methods. 2015-11-11 15:30:20 +01:00
Michael Howell
d32a2d6cfc Write reflow results, even with no root node.
Fixes #8240
2015-11-10 15:01:46 -07:00
Bobby Holley
7fa7936657 Implement attribute restyle hints.
Fixes #6942.
2015-11-10 11:57:24 -08:00
Ms2ger
1919e19633 Move viewport_size from LayoutTaskData to LayoutTask. 2015-11-09 09:04:05 +01:00
Ms2ger
dd920a06f3 Move epoch from LayoutTaskData to LayoutTask. 2015-11-09 09:04:04 +01:00
Ms2ger
4c3038f378 Pass the constellation_chan to animation::update_animation_state directly. 2015-11-09 09:04:03 +01:00
Ms2ger
c469d09543 Move running_animations from LayoutTaskData to LayoutTask. 2015-11-09 09:04:02 +01:00
Ms2ger
ee2b77e8f5 Move visible_rects from LayoutTaskData to LayoutTask. 2015-11-09 09:04:02 +01:00
Ms2ger
e8f31f2ed7 Move root_flow from LayoutTaskData to LayoutTask. 2015-11-09 09:04:01 +01:00
Ms2ger
53da53ef53 Move outstanding_web_fonts from LayoutTaskData to LayoutTask. 2015-11-09 09:04:00 +01:00
Ms2ger
5e4039d328 Move new_animations_receiver from LayoutTaskData to LayoutTask. 2015-11-09 09:03:59 +01:00
Ms2ger
604d1e8400 Move new_animations_sender from LayoutTaskData to LayoutTask. 2015-11-09 09:03:58 +01:00
Ms2ger
bdfa5fe804 Move generation from LayoutTaskData to LayoutTask. 2015-11-09 09:03:57 +01:00
Ms2ger
880fb9be0b Remove LayoutTaskData::image_cache_task. 2015-11-09 09:03:57 +01:00
Ms2ger
be178c0e5e Remove unused RwData arguments from LayoutTask::exit_now and LayoutTask::prepare_to_exit. 2015-11-09 09:03:56 +01:00
Ms2ger
dcea03c2b4 Move parallel_traversal from LayoutTaskData to LayoutTask. 2015-11-09 09:03:55 +01:00
Ms2ger
49691c1638 Make LayoutTask::solve_constraints_parallel a static method.
This matches LayoutTask::solve_constraints, and will be necessary when we
borrow parallel_traversal directly from the LayoutTask.
2015-11-09 09:03:54 +01:00
Ms2ger
cc1b7acbe6 Make LayoutTask::solve_constraints a static method.
It does not use self.
2015-11-09 09:03:53 +01:00