Commit graph

81 commits

Author SHA1 Message Date
George Roman
f064883e07 Implement pointerMove webdriver action 2019-08-22 10:11:13 +03:00
George Roman
d3696baf27 Implement TakeElementScreenshot WebDriver command 2019-08-20 00:52:46 +03:00
George Roman
225cecf661 Implement pointerDown and pointerUp webdriver actions 2019-08-16 22:08:11 +03:00
Josh Matthews
f1b10393c2 rustfmt 2019-07-09 10:52:43 -04:00
Patrick Walton
2f9c9cefdb WebRender units are no longer reexported. 2019-07-09 10:50:27 -04:00
Alan Jeffrey
e9d410d0ab Support WebXR devices with main thread affinity 2019-07-05 14:02:49 -05:00
Simon Sapin
1d38bc0419 Fix some new warnings 2019-06-22 14:59:09 +02:00
Alan Jeffrey
cc2d203151 Use a test VRDisplay that renders to a GL window 2019-03-05 12:54:12 -06:00
Manish Goregaokar
5413328be2 Update webrender 2018-11-27 17:33:13 -08:00
Jan Andre Ikenmeyer
1d6fe65401
Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
Bastien Orivel
9a7eeb349a Update crossbeam-channel to 0.3 2018-11-18 19:33:19 +01:00
Simon Sapin
9f977c5287 Remove useless use crate_name; imports.
A `crate_name::foo` path always works in 2018
2018-11-08 09:29:52 +01:00
Simon Sapin
2012be4a8b cargo fix --edition-idioms 2018-11-08 09:28:00 +01:00
Pyfisch
9e92eb205a Reorder imports 2018-11-06 22:35:07 +01:00
Simon Sapin
45f7199eee cargo fix --edition 2018-11-06 15:26:02 +01:00
Simon Sapin
2a996fbc8f Replace mpsc with crossbeam/servo channel, update ipc-channel
Co-authored-by: Gregory Terzian <gterzian@users.noreply.github.com>
2018-09-12 13:33:32 +08:00
kingdido999
e4cd04399e Format component compositing #21373 2018-08-31 08:19:22 +08:00
Gregory Terzian
2753e5efab improve spec compliance of window.close 2018-06-04 15:02:23 +08:00
Gregory Terzian
d438240772 move msg to embedder_traits, use in script, handle send error in embedder 2018-05-23 21:45:57 +08:00
OJ Kwon
9ff11b9af3
refactor(embedder): rename file select message 2018-04-27 12:23:26 -07:00
OJ Kwon
52b9e4f0ab
refactor(constellation): replace constellationmsg to filemanagermsg 2018-04-27 12:22:38 -07:00
OJ Kwon
2071245e5f
refactor(compositor): expose new embeddermsg 2018-04-27 12:21:17 -07:00
Fabrice Desré
42886613d3 Notify the embedder when it should display or hide an IME 2018-04-21 19:46:42 -07:00
OJ Kwon
c2161da3ca
feat(browser): implement device select dialog 2018-04-18 11:39:32 -07:00
Paul Rouget
1cdba8843d split window code and browser code in two different files 2018-03-22 08:07:32 +01:00
Paul Rouget
10abe03948 Reduce the number of calls to the embedder by grouping the screen and window coordinates into one structure 2018-03-22 07:56:50 +01:00
Paul Rouget
e25dd45139 alias some euclid types 2018-03-16 14:34:29 +08:00
Paul Rouget
ac4614d6ce Use typed coordinates.
We use Size2D and Point2D across compositing, constellation and script,
losing the type of pixels we use (DevicePixel, DeviceIndepententPixel
or CSSPixel) along the way, which might lead to bugs like
window.outerHeight not taking into account the page zoom (using
DeviceIndepententPixel instead of CSSPixel).
2018-03-16 14:34:29 +08:00
Paul Rouget
ee25413c0f report panic to embedder 2018-02-13 09:40:08 +01:00
Igor Gutorov
4ee9eb8563 style: Move cursor property out of mako 2018-01-20 19:06:29 +02:00
Shing Lyu
c120234f0e Enable screen.availHeight/availWidth/Height/Width 2017-11-13 21:32:10 +01:00
Josh Matthews
99b5eac393 Update webrender for latest RenderNotifier changes. 2017-10-23 11:03:57 +10:00
Martin Robinson
b5d51dd263 Switch to using WebRender hit testing
This trades quite a bit of complicated code in Servo for few more
messages and a significant performance improvement. In particular,
WebRender can search the entire display list at once instead of
ping-ponging down the pipeline tree. This allows us to send mouse
events to the correct pipeline immediately.
2017-10-17 23:33:13 +02:00
Gregory Terzian
6bca3402a6 implement clone for embedder and compositor proxies 2017-08-28 18:39:31 +08:00
Gregory Terzian
01c24e017d move embedder related messages, and window event handling, out of compositor 2017-08-28 18:39:10 +08:00
Fernando Jiménez Moreno
1b123400eb Wait for actual paint before setting paint related metrics 2017-08-22 14:36:06 +02:00
Paul Rouget
899aa0c371 Add TopLevelBrowsingContextId to messages between Embedder <-> Compositor <-> Constellation 2017-08-12 09:07:26 +02:00
Dzmitry Malyshau
101c426eb7 WR multi-document update 2017-07-28 22:28:11 -04:00
Gecko Backout
3f1af3e62f Backed out changeset c424ad1c5f94 for build failures a=backout CLOSED TREE
Backs out https://github.com/servo/servo/pull/17892
2017-07-28 23:21:03 +00:00
Dzmitry Malyshau
8c588e8c36 WR multi-document update 2017-07-28 14:22:36 -04:00
Martin Robinson
e58e8ab42e Upgrade to the latest version of WebRender 2017-07-13 07:44:08 +10:00
Connor Brewster
a92ba8784b Remove unnecessary recv in the constellation 2017-06-23 17:42:18 -06:00
Glenn Watson
c8255922a9 Improve decisions in compositor over when to draw a frame.
This patch fixes a couple of issues in the compositor:

1) Remove the delayed composition code. Previously, this would schedule
   a composite for 12ms in the future. This doesn't really make any sense
   with WR. There's no point in doing a composite unless WR has provided
   a new frame to be drawn. This fixes issues in several benchmarks where
   we were doing multiple composite / renders per rAF, which is a waste
   of CPU time. This *does* make the framerate slower in some cases (such
   as a slow rAF callback) but it's more correct - otherwise we were just
   compositing the same frame multiple times for no real benefit.

2) Inform the window of the current animation state of the compositor.
   Specifically, if an animation (or rAF) is currently active, the
   window system switches to use event polling, and does not block on
   the OS-level event loop. In the case of active animation, we just
   assume that we want to be running as the vsync interval and not
   blocking. This means the compositor thread only sleeps on vsync
   during animation, which reduces OS scheduling and results in much
   smoother animation.
2017-06-20 08:47:14 +10:00
Nicolas Silva
8617320500 Bump euclid to 0.14. 2017-06-14 16:00:59 +02:00
Gregory Terzian
3a693c7a23 separate waking the event loop, from communicating with a compositor 2017-06-06 15:46:25 +08:00
bors-servo
dc594face8 Auto merge of #15794 - paulrouget:head_parsed_url, r=asajeffrey
Notify embedder when history changes

`WindowMethods::set_page_url` is only called when the embedder set the URL. It is not called when the page url is updated. I believe that instead we should just pass the URL to `head_parsed`.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #15439 #15643 and #15642 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because I'm not sure how to test that

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15794)
<!-- Reviewable:end -->
2017-04-25 14:14:31 -05:00
Martin Robinson
d150cc9f95 Eliminate ScrollRootId
Just use WebRender's ClipId directly. This will allow us to create and
use ReferenceFrames in the future, if we need to do that. It will also
make it easier to have Servo responsible for creating the root
scrolling area, which will allow removing some old hacks in the future.
2017-04-20 08:51:38 +02:00
Paul Rouget
e493548135 Notify embedder when history changes 2017-04-18 07:32:35 +02:00
Paul Rouget
79a5bf0cbf Let the embedder decide if servo should follow a link or not 2017-03-02 09:33:45 +01:00
Jansen Jan
55f0e56224 Add support for fullscreen #10102 2016-12-09 11:45:50 +01:00