Commit graph

141 commits

Author SHA1 Message Date
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
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
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
Ms2ger
16c7060bc8 Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19. 2015-01-08 09:58:46 -05:00
Martin Robinson
ad751e4926 Rename Compositor messages SetIds and Paint
These names no longer reflect what the messages do, so rename them to
SetFrameTree and AssignPaintedBuffers.
2015-01-06 07:23:26 -08:00
Ms2ger
6e027cda2d Rename the ConstellationControlMsg variants. 2015-01-04 19:01:13 +01:00
Ms2ger
de0caf8761 Rename constellation_msg::Msg variants. 2015-01-04 11:59:21 +01:00
bors-servo
e8fac3681b auto merge of #4535 : servo/servo/pre-rustup_20141221, r=jdm
This prepares for the rust upgrade currently being conducted.
2015-01-03 14:39:46 -07:00
Martin Robinson
c0b397322f Stall PaintTask exit until it can release all buffers
It is possible for a PaintTask to start exiting soon after sending new
buffers to the compositor. In that case, the compositor should return
the now unnecessary buffers to the PaintTask so that it can properly
free them.

To accomplish this, the compositor now keeps a hash map of paint task
channels per pipeline id. When a PaintTask exists, the constellation
informs the compositor that it can forget about it. Additionally, the
PaintTask should not wait for any buffers when the engine is doing a
complete shutdown. In that case, the compositor is already halted and
has simply let all buffers leak. We pipe through the shutdown type when
destroying the pipeline to make this decision.

Fixes #2641.
2015-01-02 15:20:32 -08:00
Ms2ger
b51e83819d Fix obsolete format traits.
They are to be removed from the language in the next rust upgrade.
2015-01-02 19:04:18 +01:00
Patrick Walton
7371e0b8e3 compositing: Implement cursor per CSS3-UI § 8.1.1 in the CEF/Mac port.
I'm not sure how we want to handle Linux cursors, and GLFW has no
ability to set cursors (short of disabling it and managing it yourself).
2014-12-17 22:58:52 -08:00
Ms2ger
466faac2a5 Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d. 2014-12-17 15:19:45 -05:00
Joseph Crail
c254d195ad Fix spelling mistakes in comments. 2014-12-11 23:56:29 -05:00
Patrick Walton
8b2aadc30b ports/cef: Implement accelerated compositing for the CEF port. 2014-12-10 08:35:47 -08:00
Tetsuharu OHZEKI
8cee554898 Replace almost "render" to "paint" in compositing crate.
This doesn't touch some "render" words which are used as general means.
2014-12-08 14:55:30 +09:00
Tetsuharu OHZEKI
b921986cd6 Rename RendererReadyMsg -> PainterReadyMsg 2014-12-08 14:13:07 +09:00
Tetsuharu OHZEKI
7ff790d941 Rename RenderChan -> PaintChan 2014-12-08 14:05:50 +09:00
Tetsuharu OHZEKI
daba904302 Rename gfx/render_task.rs -> gfx/paint_task.rs 2014-12-08 11:46:43 +09:00
nkdalmia
f6fb9f862d Implement Window.sessionStorage: Storage Task, Storage Methods (excluding Storage event, QuotaExceededError) 2014-12-03 18:31:50 -05:00
Ms2ger
4d3977b8f8 Various cleanup in constellation.rs. 2014-11-17 18:27:22 +01:00
bors-servo
d1eaa3adda auto merge of #3796 : shanil-puri/servo/ServoExitDevtools, r=jdm 2014-11-17 06:15:30 -07:00
Shanil Puri
fc7b3699ed Sending exit message to devtools to exit.
Accepted and closed incoming streams

Added header to for constant use.

Removed extra spaces.

Corrected spacing to conform to coding standards.

Corrected spacing to conform to coding standards.

Corrected spacing to conform with coding standards.

Moving new import next to old import for devtools_traits as specified in comment.

Removed method definition to include as inline code and changed to iter_mut.

Using loops to exit devtools on server exit message and disconnected message to simply break as suggested in the comment.

Removing TODO comment for completed functionality.

Moved the operation for exit of devtools on servo closing outside the match loop.

Removing trailing ';' and adding new line before connection closing loop.
2014-11-13 20:44:06 -05:00
Manish Goregaokar
cdddf6465c Remove unused arguments from LoadComplete and LoadCompleteMsg 2014-11-14 02:14:00 +05:30
Josh Matthews
329ba56fca Dispatch keydown, keyup, and keypress events at appropriate times. 2014-11-13 11:27:15 -05:00
Josh Matthews
1c64dabb15 Pass all key events to the current constellation frame. 2014-11-13 11:24:14 -05:00
Jack Moffitt
d1b433a3b3 Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a 2014-11-13 11:17:43 +10:00
Martin Robinson
fbb1e0c6b8 Send incremental frame tree updates to the compositor
This allows the compositor to add frames after the call to SetIds,
where the initial frame tree is created. There are still some issues
preventing proper late frame creation, but this prevents crashes when
it happens.

Fixes #3738.
2014-11-11 17:36:19 -08:00
Martin Robinson
750bedab81 Add some factory methods for frame tree types 2014-11-11 17:36:19 -08:00
Martin Robinson
a10e261ffd Small fix to variable name
This is a more accurate name for the script pipeline.
2014-11-11 17:36:19 -08:00
Martin Robinson
6e06a1353c Rename LoadIframeUrlMsg to CreateIFrameAndLoadUrlMsg
This better reflects what the message does.
2014-11-11 17:36:18 -08:00
Patrick Walton
10f7b49cf7 Invert control flow, fix resizing, and improve checkerboarding
significantly by giving tiles some time to paint before we render
unrendered content.
2014-11-04 13:51:56 -08:00
Glenn Watson
076495db94 Use opts as a global, to avoid cloning and passing the struct all over the code. 2014-10-20 10:48:47 +10:00
Manish Goregaokar
ad16c52a6b Allow passing a method, request body, and headers to the pipeline in LoadUrlMsg 2014-10-09 14:09:29 +05:30
Glenn Watson
c33f18b7df Allow resolution to be configured on command line. Default to 1280x1024. 2014-09-24 06:59:05 +10:00
Keegan McAllister
dc86e83654 Eliminate warnings 2014-09-20 13:00:55 -07:00
Josh Matthews
f0f7e98dfa Dump initial prototype of devtools server into the build. Expect lies if you try to use it for anything real. 2014-09-18 15:06:40 -04:00
Bryan Bell
ff71c32218 Remove SetLayerClipRect and add SetLayerOrigin
The constallation has accurate information about iframe layer origins,
but not their size.
2014-09-12 11:29:14 -07:00
Jack Moffitt
c6ab60dbfc Cargoify servo 2014-09-08 20:21:42 -06:00
Renamed from src/components/compositing/constellation.rs (Browse further)