Commit Graph

509 Commits

Author SHA1 Message Date
Martin Robinson
a7032c0b1a servo: Merge #4314 - More work on iframes updated via script (from mrobinson:iframes-2); r=jdm
iframes added or loaded via script are not reflected visibly in the content of a page. The next step in making this happen is to have compositor layers accurately reflect newly recreated or loaded iframes. This change allows iframes to appear, but there are still some further changes necessary to make the output correct and reliable.

Source-Repo: https://github.com/servo/servo
Source-Revision: 16c2025a4e30121baebde348e3c3f0e6ed197667
2015-01-09 17:51:44 -07:00
Martin Robinson
d41ffb9a65 servo: Merge #4578 - Fix compositor timing issues (from mrobinson:fix-compositor-timing-issues); r=larsbergstrom
Clean up compositor data structures and fix timing issues that cause Compositor panics.

Source-Repo: https://github.com/servo/servo
Source-Revision: c1d218cf0260da4e0642e2ea5b73823de79aa2c7
2015-01-09 15:39:44 -07:00
Matthew Rasmus
8a04144529 servo: Merge #4575 - Post-rustup warning fixes (from mttr: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> {
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 0793137631cbe4ebbff8fb85639206ce8e41bbb7
2015-01-08 16:03:55 -07:00
Ms2ger
924a818c1c servo: Merge #4574 - Remove if_let feature gates (from Ms2ger:if_let); r=Manishearth
This feature is now supported unconditionally.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4cd9eb1253a764e8794f004a96112f4127687708
2015-01-08 14:42:53 -07:00
Martin Robinson
a302f866ea servo: Merge #4558 - Improve Compositor message names (from mrobinson:compositor-message-renames); r=zwarich
These names no longer reflect what the messages do, so rename them to
SetFrameTree, AssignPaintedBuffers, and CreateOrUpdateBaseLayer.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1458709247586fcb3c14cd9132b735ff3080bf07
2015-01-08 12:36:53 -07:00
Ms2ger
b3c7f9d2ca servo: Merge #4554 - Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19 (from servo:rustup_20141221); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1d7148c79f9124779a910fd5291c5fa0543b2dae
2015-01-08 08:00:57 -07:00
Ms2ger
dea376e622 servo: Merge #4550 - Rename MouseWindowEvent variants (from Ms2ger:MouseWindowEvent); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ca876edc051c9b105747252155d0f11c31189646
2015-01-05 08:09:53 -07:00
Patrick Walton
fe1e6fa761 servo: Merge #4460 - layout: Paint stacking contexts' overflow areas properly (from pcwalton:stacking-context-overflow); r=glennw
This was making `box-shadow` not show up in many cases, in particular,
but the effects were not limited to that.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 499d17f564d699e5e290e8a3859f64e7536827a7
2015-01-04 18:51:48 -07:00
Ms2ger
2979891740 servo: Merge #4542 - Prepare for the rust upgrade (from servo:pre-rustup_20141221); r=saneyuki
In particular, this contains changes to qualify enums where rust will require it, and to stop using some features that will be removed.

Source-Repo: https://github.com/servo/servo
Source-Revision: ba8cf6b0e6145265f9472d4855f078d8b5943fe7
2015-01-04 12:39:47 -07:00
Ms2ger
03365eb590 servo: Merge #4535 - Stop using some obsolete features (from servo:pre-rustup_20141221); r=jdm
This prepares for the rust upgrade currently being conducted.

Source-Repo: https://github.com/servo/servo
Source-Revision: e8fac3681b690adb0796b2a807ac95bd9c13597a
2015-01-03 14:39:46 -07:00
Ms2ger
9695007fe1 servo: Merge #4538 - Remove obsolete attributes (from Ms2ger:attributes); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d8b6cec722e67f1fd39f154f4f0a298f2227501f
2015-01-03 10:39:48 -07:00
Martin Robinson
6c0ac241fb servo: Merge #4536 - Stall PaintTask exit until it can release all buffers (from mrobinson:pixmap); r=pcwalton
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: a31acffb0405b2c38b39c39c6d552f2ba79b6326
2015-01-02 20:21:47 -07:00
Matt Brubeck
7805e1dea5 servo: Merge #4412 - Update layer bounds on resize (from mbrubeck:fixed-layer-resize); r=mrobinson
This fixes a bug where fixed-position layers are not repositioned when the
window is resized.  This can be reproduced with any `position: fixed` element with a `right` or `bottom` position.  I'm not sure how to reftest this, though.

r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: d7f38a8973c1baac2a68bd83a0c141deef920bac
2014-12-18 08:06:54 -07:00
Simon Sapin
66d7332a20 servo: Merge #4420 - Fix warnings (from servo:fix-warnings); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: eea49ee1d986c306a8eec32b64be9b10cb2278fc
2014-12-18 04:42:50 -07:00
Patrick Walton
53a1509c58 servo: Merge #4358 - compositing: Implement cursor per CSS3-UI § 8.1.1 in the CEF/Mac port (from pcwalton:cursor); r=mbrubeck
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).

If you test this in the wild you will probably hit #4357 until that PR lands.

Source-Repo: https://github.com/servo/servo
Source-Revision: e2267e0a0749e27046ee8a26ba514cc6865e0345
2014-12-18 00:24:49 -07:00
Glenn Watson
636d338cf6 servo: Merge #4405 - Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d (from servo:rustup_20141124); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fbf42c951b2f53d91e2f32f8035484a07ea83493
2014-12-17 18:45:49 -07:00
Patrick Walton
c9f5fb0e50 servo: Merge #4357 - compositing: Translate clip rects into the coordinate systems of child layers when doing hit tests (from pcwalton:compositor-hit-test-clipping); r=mrobinson
Fixes clicking on links on the second page of Hacker News.

r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: 251dbb37ed197ba0b2a4e21c95dcca4a1951ccb7
2014-12-13 02:00:52 -07:00
Nathan E. Egge
fc4605515d servo: Merge #4347 - Sending key events through script task before processing them in the com (from negge:backspace4); r=jdm
...positor.

Fixes #4163

Source-Repo: https://github.com/servo/servo
Source-Revision: 4b8c9128597a7598ef76a4bebe6d81fb2ff9aa1a
2014-12-12 10:36:55 -07:00
Joseph Crail
6c02d6ca77 servo: Merge #4171 - Fix spelling mistakes in comments (from jbcrail:fix-spelling); r=jdm
I only updated comments, not strings.

Source-Repo: https://github.com/servo/servo
Source-Revision: f451005f4fe075c849de2f3766f5bf84510b8465
2014-12-12 02:12:51 -07:00
Martin Robinson
23feaaf6ef servo: Merge #4329 - Improve root layer masking to deal with uninitialized layers (from mrobinson:phantom-layer); r=pcwalton
At various moments, whether due to timing or layout issues, root layers (iframes) do not have a size and location. We modify the compositor to have all root layers mask to their content boundaries whether they have a frame rect or not. Uninitialized layers have empty boundaries, so they will disappear from the page. We also have to ensure that clicks to not go to areas of layers that are masked away. This fixes issues where ads on github take over the entire viewport.

Source-Repo: https://github.com/servo/servo
Source-Revision: 512d55ecefac4c5f7f6fc52ad5cedb7f2664b0c9
2014-12-11 10:39:59 -07:00
Patrick Walton
755e7a69c3 servo: Merge #4193 - ports/cef: Implement accelerated compositing for the CEF port (from pcwalton:cef-redux); r=pcwalton,metajack
@glennw, is it possible to rebase your stuff on top of this? Sorry for the mess.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: ba06d50e3a611d1c27c6c9aa0b21441282911c3f
2014-12-10 09:40:03 -07:00
Tetsuharu OHZEKI
91421a9ceb servo: Merge #4279 - Rename "render"/"rendering" to "paint"/"painting" (from saneyuki:rename); r=jdm
#4275

* This changeset rename "render"/"rendering" to "paint"/"painting" under `components/`.
* This does not rename words which are used as general browser's working.
  * So this doesn't change `reftest.rs`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b486b12109ab765ecee4cbcc684e5d99e8ad5ad
2014-12-08 10:28:10 -07:00
nkdalmia
e399ad3e2b servo: Merge #4157 - M1450: Implement Window.sessionStorage: Storage Task, Storage Methods (excluding Storage event, QuotaExceededError) (from nkdalmia:master); r=jdm
Changes
* Implemented Storage Task
* Used Storage Task in methods of storage.rs
* Updated webstorage test expectations

Pending Changes:
* Handle Storage Event
* Throw QuotaExceededError in case of failure for method setItem
* localStorage as alias of sessionStorage

Source-Repo: https://github.com/servo/servo
Source-Revision: 0d2251510fb9ad8f4974c99cadafbd1a9a81e30f
2014-12-03 16:54:57 -07:00
Glenn Watson
e954fbdb1e servo: Merge #4051 - Remove unused exit after load option (from glennw:remove-exit-load); r=mbrubeck
This simplifies some upcoming changes to how event handling works.

Source-Repo: https://github.com/servo/servo
Source-Revision: 32d765fb049318f2ff22f39fdeb9fa258ec8a174
2014-11-20 16:54:31 -07:00
Martin Robinson
624732d057 servo: Merge #3964 - Remove some code duplication in the Compositor (from mrobinson:code-duplication); r=larsbergstrom
It is possible to share the code which creates root layers.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9da7f10c3c46fee3d11d4ef9e8fb642fc9fb9870
2014-11-19 09:00:47 -07:00
Glenn Watson
76fdb515a4 servo: Merge #4035 - Remove rust-alert as it's broken on mac, and unimplemented on other platforms (from glennw:remove-rust-alert); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 554f696db81665f92e9976a15d986b0fd0f99edf
2014-11-18 21:30:27 -07:00
Ms2ger
b866782472 servo: Merge #4019 - Various cleanup in constellation.rs (from Ms2ger:constellation); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 64cc9ec6881add395b93341a32e90546b2f7211f
2014-11-17 10:36:29 -07:00
Shanil Puri
126f5888b7 servo: Merge #3796 - Servo exit devtools: Send exit message to devtools on browser exit (from shanil-puri:ServoExitDevtools); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d1eaa3adda5e59cc34822d6d1477b987796dfd62
2014-11-17 06:15:30 -07:00
Manish Goregaokar
3c672569d6 servo: Merge #3973 - Don't overwrite redirected URL in script_task (fixes #3970) (from Manishearth:301-fix); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 10cd7728ff0daa7d2e5e13d002d008b5049f389b
2014-11-13 17:45:29 -07:00
Josh Matthews
82582a7847 servo: Merge #3585 - Implement single-line text input (from jdm:input); r=gw
This attempts to implement a bunch of the DOM Level 3 Events spec by implementing the KeyboardEvent interface, the document focus context, and dispatching keyup/keydown/keypress events appropriately. There's also some support for multiline text input that's untested.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ffa845cf463b14b19322d477a77ffd20efa89a9
2014-11-13 10:57:33 -07:00
Glenn Watson
71f726977a servo: Merge #3948 - Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a (from servo:rustup-20141105_2); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: c5e1b0d32e17fad29799023c85e2e73ac89c3af7
2014-11-12 20:48:31 -07:00
Martin Robinson
814dac2156 servo: Merge #3809 - Clip display list based on frame viewport (from mrobinson: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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 26045d7fcbab8851fbefe2851cd904203f8fd8dd
2014-11-12 17:36:32 -07:00
Martin Robinson
e45e74afc7 servo: Merge #3951 - Iframes (from mrobinson:iframes); r=jdm
This is the first step to allowing incremental iframe creation and destruction. This should eliminate task failures when an iframe is added to the frame tree lazily via script.

Source-Repo: https://github.com/servo/servo
Source-Revision: ccdd2910a2df9921b22c9db74f84559d78019199
2014-11-11 18:48:34 -07:00
Patrick Walton
e4fe54ce48 servo: Merge #3761 - Invert control flow, fix resizing, and improve checkerboarding significantly (from pcwalton:smooth-scrolling); r=larsbergstrom
r? @glennw @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: ffae1104989c0177b483d591a482e5cd877183c2
2014-11-04 18:12:32 -07:00
Glenn Watson
63ee42e590 servo: Merge #3851 - Update to use new GL bindings (from glennw:servo_gl); r=glennw,metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: f9b84fd8704e249682cc12dfeb2da61b39a88d92
2014-10-29 23:33:35 -06:00
Martin Robinson
7c7d8e8894 servo: Merge #3819 - Combine all layer methods into a CompositorLayer trait (from mrobinson:clean-up-events); r=pcwalton
There are many function and methods that operate on a single layer, that can really just be methods on a CompositorLayer trait. This greatly simplifies the way that Compositor interacts with its child layers. This PR is just code motion.

Source-Repo: https://github.com/servo/servo
Source-Revision: 541077286c9b5268c1e4731d0cbe1066cd5f1310
2014-10-28 09:39:43 -06:00
Glenn Watson
8e0d801651 servo: Merge #3800 - Use WindowMethods to get native graphics metadata instead of relying on azure (from glennw:native-gfx-metadata); r=mbrubeck
This is a prerequisite for glutin support.

Tested on Linux, mac. Tested that android + cef build.

Source-Repo: https://github.com/servo/servo
Source-Revision: a2587462693bf73412a729dfaccb2abb0d3f6ff6
2014-10-23 23:03:29 -06:00
Glenn Watson
bb1641acab servo: Merge #3729 - Use opts as a global, to avoid cloning and passing the struct all over the code base (from glennw:opts-cleanup); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 852378209badb936e8929c31501cb8cabeea6bc5
2014-10-19 21:33:25 -06:00
Martin Robinson
b350803730 servo: Merge #3672 - Allow individual layers to render their own background color (from mrobinson:background-color); r=zwarich
Instead of relying on a scene-wide background color, all layers can now
have their own background color.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0487671dabf03949a6816d436f4f3c6423a30395
2014-10-14 21:27:26 -06:00
Martin Robinson
7770918734 servo: Merge #3634 - Add documentation about the scrolling model (from mrobinson:scrolling-doc); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 96fae78f9483da498345b67c44f97f649d084cd5
2014-10-14 13:30:36 -06:00
Matt Brubeck
b28677c053 servo: Merge #3563 - Move windowing code out of compositor, take 2. r=larsberg (from mbrubeck:app2)
Source-Repo: https://github.com/servo/servo
Source-Revision: 205067f10bc412608827e9a314a760acfb2ae15e
2014-10-10 13:12:37 -07:00
Manish Goregaokar
6f900ea837 servo: Merge #3626 - Allow passing a method, request body, and headers to the pipeline in LoadUrlMsg (from Manishearth:form-prep); r=jdm
Framework for form submission

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f9808e1306a6468dea0de8657a4fa5868e1a126
2014-10-09 16:00:34 -06:00
Cameron Zwarich
8d2c969bff servo: Merge #3593 - Cleanup some code formatting in compositing/compositor.rs (from zwarich:compositor-cleanup); r=mrobinson
Source-Repo: https://github.com/servo/servo
Source-Revision: 0549ed3c675d1cc7a8832128e90b7886e3c1710c
2014-10-06 18:24:32 -06:00
Martin Robinson
5078fd09a5 servo: Merge #3538 - Fix layer selection and point translation for mouse events (from mrobinson: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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 479d8567d12aa0845c835fdae7d0dd45d7c63d4f
2014-10-01 14:33:26 -06:00
Martin Robinson
737103e331 servo: Merge #3544 - No longer consider window size when scrolling (from mrobinson:simplify-scrolling); r=zwarich
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: bfe5c34f8abcf7d8f02ef46792913e289df173a5
2014-10-01 12:06:28 -06:00
Martin Robinson
7bf7b333f2 servo: Merge #3537 - Use LayerPixel for Layer bounds and most arguments (from mrobinson:scale); r=zwarich
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6358b7d94e14fc61348fd56bcd5c0ff50ae11156
2014-09-30 18:57:26 -06:00
Martin Robinson
c06dd1231a servo: Merge #3526 - Mask root layer rectangles to their boundaries (from mrobinson:masks-to-bounds); r=zwarich
This prevents iframes contents from overflowing their root layers.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4be0a07585b019d45dd83849818854566c5e118b
2014-09-29 17:48:25 -06:00
Matt Brubeck
8b24a91260 servo: Merge #3525 - Pass a viewport to the rendering code (from mbrubeck:viewport); r=zwarich
Updates to the latest rust-layers and rust-geom to pick up
servo/rust-layers#114.  r? @zwarich

Source-Repo: https://github.com/servo/servo
Source-Revision: 01b4100756ec0ae1ff61d0bee5ea065396bed855
2014-09-29 17:03:26 -06:00
Glenn Watson
5633800c35 servo: Merge #3474 - When rendering to PNG, draw to an FBO rather than default framebuffer (from glennw:reftest-fbo)
Reviewed-by: mrobinson
Source-Repo: https://github.com/servo/servo
Source-Revision: 6fb8eb32f2fb071c1e656542960d9dda7d86f69d
2014-09-27 12:21:31 -06:00
Glenn Watson
229fb43c01 servo: Merge #3398 - Allow resolution to be configured on command line. Default to 1280x1024 (from glennw:config-res)
Reviewed-by: SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 177127e5974e30b35632b206f995659e8b663803
2014-09-25 18:27:38 -06:00