Commit graph

152 commits

Author SHA1 Message Date
Sadman Kazi
708c561ae6 Pass URL to Browser::new(), delegate url checking logic to third party
Use Option instead of ServoUrl for url in opts

Cleaner mapping from parse_url to url_opt

Add comment about url parsing error

Print reason for parsing error

Remove comment about warning

Add home url when openning new browser window in CEF

Fix merge error
2017-06-08 19:05:39 -07:00
Gregory Terzian
3a693c7a23 separate waking the event loop, from communicating with a compositor 2017-06-06 15:46:25 +08:00
Dzmitry Malyshau
b548e6aa1c -Z wr-no-batch option 2017-05-19 21:43:35 -04:00
Paul Rouget
56d645281f make gl context current on browser initialization 2017-05-17 09:25:51 +02:00
Fernando Jiménez Moreno
72d7ee613b Make image cache per-document rather than global 2017-03-27 19:54:13 +02:00
Glenn Watson
fe75382bcb Update WR (gl/es runtime table, scroll roots). 2017-03-23 14:32:03 +10:00
Paul Rouget
b8cd715b3e Expose a method to toggle wr profiler 2017-03-20 01:40:38 +01:00
Glenn Watson
034feafa8c Update WR (types updates, stacking context culling) 2017-03-09 10:32:40 +10:00
Glenn Watson
44fe81da41 Update WR (overscroll support + fix viewport tests). 2017-03-06 08:21:32 +10:00
Josh Matthews
c890c9143c Make script thread initiate requests for images needed by layout.
In support of this goal, the layout thread collects information about
CSS images that are missing image data and hands it off to the script
thread after layout completes. The script thread stores a list of
nodes that will need to be reflowed after the associated network
request is complete. The script thread ensures that the nodes are
not GCed while a request is ongoing, which the layout thread is
incapable of guaranteeing.

The image cache's API has also been redesigned in support of this
work. No network requests are made by the new image cache, since it
does not possess the document-specific information necessary to
initiate them. Instead, there is now a single, synchronous
query operation that optionally reserves a slot when a cache
entry for a URL cannot be found. This reserved slot is then
the responsibility of the queryer to populate with the contents
of the network response for the URL once it is complete. Any
subsequent queries for the same URL will be informed that the
response is pending until that occurs.

The changes to layout also remove the synchronous image loading
code path, which means that reftests now test the same code
that non-test binaries execute. The decision to take a screenshot
now considers whether there are any outstanding image
requests for layout in order to avoid intermittent failures in
reftests that use CSS images.
2017-02-22 14:19:35 -05:00
Glenn Watson
0af27a3434 Rename ScreenPx to DeviceIndependentPixel. 2017-02-22 14:37:24 +10:00
Glenn Watson
64cc8b1d1b Update WR (more scroll/clip work, fix for zero sized stacking contexts). 2017-02-21 13:04:33 +10:00
Ms2ger
f625c76d46 Add more public crates to libservo.
Fixes #15640.
2017-02-20 11:40:03 +01:00
Glenn Watson
cbe7f09f81 Update WR (pixel snapping improvements).
This includes a WR update that improves pixel snapping. Specifically,
the non-transform shader now snaps to device pixels in world space,
rather than local space.

This makes 31 new tests pass, and adds 4 new failures.

Of the new failures:
 - The three background size tests appear to be an OSMesa accuracy
   issue. Near the bottom of the image, a small number of pixels
   are different from the reference by a value of 1.0 / 255.0. I've
   confirmed on 3 real GPUs and also on llvmpipe that the tests
   match on those devices. This would be a good case for fuzzy test
   support in WPT.
 - The other failing test appears to have unreasonable accuracy
   requirements as it also fails on Gecko and Chromium in the same
   way that the test now fails on WR.
2017-02-13 23:46:28 +01:00
Glenn Watson
f1558b1c7b Update WR.
- Subpixel positioning improvements.
- Clipping fixes and optimizations.
- Fix panic when transform can't be inverted.
- Support multiple filters on single stacking context.
- Optimize gradients, support unlimited stops.
- Add external image + texture cache support.
- Support error path on shader compile error.
- Optimize border handling in texture atlas.
- Preliminary work towards clip/scroll root changes.
2017-02-07 17:19:16 +10:00
Anthony Ramine
db3e5be878 Update core-foundation-sys to 0.3 2017-02-07 14:35:30 +10:00
Glenn Watson
4cbefe82b5 Update WR (radial gradients, subpixel positioning, tiling changes). 2017-02-01 05:40:44 +10:00
Ms2ger
14fe337866 Update rustc to 1.16.0-nightly (7821a9b99 2017-01-23). 2017-01-24 11:02:51 +01:00
bors-servo
851d6230f3 Auto merge of #14818 - glennw:zb, r=pcwalton
Update WR (first phase of z-buffer optimizations / improvements).

<!-- 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/14818)
<!-- Reviewable:end -->
2017-01-09 11:56:40 -08:00
Imanol Fernandez
c5705bff50 WebVR API Implementation, r=larsbergstrom 2017-01-09 12:44:39 +01:00
Glenn Watson
3d9475457c Update WR (first phase of z-buffer optimizations / improvements). 2017-01-09 09:41:51 +10:00
Glenn Watson
b5c99f0acd Update WR (windows font fixes, ridge/groove borders, scrolling improvements). 2016-12-23 14:00:40 +10:00
Glenn Watson
f517d03364 Update WR (typed units, glyph cache, various features). 2016-12-15 12:11:51 +10:00
Alan Jeffrey
9be4fd56ce Removed util. 2016-12-14 18:04:37 -06:00
Gregory
fb98acbc4d update deps
switch to using webrender_traits::ImageData

update use of webrender_traits::StackingContext in layout

use webrender_traits::channel::msg_channel in webgl ipc

fix use of resource_override_path in components/servo/lib
2016-11-22 07:46:42 +10:00
bors-servo
696b806284 Auto merge of #14249 - vvuk:wr-record, r=kvark
Add -Z wr-record

This adds `-Z wr-record`, which flips `enable_recording` to true for Webrender.

<!-- 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/14249)
<!-- Reviewable:end -->
2016-11-18 08:29:27 -06:00
Emilio Cobos Álvarez
913c874cb5
Urlmageddon: Use refcounted urls more often. 2016-11-17 18:34:23 +01:00
Vladimir Vukicevic
6690fc84a8 Add -Z wr-record 2016-11-16 10:25:54 -05:00
bors-servo
2d0c7166f1 Auto merge of #14181 - frewsxcv:opt-clone, r=nox
Don't unnecessarily clone entire `opts::Opt` structure.

`opts::Opt` is a pretty big structure, so cloning everything is
excessive when we only need a few items.

<!-- 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/14181)
<!-- Reviewable:end -->
2016-11-12 05:56:59 -06:00
Corey Farwell
6a101921c4 Store directory path as PathBuf instead of String. 2016-11-11 23:41:22 -05:00
Corey Farwell
f0020297f5 Don't unnecessarily clone entire opts::Opt structure.
`opts::Opt` is a pretty big structure, so cloning everything is
excessive when we only need a few items.
2016-11-11 21:31:44 -05:00
Emilio Cobos Álvarez
a7cee44f59
script: Ensure script is initialized before running script.
Fixes #14154
2016-11-12 02:27:51 +01:00
bors-servo
1153ca9841 Auto merge of #13909 - dati91:promise-queue, r=jdm
Webbluetooth Async behaviour

<!-- Please describe your changes on the following line: -->

Note: depends on https://github.com/servo/servo/pull/13612

The current WBT communication is synchronous. With this, it should work properly (except the disconnect function, which will need some more work, because the current implementation differ from the spec).

<!-- 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

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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/13909)

<!-- Reviewable:end -->
2016-11-08 09:05:12 -06:00
Attila Dusnoki
e7e7c74c9e Webbluetooth Async behaviour 2016-11-08 13:27:56 +01:00
Glenn Watson
e9c6ee30a1 Update WR and shaders (initial subpixel AA work). 2016-11-08 16:46:25 +10:00
Eddy Bruel
c8c5254f8b Replace rust-websocket with ws-rs in the debugger server. 2016-11-07 11:49:10 +01:00
Ms2ger
4fbe415e80 Split the bluetooth code out from the net crates. 2016-11-03 16:45:07 +01:00
Glenn Watson
acfdfd2fa9 Remove old rendering backend.
This removes paint threads, rust-layers dependency, and changes
optional webrender types to be required.

The use_webrender option has been removed, however I've left
the "-w" command line option in place so that wpt
runner can continue to pass that. Once it's removed from there
we can also remove the -w option.

Once this stage is complete, it should be fine to change the
display list building code to generate webrender display
lists directly and avoid the conversion step.
2016-10-18 10:21:27 +10:00
Corey Farwell
60afad1b61 Migrate user agent string to Cow<'static, str>.
In most scenarios, where the user of Servo will not override the default
user agent, the user agent can be a `&'static str`. But since we allow
for customization, we currently use a `String` to represent the user
agent. This commit migrates the user agent to be represented as a
`Cow<'static, str>`, which (at the cost of ergonomics) prevents
unnecessary allocations whenever cloning the user agent string in the
scenario the user doesn't override the user agent.
2016-10-10 16:34:20 -04:00
Glenn Watson
cdb69d4423 Add OSMesa headless mode, run WPT against Webrender, update tests. 2016-09-28 11:57:33 +10:00
Glenn Watson
15f4d7c587 Update webrender + shaders. 2016-09-16 11:01:24 +10:00
Eddy Bruel
8856671f2e Implement a WebSocket server for debugging. 2016-09-12 11:02:09 +02:00
UK992
93a103ba73 Reorder use statements 2016-09-09 04:55:19 +02:00
Anthony Ramine
51768844ed Update euclid to 0.10.1 2016-08-21 03:03:45 +02:00
Glenn Watson
e5f183a086 Add wr-debug option. 2016-08-03 10:14:40 +02:00
Anthony Ramine
1662e292d8 Remove use of util::opts from resource_thread 2016-07-27 10:22:06 +02:00
Manish Goregaokar
ceb85795b1
Use Result instead of panicking when the resource dir can't be found 2016-07-21 12:07:25 +05:30
Rahul Sharma
eff3e01df0 make resource_thread talk to sw-manager 2016-07-18 19:06:48 +05:30
Rahul Sharma
1e6293ea1d Integrate service worker manager thread 2016-07-16 23:29:44 +05:30
Alan Jeffrey
44422744ff Sent log messages to the constellation. 2016-07-15 13:44:44 -05:00