aboutsummaryrefslogtreecommitdiffstats
path: root/components/compositing/compositor_task.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* Rename lots of profiling-related things.Nicholas Nethercote2015-03-251-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ BEFORE AFTER ------------------------------------------------------------------------ util::memory util::mem - heap_size_of - heap_size_of (unchanged) - SizeOf - HeapSizeOf - size_of_excluding_self - heap_size_of_children prof::mem prof::mem - MemoryProfilerChan - ProfilerChan - MemoryReport - Report - MemoryReportsChan - ReportsChan - MemoryReporter - Reporter - MemoryProfilerMsg - ProfilerMsg - {R,UnR}egisterMemoryReporter - {R,UnR}egisterReporter - MemoryProfiler - Prof - ReportsForest - ReportsForest (unchanged) - ReportsTree - ReportsTree (unchanged) - SystemMemoryReporter - SystemReporter prof::time prof::time - TimeProfilerChan - ProfilerChan - TimerMetadata - TimerMetadata (unchanged) - Formatable - Formattable [spelling!] - TimeProfilerMsg - ProfilerMsg - TimeProfilerCategory - ProfilerCategory - TimeProfilerBuckets - ProfilerBuckets - TimeProfiler - Profiler - TimerMetadataFrameType - TimerMetadataFrameType (unchanged) - TimerMetadataReflowType - TimerMetadataReflowType (unchanged) - ProfilerMetadata - ProfilerMetadata (unchanged) In a few places both prof::time and prof::mem are used, and so module-qualification is needed to avoid overlap, e.g. time::Profiler and mem::Profiler. Likewise with std::mem and prof::mem. This is not a big deal.
* Move profiler code from `util` into a new crate `profile`.Nicholas Nethercote2015-03-241-4/+4
| | | | | | | | | - Most of util::memory has been moved into profile::mem, though the `SizeOf` trait and related things remain in util::memory. The `SystemMemoryReporter` code is now in a submodule profile::mem::system_reporter. - util::time has been moved entirely into profile::time.
* First part of refactoring constellation to support iframe navigation.Glenn Watson2015-03-171-9/+1
| | | | | | | | | The history is now recorded per frame, but needs to be exposed in a followup PR. Also fixes a race condition that occurs loading iframes under heavy CPU load. This ensures that iframes never do a reflow / layout until they have a valid window size set from their parent frame.
* Remove now unused id field for frame tree.Glenn Watson2015-03-111-1/+1
|
* Make change page url message consistent with other compositor messages.Glenn Watson2015-03-111-1/+1
| | | | This doesn't have any effect on functionality, it just simplifies a few upcoming changes with how FrameIds work.
* Only store the url inside a pipeline instead of the rest of the LoadData.Josh Matthews2015-03-031-4/+5
|
* Fix making an iframe visible when it was initially set to display:none.Glenn Watson2015-03-031-3/+3
| | | | | | | 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.
* Upgrade to rustc ba2f13ef0 2015-02-04Simon Sapin2015-02-111-2/+2
|
* Import msg as msg rather than servo_msg.Ms2ger2015-02-101-4/+4
|
* Changed Msg::KeyEvent to take in KeyState and moved the checks in ↵Keith Yeung2015-02-041-4/+2
| | | | CompositorTask::send_key_event to Compositor::handle_browser_message
* Import the util crate as util rather than servo_util.Ms2ger2015-01-291-4/+4
| | | | | | | | 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.
* Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev.Josh Matthews2015-01-281-6/+6
|
* Notify compositor when a FrameTree changes pipelinesMartin Robinson2015-01-091-5/+10
| | | | | | | | 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.
* auto merge of #4558 : mrobinson/servo/compositor-message-renames, r=zwarichbors-servo2015-01-081-16/+16
|\ | | | | | | | | These names no longer reflect what the messages do, so rename them to SetFrameTree, AssignPaintedBuffers, and CreateOrUpdateBaseLayer.
| * Fix root layer naming in the compositorMartin Robinson2015-01-061-3/+3
| | | | | | | | | | | | | | 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.
| * Rename Compositor messages SetIds and PaintMartin Robinson2015-01-061-13/+13
| | | | | | | | | | These names no longer reflect what the messages do, so rename them to SetFrameTree and AssignPaintedBuffers.
* | Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19.Ms2ger2015-01-081-4/+5
|/
* Stall PaintTask exit until it can release all buffersMartin Robinson2015-01-021-0/+3
| | | | | | | | | | | | | | | | | 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.
* compositing: Implement `cursor` per CSS3-UI § 8.1.1 in the CEF/Mac port.Patrick Walton2014-12-171-1/+5
| | | | | 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).
* Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d.Ms2ger2014-12-171-30/+30
|
* Sending key events through script task before processing them in the compositor.Nathan E. Egge2014-12-121-0/+10
| | | | Fixes #4163
* ports/cef: Implement accelerated compositing for the CEF port.Patrick Walton2014-12-101-4/+18
|
* Replace almost "render" to "paint" in compositing crate.Tetsuharu OHZEKI2014-12-081-3/+3
| | | | This doesn't touch some "render" words which are used as general means.
* Rename RenderState -> PaintStateTetsuharu OHZEKI2014-12-081-5/+5
|
* Rename RenderListener -> PaintListener, and its methods.Tetsuharu OHZEKI2014-12-081-5/+5
|
* Rename compositor_task::Msg.Tetsuharu OHZEKI2014-12-081-6/+6
|
* Remove unused arguments from LoadComplete and LoadCompleteMsgManish Goregaokar2014-11-141-4/+3
|
* Send incremental frame tree updates to the compositorMartin Robinson2014-11-111-1/+4
| | | | | | | | | 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.
* Invert control flow, fix resizing, and improve checkerboardingPatrick Walton2014-11-041-59/+108
| | | | | significantly by giving tiles some time to paint before we render unrendered content.
* Use WindowMethods to get native graphics metadata instead ofGlenn Watson2014-10-241-6/+5
| | | | | | relying on azure. This is a prerequisite for the switch to glutin. Tested on Linux, mac. Tested that android + cef build.
* Use opts as a global, to avoid cloning and passing the struct all over the code.Glenn Watson2014-10-201-3/+0
|
* Move windowing code out of the compositorMatt Brubeck2014-10-101-29/+10
| | | | | This is mainly just moving code around, in preparation for further changes to the "windowing" API.
* Upgrade to rustc 0.12.0-pre (4d2af3861 2014-09-17 15:51:11 +0000)Keegan McAllister2014-09-201-2/+2
|
* Remove SetLayerClipRect and add SetLayerOriginBryan Bell2014-09-121-4/+2
| | | | | The constallation has accurate information about iframe layer origins, but not their size.
* Store one RenderState per-pipeline in the CompositorBryan Bell2014-09-121-3/+3
| | | | | This can later be used to decide whether the entire pipeline is ready for rendering.
* Store Compositor ReadyState per-pipelineBryan Bell2014-09-121-3/+3
| | | | | Instead of storing a single ReadyState, store one per pipeline and track the earliest one.
* Cargoify servoJack Moffitt2014-09-081-0/+247