Commit graph

177 commits

Author SHA1 Message Date
Martin Robinson
66f6c3a213 All root layers should mask their content
Root layers that define the extent of iframes should always mask their
child content. This fixes a bug where root layers without an assigned
size and location do not spill over the entire scene.
2014-12-11 12:29:31 +01: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
15a32247a6 Rename WindowMethods::set_paint_state() 2014-12-08 14:05:50 +09:00
Tetsuharu OHZEKI
189f40f6f8 Rename IOCompositor's members. 2014-12-08 14:05:50 +09:00
Tetsuharu OHZEKI
806b6f09c9 Rename RenderState -> PaintState 2014-12-08 14:05:50 +09:00
Tetsuharu OHZEKI
b5f73fb179 Rename RenderListener -> PaintListener, and its methods. 2014-12-08 14:05:50 +09:00
Tetsuharu OHZEKI
94071f6330 Rename compositor_task::Msg. 2014-12-08 14:05:50 +09:00
Tetsuharu OHZEKI
79722bdc03 Rename gfx::paint_task::Msg 2014-12-08 14:05:50 +09:00
Tetsuharu OHZEKI
7ff790d941 Rename RenderChan -> PaintChan 2014-12-08 14:05:50 +09:00
Tetsuharu OHZEKI
9b6faaf7f0 Rename RenderRequest -> PaintRequest 2014-12-08 14:05:50 +09:00
Tetsuharu OHZEKI
cddb7fe7c5 Rename RenderTask -> PaintTask. 2014-12-08 11:46:43 +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
Glenn Watson
898c1ecc8f Remove unused exit after load option.
This simplifies some upcoming changes to how event handling works.
2014-11-21 09:15:02 +10:00
bors-servo
9da7f10c3c auto merge of #3964 : mrobinson/servo/code-duplication, r=larsbergstrom
It is possible to share the code which creates root layers.
2014-11-19 09:00:47 -07:00
Glenn Watson
c39852a3f4 Remove rust-alert as it's broken on mac, and unimplemented on other platforms. 2014-11-19 14:19:40 +10: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
bors-servo
26045d7fcb auto merge of #3809 : mrobinson/servo/display-list-optimization, r=pcwalton
Instead of creating a display list for the entire page, only create one
for an area that expands around the viewport. On my machine this makes
incremental layout of http://timecube.com 50% faster.
2014-11-12 17:36:32 -07:00
Martin Robinson
4f1bda0c36 Remove some code duplication in the Compositor
It is possible to share the code which creates root layers.
2014-11-12 12:01:36 -08: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
Martin Robinson
c7327450ef Clip display list based on frame viewport
Instead of creating a display list for the entire page, only create one
for an area that expands around the viewport. On my machine this makes
incremental layout of http://timecube.com 50% faster.
2014-11-11 08:46:16 -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
69c5bc8fca Update to use new GL bindings. 2014-10-30 15:31:10 +10:00
Martin Robinson
80a6f3a732 Move compositor_data.rs to compositor_layer.rs.
The new name better reflects the majority of the code in the file.
2014-10-28 08:33:23 -07:00
Martin Robinson
c0fa32e7aa Combine events and CompositorData methods into CompositorLayer
This is a more natural collection of methods, as they all operate
directly on layers and accept a layer as their first argument.
2014-10-28 08:33:23 -07:00
Martin Robinson
96f6c53b52 Make compositor event handling a Layer trait
This simplifies the way that event handling interacts with the
compositor.
2014-10-28 08:33:23 -07:00
Glenn Watson
2d6626e7ef Use WindowMethods to get native graphics metadata instead of
relying on azure. This is a prerequisite for the switch to glutin.

Tested on Linux, mac. Tested that android + cef build.
2014-10-24 13:45:42 +10: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
bors-servo
0487671dab auto merge of #3672 : mrobinson/servo/background-color, r=zwarich
Instead of relying on a scene-wide background color, all layers can now
have their own background color.
2014-10-14 21:27:26 -06:00
bors-servo
96fae78f94 auto merge of #3634 : mrobinson/servo/scrolling-doc, r=jdm 2014-10-14 13:30:36 -06:00
Martin Robinson
fbd0b6f9d0 Allow individual layers to render their own background color
Instead of relying on a scene-wide background color, all layers can now
have their own background color.
2014-10-14 09:59:07 -07:00
Matt Brubeck
77d32ee447 Move windowing code out of the compositor
This is mainly just moving code around, in preparation for further changes to
the "windowing" API.
2014-10-10 11:36:12 -07:00
Martin Robinson
ed2e679842 Add documentation about the scrolling model 2014-10-10 09:26:43 -07: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
Cameron Zwarich
54f9bb0eea Cleanup some code formatting in compositing/compositor.rs 2014-10-06 15:40:38 -07:00
bors-servo
479d8567d1 auto merge of #3538 : mrobinson/servo/events-and-layers, r=zwarich
Select the topmost layer at a given point to send mouse events and when
sending the event, ensure that they are relative to the layer origin,
rather than in absolute page coordinates.

Fixes #3504.
2014-10-01 14:33:26 -06:00
Martin Robinson
8d93ac460d Fix layer selection and point translation for mouse events
Select the topmost layer at a given point to send mouse events and when
sending the event, ensure that they are relative to the layer origin,
rather than in absolute page coordinates.

Fixes #3504.
2014-10-01 11:23:15 -07:00
Martin Robinson
31a6270d52 No longer consider window size when scrolling
Now that scrolling roots are properly sized, we can simply look at the
scrolling root layer size when deciding the extents of layer scrolling.
This simplifies things a bit and further codifies the current model of
scrolling root + mask_to_bounds.
2014-10-01 10:58:35 -07:00
Martin Robinson
62ef7cd7ff Use LayerPixel for Layer bounds and most arguments
When interacting with Layers it is simpler to use LayerPixels, which
are unscaled pixels in the Layer coordinate system. This removes a lot
of room for error and makes things simpler.
2014-09-30 17:42:00 -07:00