Commit graph

35 commits

Author SHA1 Message Date
Josh Matthews
b174a684d1 Add useful debug information to image cache. 2017-02-22 14:19:35 -05:00
Josh Matthews
0d2ec852ac Send response for image requests progressively to image cache. 2017-02-22 14:19:35 -05:00
Josh Matthews
21118f0a8a Synchronously decode images if decoded bytes are requested after the full response is received. 2017-02-22 14:19:35 -05:00
Josh Matthews
980eb5ac33 Avoid dropping image requests on the ground from non-script-initiated reflow. 2017-02-22 14:19:35 -05: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
4cbefe82b5 Update WR (radial gradients, subpixel positioning, tiling changes). 2017-02-01 05:40:44 +10:00
Simon Sapin
53f5023685 Fix/silence some warnings 2016-12-20 07:07:06 +01:00
bors-servo
fde9ac1768 Auto merge of #14586 - deror1869107:Remove-ResponseAction, r=jdm
Remove-ResponseAction

<!-- Please describe your changes on the following line: -->
Remove the old Enum ResponseAction and use net_traits::FetchResponseMsg instead.

---
<!-- 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 #13717 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because @KiChjang said so.

<!-- 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/14586)
<!-- Reviewable:end -->
2016-12-14 20:34:01 -08:00
Alan Jeffrey
9be4fd56ce Removed util. 2016-12-14 18:04:37 -06:00
deror1869107
55dddc8c41 Remove-ResponseAction
Remove redundant code
2016-12-15 01:16:52 +08: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
Emilio Cobos Álvarez
913c874cb5
Urlmageddon: Use refcounted urls more often. 2016-11-17 18:34:23 +01:00
Glenn Watson
1f00931045 Update WR - stride support, remove deprecated / unused shaders. 2016-11-09 13:35:14 +10:00
Ms2ger
634a3989ad Move ResponseAction to the image cache. 2016-11-02 16:15:25 +01:00
Ms2ger
e8d9546035 Use fetch_async in the image cache. 2016-11-02 16:15:20 +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
UK992
93a103ba73 Reorder use statements 2016-09-09 04:55:19 +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
1e6293ea1d Integrate service worker manager thread 2016-07-16 23:29:44 +05:30
Andre Silva
b10c3582d2 Remove unnecessary uses of unwrap in ImageCache::handle_cmd 2016-07-02 17:56:35 +01:00
Rahul Sharma
3766cd1673 adding interface for custom responses 2016-05-20 12:11:56 +05:30
Zhen Zhang
a51db4cfa8 Implement trait-based ResourceThreads and clean up related naming issues
Changes include:

- Introduce an IpcSend trait to abstract over a collection of IpcSenders
- Implement ResourceThreads collection to abstract the resource-related
  sub threads across the component
- Rename original ResourceThread and ControlMsg into an unifed CoreResource__
  to accommodate above changes and avoid confusions
2016-05-20 08:00:16 +08:00
Sagar Muchhal
5b9251ed3b Added Store Command to ImageCache Task 2016-04-26 03:05:15 -04:00
Rebecca
526525b835 Add referrer policy pass-through and referrer header logic
add pass-through from doc to http-loader for referrer_policy, ref_URL
add logic for setting referer header
add script pass-through for referrer
add unit tests for setting referer header
2016-04-25 16:41:06 -04:00
Ravi Shankar
5e6f32a59b Propagating the load errors from network loader 2016-04-20 12:38:35 -04:00
Corey Farwell
182b9b1e4f Use external 'threadpool' crate, remove in-tree utility. 2016-03-18 11:05:49 -04:00
Ms2ger
e8db43ce50 Disallow unsafe code in net and net_traits. 2016-03-18 10:30:07 +01:00
Ms2ger
d5b559c37c Bonus fix: Rewrite get_image_or_meta_if_available in an imperative style.
I believe this is more readable.
2016-03-07 14:30:23 +01:00
Ms2ger
1064c3dca0 Move the receivers out of the ImageCache struct. 2016-03-07 14:29:49 +01:00
Ms2ger
9c75ddfe66 Inline ImageCache::do_run. 2016-03-07 14:15:47 +01:00
Ms2ger
9c4f2265d0 Use the select! macro in ImageCacheThread. 2016-03-07 14:13:33 +01:00
Ms2ger
6de127a343 Move the ImageCacheThread's closure into a function. 2016-03-07 14:08:41 +01:00
Glenn Watson
c0531c312f Add WebRender integration to Servo.
WebRender is an experimental GPU accelerated rendering backend for Servo.

The WebRender backend can be specified by running Servo with the -w option (otherwise the default rendering backend will be used).

WebRender has many bugs, and missing features - but it is usable to browse most websites - please report any WebRender specific rendering bugs you encounter!
2016-02-18 10:35:29 +10:00
jmr0
167ffa7a95 adding image metadata notification capabilities to image cache 2016-01-29 20:54:49 -05:00
rohan.prinja
1f02c4ebbb task -> thread 2016-01-10 17:58:13 +09:00
Renamed from components/net/image_cache_task.rs (Browse further)