Commit graph

148 commits

Author SHA1 Message Date
Glenn Watson
ec91fa2cfd Remove now unused id field for frame tree. 2015-03-11 13:41:55 +10:00
Glenn Watson
3befc8ce0b Make change page url message consistent with other compositor messages.
This doesn't have any effect on functionality, it just simplifies a few upcoming changes with how FrameIds work.
2015-03-11 08:54:36 +10:00
Josh Matthews
6351fc75fd Only store the url inside a pipeline instead of the rest of the LoadData. 2015-03-03 16:25:40 -05:00
Josh Matthews
d9f04180a5 Split page load into separate network and parsing stages. Delay Page creation until the load is finished. Make session history traversal simply activate existing pipelines, rather than potentially loading them from the network. 2015-03-03 16:25:40 -05:00
bors-servo
6927bf6ff0 auto merge of #5113 : glennw/servo/fix-title, r=mbrubeck
Sometimes, the root pipeline title is sent before the compositor has created the root pipeline, so also request the main page title once the initial frame tree has been sent.
2015-03-02 17:24:56 -07:00
Glenn Watson
f68386f0fa Fix making an iframe visible when it was initially set to display:none.
When an iframe is created with display:none it sets the root layer to be
zero width and height. When updating the rect of the iframe from layout
send the entire rect rather than just the new origin, which handles the case
where the iframe has been made visible and now has a non-zero rect.
2015-03-03 07:46:26 +10:00
Glenn Watson
2517bb561a Only allow root pipelines to set the window title.
Sometimes, the root pipeline title is sent before the compositor
has created the root pipeline, so also request the main page
title once the initial frame tree has been sent.
2015-03-03 06:10:47 +10:00
bors-servo
a3ea3eed47 auto merge of #4960 : pkondzior/servo/add-script-timers-suspend-resume-functionality, r=jdm
Adds free/thaw methods to script_task that let you send suspend/resume messages to web content timers. Fixes #4907
2015-02-23 21:45:46 -07:00
Pawel Kondzior
c2961c94b4 Add thaw/freeze messages that can suspend/resume webcontent timers #4907 2015-02-24 05:33:27 +01:00
Manish Goregaokar
46824616d2 Make gonk compile again 2015-02-21 09:42:45 +05:30
Ms2ger
895d1ec10a Move compositing to libc from crates.io. 2015-02-21 00:24:58 +01:00
Ruud van Asseldonk
0fbfb8cffc Do not glob-export EvaluateJSReply variants.
This closes #4921.
2015-02-13 14:59:50 +01:00
Ruud van Asseldonk
1452614e28 Do not glob-export DevtoolsControlMsg variants. 2015-02-13 14:51:10 +01:00
Ms2ger
dda12e196b Fix warnings in compositing. 2015-02-13 10:36:48 +01:00
Simon Sapin
d5dd1d658e Upgrade to rustc ba2f13ef0 2015-02-04 2015-02-11 14:48:34 -08:00
Martin Robinson
cf5b6199e7 Send back unused buffers to the right pipeline
Update to latest rust-layers and send back all buffers to their
original pipeline.
2015-02-10 17:11:28 -08:00
Ms2ger
a09a912178 Import net as net rather than servo_net. 2015-02-10 12:55:24 +01:00
Ms2ger
b2fcc2397e Import msg as msg rather than servo_msg. 2015-02-10 11:40:36 +01:00
Josh Matthews
446f0f447e Allow unused variables, imports, and mutable. 2015-02-09 17:41:57 -05:00
Glenn Watson
1e0e98b63c Implement window.frameElement, change window.parent to make use of it. 2015-02-07 06:46:29 +10:00
Josh Matthews
b2b7baf914 Fix devtools implementation of downcastable actors. Fixes #4844. 2015-02-05 14:29:09 +00:00
Glenn Watson
0873e5c8ca Implement window.parent for iframes. 2015-02-05 07:04:04 +10:00
bors-servo
58a3cdcbef auto merge of #4822 : KiChjang/servo/constellation-frame-handling, r=jdm
Attempt at fixing #4795. Code has been written to check for the existence for the current frame, but it seems to pass the condition every time.
2015-02-04 10:06:56 -07:00
Keith Yeung
37cb876f4e Changed Msg::KeyEvent to take in KeyState and moved the checks in CompositorTask::send_key_event to Compositor::handle_browser_message 2015-02-04 10:30:23 +08:00
Adenilson Cavalcanti
ffa23088ff Using the new transparent_black() in the proper places. 2015-02-03 18:08:30 -08:00
Keith Yeung
b262fc16e0 Modified constellation key event handler to deal with missing frames 2015-02-04 00:04:12 +08:00
Adenilson Cavalcanti
10418a0ea1 Using color helpers in Compositor and PaintContext
(plus added TODO related to equality operators).
2015-02-02 14:49:26 -08:00
Glenn Watson
f495884dcb Remove the glfw port (it doesn't compile since last rustup anyway). 2015-02-02 10:38:12 +10:00
Josh Matthews
9e01d91947 Lock crates.io dependencies to specific versions. 2015-01-31 01:27:26 +01:00
Ms2ger
505159a464 Import the util crate as util rather than servo_util.
This used to conflict with the util crate from the standard library, which
has long since been removed.

The import in layout has not been changed because of a conflict with the
util mod there.
2015-01-29 12:16:41 +01:00
Josh Matthews
95fc29fa0d Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev. 2015-01-28 10:16:49 +10:00
Ms2ger
808315926c Pass a String to spawn_named.
IntoString has been removed from Rust, and named() will take a String, so
there is no good reason to do otherwise here.
2015-01-21 11:23:19 +01:00
Glenn Watson
797658fb3a Fix change of src attributes on iframe (prevents SetLayerOrigin crash). 2015-01-20 15:38:58 +10:00
Martin Robinson
0d297aea9b Fix set_ids naming in Constellation
The set_ids name is a holdover from a previous design and no longer
reflects what this method does. Instead move the content into
grant_paint_permission and rename it to
send_frame_tree_and_grant_paint_permission. Also move out the handling of
evicted iframes into its own method.
2015-01-19 11:30:04 -08:00
Martin Robinson
c3d23a0630 Update to latest rust-azure and rust-layers
We no longer need to implement from_azure_surface in Servo, now that
rust-layers is handling more of the glue between rust-layers and Azure.
2015-01-15 12:59:11 -08:00
Martin Robinson
efdc758dd7 Only send SetLayerRect messages for compositor-backed frames
Only send SetLayerRect when we know that a frame has a compositor
layer. If it doesn't, we wait until we send the new layer to the
compositor.
2015-01-09 16:20:09 -08:00
Martin Robinson
19f57008da Notify compositor when a FrameTree changes pipelines
When the constellation change a FrameTree pipeline, it should send a
notification to the compositor, so that it can negotiate buffers from
the correct render task. This commit also migrates away from the
generalized FrameTreeUpdateMsg to ones specific to the situation at
hand. That turned out to be an unnecessary abstraction.
2015-01-09 16:20:04 -08:00
Martin Robinson
f1d82cf82c Add FrameTree::add_child
This helper method simplifies a few lines.
2015-01-09 15:14:01 -08:00
Martin Robinson
6a46eef5cd Update FrameTree pipelines when appropriate
Instead of simply creating a new FrameTree when an iframe starts a
load, update the existing FrameTree's pipeline. This prevents the
FrameTree from accumulating many extra children.
2015-01-09 15:14:01 -08:00
bors-servo
c1d218cf02 auto merge of #4578 : mrobinson/servo/fix-compositor-timing-issues, r=larsbergstrom
Clean up compositor data structures and fix timing issues that cause Compositor panics.
2015-01-09 15:39:44 -07:00
Martin Robinson
b60f354405 Store pipelines in the Compositor
Instead of cloning pipelines and storing them once per layer, store
them globally in the compositor and access them via id. This trades
lots of unnecessary duplication for a HashMap lookup.
2015-01-09 14:33:59 -08:00
Martin Robinson
c5994c65ef Be less stringent with invalid compositor messages
It is possible for messages for defunct pipelines to arrive in the
compositor. If the compositor believes that the pipelines are in the
process of shutting down, simply ignore the messages. We still panic in
the case that the pipeline is totally unknown.

Fixes #3733.
2015-01-09 14:33:58 -08:00
bors-servo
0793137631 auto merge of #4575 : mttr/servo/warnings, r=jdm
Notes:

* This adds `#![allow(missing_copy_implementations)]` to components/*/lib.rs. I'm not sure how to approach the missing Copy warnings (are there things for which Copy should NOT be implemented, and how can I tell?) so I stuck this in to make life easier when looking through the warnings. I can easily remove this if necessary. 
* This leaves the following type of warnings, which I couldn't figure out how to approach (I'll investigate it later if no one else wants to).
```
css/matching.rs:72:23: 72:35 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:72         this_as_query.equiv(other)
                                         ^~~~~~~~~~~~
css/matching.rs:95:10: 95:49 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:95 impl<'a> Equiv<ApplicableDeclarationsCacheEntry> for ApplicableDeclarationsCacheQuery<'a> {
```
2015-01-08 16:03:55 -07:00
bors-servo
4cd9eb1253 auto merge of #4574 : Ms2ger/servo/if_let, r=Manishearth
This feature is now supported unconditionally.
2015-01-08 14:42:53 -07:00
Martin Robinson
d93b80608f Combine all pipeline status trackers into a single struct
This will make it easier to organize and clean up this information
during pipeline shutdown.
2015-01-08 12:11:21 -08:00
bors-servo
1458709247 auto merge of #4558 : mrobinson/servo/compositor-message-renames, r=zwarich
These names no longer reflect what the messages do, so rename them to
SetFrameTree, AssignPaintedBuffers, and CreateOrUpdateBaseLayer.
2015-01-08 12:36:53 -07:00
Matthew Rasmus
a3fc3a1581 Allow missing_copy_implementations 2015-01-08 08:51:11 -08:00
Ms2ger
5f31da82bd Remove if_let feature gates.
This feature is now supported unconditionally.
2015-01-08 17:26:06 +01:00
Ms2ger
16c7060bc8 Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19. 2015-01-08 09:58:46 -05:00
Martin Robinson
9ac759ed80 Fix root layer naming in the compositor
The term "root layer" is used in the compositor to refer to both the
pipeline root layer and the page background layer. This can be quite
confusing. Instead, call the page background layer the "base layer,"
which is always the first child of the pipeline root layer.
2015-01-06 15:40:42 -08:00