Commit Graph

243 Commits

Author SHA1 Message Date
James Graham
7de96c0710 servo: Merge #6415 - Add DOMLoad message to constellation that is sent after the DOM Load event is dispatched (from jgraham:dom_load); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 361d94d23ebf2897a240763d28fbb77b3d831b34
2015-08-07 11:30:33 -06:00
Josh Matthews
f99a26cba8 servo: Merge #6874 - Start reporting memory usage for Window and all nodes in all DOM tree… (from jdm:domreporting); r=njn
…s for frame treese in script tasks.

This underreports by a significant amount, since only Document, Window and CharacterData (ie. text) nodes are fully represented. That being said, every HTML element in the tree is measured, but only counted as a Node. It's easy to improve this, it just requires adding the appropriate HeapSizeOf derives and increasing the granularity of `measure_memory_for_eventtarget`. google.com shows a dom-tree value of 0.24 MB for me at the moment.

r? @nnethercote

Source-Repo: https://github.com/servo/servo
Source-Revision: 84e25befdd97cf74fb00707dbe150d59d980e977
2015-08-03 21:24:41 -06:00
Bruno de Oliveira Abinader
e5a182f113 servo: Merge #6181 - Implement Msg::Status with serialized url upon mouseover (from brunoabinader:mouseover-status); r=larsbergstrom
Credits for Mike Blumenkrantz (@zmike), I just rebased against trunk and
fixed the url serialization.

Fixes #6178.

Source-Repo: https://github.com/servo/servo
Source-Revision: 82e476fd07564f2822a5af1f397751027ddf7258
2015-07-30 08:45:31 -06:00
ecoal95
0f3f06a4f3 servo: Merge #6812 - webgl: Make context creation fallible. Fixes #6806 (from emilio:webgl-fail); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b90fd5931dbba9cf26e3111132587ea285dbca05
2015-07-29 15:29:58 -06:00
Avi Weinstock
56489e610f servo: Merge #6654 - Add copy-to-clipboard feature under x11 (from aweinstock314:add-x11-copy-to-clipboard); r=jdm
The main work is in the the rust-clipboard library, this PR updates Cargo.lock and adds plumbing.

0337e48b3f

Source-Repo: https://github.com/servo/servo
Source-Revision: 28e163d6c44f1d85fbaea7f236da40972b6a63b1
2015-07-29 11:26:00 -06:00
Patrick Walton
89b3b2b275 servo: Merge #6616 - script: Make most of 2D canvas and WebGL run over IPC (from pcwalton:canvas-webgl-ipc); r=jdm
To actually make the multiprocess communication work, we'll need to
reroute the task creation to the pipeline or the compositor. But this
works as a first step.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 1764267379a00b96a1df89f3917299a0c6fd325c
2015-07-25 01:50:31 -06:00
Bogdan Cuza
a7c587c432 servo: Merge #6648 - Make tidy check for "*" in toml files (from boghison:tidytoml); r=jdm
This checks every .toml file for an asterisk and prints an error if found.

Source-Repo: https://github.com/servo/servo
Source-Revision: 58e9bc6583b6ebbeb27e3b28a6b271ee48cd695a
2015-07-20 14:43:05 -06:00
James Graham
0db2c15184 servo: Merge #6392 - Implement support for Get URL and Refresh in WebDriver server (from jgraham:webdriver_get_url_refresh); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 93a0c29ad4531880b359b96cc5e086af2d30f71c
2015-07-19 15:03:36 -06:00
Patrick Walton
c301520dae servo: Merge #6593 - compositing: Make the constellation messages serializable (from pcwalton:constellation-ipc); r=jdm
Same idea as before. This depends on:

* https://github.com/servo/euclid/pull/94
* https://github.com/hyperium/hyper/pull/603

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f4bdc6ad631dc56b64622e3390943b59270b3ae
2015-07-18 07:43:24 -06:00
Patrick Walton
73a1dca1b4 servo: Merge #6583 - gfx: Make display lists serializable using serde (from pcwalton:serializable-display-list); r=metajack
This commit introduces the `serde` dependency, which we will use to
serialize messages going between processes in multiprocess Servo.

This also adds a new debugging flag, `-Z print-display-list-json`,
allowing the output of display list serialization to be visualized.
This will be useful for our experiments with alternate rasterizers.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: ef9715203edf0a280d019b6e8823666f0e7020be
2015-07-15 14:04:55 -06:00
Martin Robinson
2b8865b89f servo: Merge #6591 - Upgrade to rustc 1.3.0-dev (fddfd089b 2015-07-10) (from servo:rustup_2015-07-10); r=larsbergstrom
Depends on https://github.com/jgraham/webdriver-rust/pull/12.

Fixes #6020.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9af229b83095f2f8cfe7b61003b85ddf781f4ea7
2015-07-14 13:40:22 -06:00
Patrick Walton
cd4263a0d6 servo: Merge #6596 - compositing: Make ScriptListener and LayoutControlChan messages go over IPC (from pcwalton:layout-control-ipc); r=jdm
r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 64751b8eef5b95de9ac3b9a382b4cb4408cb90c0
2015-07-14 08:46:07 -06:00
Martin Robinson
d88fa0b35e servo: Merge #6530 - Move LayerBuffer cache to the compositor (from mrobinson:move-cache); r=pcwalton
Now that NativeDisplay can be shared between the compositor and the
paint task, we can move the LayerBuffer cache to the compositor. This
allows surfaces to be potentially reused between different paint tasks
and will eventually allow OpenGL contexts to be preserved between
instances of GL rasterization.

Source-Repo: https://github.com/servo/servo
Source-Revision: 10b0d8c537c226400a617d28e8a060f9ca53d242
2015-07-08 03:14:21 -06:00
Martin Robinson
633ad595be servo: Merge #6525 - Update to latest rust-layers (from mrobinson:simplify-display); r=glennw
The compositing context, painting context and display metadata have all
been collapsed into a single NativeDisplay class.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4674afe846df6720882da28cbd2c3087c17d0b22
2015-06-30 17:02:26 -06:00
Jesse Ruderman
12dff28fc2 servo: Merge #6495 - Add keyboard shortcuts to glutin browser (from jruderman:add_keyboard_shortcuts_2); r=metajack
Supersedes #6488. Changes since then:

* Fix a few places where we needed cfg(feature = "window") in order to compile without the feature.
* Zoom-in shortcut now works both with and without shift. (Uses a guard because I couldn't think of another way to do it without CTFE.)
* Back/forward shortcuts now correctly use Alt on non-Mac platforms.
* The back/forward shortcuts that use square brackets are now non-Windows, rather than Mac-only. This roughly matches XP_UNIX: http://hg.mozilla.org/mozilla-central/file/d4c4ce7f060c/browser/base/content/browser-sets.inc#l354

Source-Repo: https://github.com/servo/servo
Source-Revision: 420cf4c8dcbe4bba822bb6980b301416d9b5526e
2015-06-29 11:44:03 -06:00
Glenn Watson
d905323231 servo: Merge #6425 - Implement enough of 3d transforms spec to run the CSS FPS demo (from glennw:3d-transforms); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: dcb1237bb5deb84cdf921bf7b145b07eb2bd1430
2015-06-23 12:13:25 -06:00
ecoal95
87b4c78bcf servo: Merge #6423 - Use euclid from crates.io (from emilio:euclid); r=glennw
Sorry for not doing it yesterday, I couldn't.

cc @metajack @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 4ebb95ccd8e034007eacb447a054919ef4af2bf7
2015-06-18 20:50:22 -06:00
James Graham
4e3e3e0c46 servo: Merge #6401 - Implement timeout for url load from WebDriver (from jgraham:load_timeout); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: ee54c89e3f801dcd90a494c65ff8cfd975a6be6f
2015-06-17 10:16:27 -06:00
Jack Moffitt
6b0e6ce8c7 servo: Merge #6295 - Clean up dependencies (from metajack:cargo-cleanup); r=frewsxcv
Overlaps a bunch with #6288. Putting this here so @frewsxcv can take a look and we can figure out how to merge our work together.

Source-Repo: https://github.com/servo/servo
Source-Revision: 96311aa9b71abb31fd8e4283de9e1b58813108a3
2015-06-07 13:15:20 -05:00
Corey Farwell
7d5e42f547 servo: Merge #6286 - Bump rust-url version: 0.2.16 → 0.2.35 (from frewsxcv:bump-url); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ad5846f2e14ac15aca9f561975ae9476d0f13244
2015-06-04 16:34:40 -05:00
Mike Blumenkrantz
92f74c1837 servo: Merge #6219 - Favicon support: way more work than anyone expected or considered (from zmike:favicons_and_stringlOWWW-MY-HEAD); r=pcwalton
Getting these down to the embedding API level required that I redo the bindings generator again, so this is more commits than anticipated.

@mbrubeck @Manishearth @pcwalton but NOT @larsbergstrom so don't even look at this.

Source-Repo: https://github.com/servo/servo
Source-Revision: b0f3417cffb211d547853b8069e7a444a1d9964f
2015-06-03 00:27:41 -05:00
James Graham
f931ce8911 servo: Merge #6161 - Changes to improve the stability when running multiple tests with servodriver (from jgraham:webdriver_stability); r=glennw
This fixes various race conditions that affect test execution when using the servodriver product. It doesn't yet do enough to make servodriver a viable alternative to the normal servo test executor.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b7886b15fa986612e81e7da3dd88b2d7949e719
2015-06-02 21:11:44 -05:00
Manish Goregaokar
d9657f9100 servo: Merge #6254 - Move to latest hyper everywhere, more package updates (from servo:rustup_20150601); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 20f63459ef198bf96679cbb72355917e7a774265
2015-06-02 12:53:37 -05:00
Corey Farwell
43e2d6c6d7 servo: Merge #6230 - Remove get_ prefix on getters (from frewsxcv:getters-get); r=nox
Part of #6224

I certainly didn't remove all of them; I avoided `unsafe` areas and also `components/script`

Source-Repo: https://github.com/servo/servo
Source-Revision: f6fe1953343a417b62fb310a380af7c6973849b0
2015-06-02 08:17:03 -05:00
James Graham
5a4e5f29a4 servo: Merge #6009 - Add support for switching frames with the webdriver API (from jgraham:webdriver_frames); r=jdm
This moves webdriver_traits into msg to avoid a circular dependency.

Source-Repo: https://github.com/servo/servo
Source-Revision: d08995e1a94fa093b7fc1e5d918d9dca79f260d6
2015-06-01 17:30:37 -05:00
Mike Blumenkrantz
4be5a1ae35 servo: Merge #6175 - Embedding: revenge of cargo (from zmike:embedding-REVENGE_OF_CARGO); r=larsbergstrom
Adds a bunch more embedding interfaces/callbacks/functionality

@larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 94ebfe81e454ca6dd68210b4475b4091e836dd1a
2015-05-27 14:17:32 -05:00
Corey Farwell
3d43073796 servo: Merge #6174 - Reduce max line length from 150 to 120 characters (from frewsxcv:cleanup-long-lines); r=SimonSapin
Part of https://github.com/servo/servo/issues/6041

Source-Repo: https://github.com/servo/servo
Source-Revision: 542519ebfd073662bc9421ac5fa0aa01ebc0d6fe
2015-05-24 18:27:26 -05:00
ecoal95
0656a2b904 servo: Merge #6083 - First steps to layerize canvas (from emilio:layerize-canvas); r=pcwalton
I've done a bit of job to get this done. Right now readback is still used, but we have a `LayerId` -> `CanvasRenderer` map on the paint task, that we can use to get rid of that.

I'd want review, to see if this is a good approach (I know it's not the initial `CanvasId` -> renderer approach, but it's pretty similar, since a canvas involves a `PaintLayer`).

I had to do a bit of refactoring to avoid cyclic dependencies between canvas and gfx. I'd want you to review them too.

It's mergeable and doesn't break any tests :P

Some of my main concerns:
* Does the canvas render really need to be behind an `Arc<Mutex<T>>`?
* I can't clone a `NativeSurface` right now (that's why the `SendNativeSurface()` msg is unimplemented in the WebGL task). It should be easy to add that to rust-layers, supposing the caller is responsible to mark it as non-leaking, any reason to not do it?

cc @jdm @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: ad53e95080144485e74cd9b9d48ce75e20de4e36
2015-05-20 15:42:06 -05:00
Glenn Watson
17e3775b23 servo: Merge #6131 - Fix several hangs / panics during pipeline cleanup of in progress loads (from glennw:jquery-exit-fix); r=jdm
This fixes a hang found while testing the jQuery test suite.

Source-Repo: https://github.com/servo/servo
Source-Revision: c51e9f04559f04f1e820b792261e1653c6869ee5
2015-05-19 21:44:45 -05:00
Patrick Walton
cf0b11ec43 servo: Merge #6053 - compositing: Implement display ports and avoid creating display lists for items outside it (from pcwalton:displayports); r=glennw
This improves Servo's performance on large pages.

Please double-check the logic when it comes to nested layers—I'm sure I've messed up some of the geometry calculations :)

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 0880e54f987bac7c34c934ef6ee36f46475b06e3
2015-05-19 19:40:36 -05:00
Ms2ger
30431efd3c servo: Merge #6044 - Various cleanup (from Ms2ger:cleanup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7bda431e61d06113306c3f12d9f4240a58a7d34d
2015-05-14 07:16:42 -05:00
James Graham
771e23db73 servo: Merge #6022 - Add enough execute_async_script support to webdriver that we can run web-platform-tests (from jgraham:webdriver_execute_async_script); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b05c3fc0c063e32168a9630dc2a0e8adc9285dae
2015-05-14 05:02:27 -05:00
Glenn Watson
6cd31b7d9f servo: Merge #5890 - Various fixes for cleaning up iframes, compositor layers, pipelines and threads (from glennw:iframe-cleanup); r=jdm
This allows most of the jquery test suite to run without exhausting thread resources.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7e022b25a8ab87897180dcf1b6aff8d9b57adcb4
2015-05-13 22:34:59 -05:00
Glenn Watson
76f1d2ef46 servo: Merge #6031 - Fixes a number of race conditions and reliability issues with reftests and compositor (from glennw:reftest-race-conditions); r=larsberg,jdm
The basic idea is it's safe to output an image for reftest by testing:
 - That the compositor doesn't have any animations active.
 - That the compositor is not waiting on any outstanding paint messages to arrive.
 - That the script tasks are "idle" and therefore won't cause reflow.
    - This currently means page loaded, onload fired, reftest-wait not active, first reflow triggered.
    - It could easily be expanded to handle pending timers etc.
 - That the "epoch" that the layout tasks have last laid out after script went idle, is reflected by the compositor in all visible layers for that pipeline.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e61ebaa05e5babb7b2fdd1347b6cdd23df38e62
2015-05-13 18:37:54 -05:00
Glenn Watson
7de50d6cf2 servo: Merge #6013 - Fix a compositor race condition that can result in the most recent buffer not being painted (from glennw:compositor-race); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 606ab1df448368fdffd531f4c66f1f069b942eac
2015-05-12 20:44:19 -05:00
Simon Sapin
c76487e1bf servo: Merge #6021 - Upgrade to Hyper 0.4.0 (from SimonSapin:hyperup); r=Manishearth
r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 8cacf20a075b3747509897599c37662721d18d1c
2015-05-12 12:42:49 -05:00
James Graham
3542f4af9e servo: Merge #5884 - Support WebDriver takeScreenshot command (from jgraham:webdriver_screenshot); r=jdm
This adds support for compositing to a PNG without actually quiting
the browser.

Cargo bits need to be updated after the upstream changes to rust-png land.

Source-Repo: https://github.com/servo/servo
Source-Revision: 63ba1cb69b80d70c1d893ba80edd802cd326316d
2015-05-07 04:59:04 -05:00
James Gilbertson
8a584c6fcf servo: Merge #5361 - Implement CSS Device Adaption Level 1 (from luniv:css-device-adapt); r=mbrubeck
Spec: http://dev.w3.org/csswg/css-device-adapt/

Currently, the actual viewport is used by the layout task as part of the reflow, and the compositor uses the zoom constraints. I'm not sure if anywhere else currently needs access to the constraints (i.e. there's no CSSOM as far as I can tell).

I did not implement sections 9 (viewport <META>) or 10 (handling 'auto' for 'zoom').

Source-Repo: https://github.com/servo/servo
Source-Revision: ccf1e6b9a701cf4ff010fa1f1b4ba9d656d962af
2015-05-06 12:41:09 -05:00
James Graham
e506fc25c0 servo: Merge #5962 - Implement webdriver commands for back/forward/title/handles (from jgraham:webdriver_navigation); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 72c20d8491137a82160e5455c89ff1a42f3767a7
2015-05-06 10:34:44 -05:00
Guro Bokum
8800f4e7e5 servo: Merge #5753 - Start using on_refresh_driver_tick #5681 (from JIoJIaJIu:timeline); r=jdm
RequestAnimationFrame
[Task](https://github.com/servo/servo/issues/5681)

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e59e77c416dbe35e8c30ca1c21c9088ed17a079
2015-05-06 00:50:13 -05:00
Prabhjyot Singh Sodhi
c0097a3fe1 servo: Merge #5895 - Uniformise the various Msg types [#5882] (from psdh:uniformiseMsgTypes); r=jdm
Fixes #5882

Source-Repo: https://github.com/servo/servo
Source-Revision: 19a4a263645a643d3a3f79b41b816fe8b8727265
2015-04-29 15:51:39 -05:00
Ms2ger
622e167a6a servo: Merge #5888 - Prepare for the rustup (from Ms2ger:prepare-rustup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: ab2d07db1fabd7ad9590aa7296038bbc91806c3f
2015-04-28 17:52:49 -05:00
James Graham
b71012fbc1 servo: Merge #5808 - Add script execution support via WebDriver (from jgraham:webdriver_execute_script); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 38ac11d0b8ae4244f49b59a6321a1a570ea01e03
2015-04-23 13:41:11 -05:00
Avi Weinstock
effc56f690 servo: Merge #5547 - X11 clipboard support (from aweinstock314:x11-clipboard); r=jdm
Manual re-opening of #5479 (since it seems that GitHub disables re-opening with the same number after a rebase).

Source-Repo: https://github.com/servo/servo
Source-Revision: 9974ebb2f969d2de8959fe74844b7410a5acd54e
2015-04-21 14:41:32 -05:00
Glenn Watson
0eccf68b72 servo: Merge #5559 - Support focus management and keyboard events for iframes (from glennw:iframe-focus); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b8daa24b8d25c531ea74a70b4b6e25cb3d7d58c
2015-04-19 18:13:59 -05:00
James Graham
3ea2485816 servo: Merge #5610 - Add enough Webdriver support to enable Get() (from jgraham:jgraham/webdriver-get); r=jdm
This is incomplete in several ways:

* It assumes that there's only one constellation (i.e. top level browsing context), ever.
* The session support is very basic indeed (no capabilities)
* Passing channels over channels may not sit well with IPC
* The error handling is mostly missing

Source-Repo: https://github.com/servo/servo
Source-Revision: af2f46bddad7a0e87a46fc3e303f15b4343226c7
2015-04-16 12:35:25 -05:00
Patrick Walton
b4a63e5dbd servo: Merge #5400 - layout: Implement CSS transitions per CSS-TRANSITIONS § 2 (from pcwalton:transitions-redux); r=glennw
Transition events are not yet supported, and the only animatable
properties are `top`, `right`, `bottom`, and `left`. However, all other
features of transitions are supported. There are no automated tests at
present because I'm not sure how best to test it, but three manual tests
are included.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: ebdf1d494b6c986e6dfcb7d8fd3f0ffa126523ed
2015-03-31 10:39:56 -06:00
Ms2ger
b244a0a2c4 servo: Merge #5416 - Remove some int/uints (from Ms2ger:int); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 674e52afa1012cb342629dab4d3abae975a16fe9
2015-03-28 13:58:02 -06:00
Thiago Pontes
79eadfe612 servo: Merge #5181 - Notify devtools about new worker globals (from thiagopnts:master); r=jdm
This is for #4704. I'm not sure if this is the best approach, so I'm open to suggestions.

Source-Repo: https://github.com/servo/servo
Source-Revision: 439e3150d74453b86abbcc7934b7e5152f102940
2015-03-27 13:33:56 -06:00
Avi Weinstock
96762695f2 servo: Merge #5359 - Moz events (from aweinstock314:moz-events); r=jdm
Addresses #5352.

This is based on https://github.com/glennw/servo/tree/moz-events

Source-Repo: https://github.com/servo/servo
Source-Revision: 432739164b1f3a117c0aac1dfc97b41018c89b46
2015-03-25 20:00:54 -06:00