Commit graph

85 commits

Author SHA1 Message Date
Sunshine
2ac964fae5
include font-src into CSP 2020-06-26 18:14:46 -04:00
Sunshine
ae5d6d2df4
refactor CSP code 2020-06-26 16:19:44 -04:00
Sunshine
44cac65a83
automatically remove "Refresh" and "Location" META tags 2020-06-26 01:18:52 -04:00
Sunshine
0347fd3985
move metadata tag code into a function 2020-06-25 18:23:56 -04:00
Sunshine
5c229c51da
move functions related to URL manipulation into url.rs 2020-06-24 03:16:40 -04:00
Sunshine
f6ea16b3ad
create a separate function for appending URL fragments 2020-06-24 02:26:05 -04:00
Sunshine
f9aac6f41b
update crates 2020-06-20 01:05:39 -04:00
Sunshine
cbe3f9f554
implement support for embedding images within srcset 2020-05-17 14:06:44 -04:00
Sunshine
a18df74946
refactor code and implement integrity validation 2020-05-12 02:51:37 -04:00
Sunshine
f22e2b6e68
embed SVG IMAGE assets 2020-04-30 19:51:30 -04:00
Sunshine
9b40dbbf27
add option to exclude web fonts 2020-04-22 09:11:20 -04:00
Sunshine
edacd09dc8
store blobs instead of data URLs in cache 2020-04-19 13:26:14 -04:00
Sunshine
a19aa37ea8
Merge pull request #145 from snshn/no-images-svg
Empty SVG nodes when excluding images
2020-04-04 15:55:26 -04:00
Sunshine
791e44796e
resolve hrefs of <area> image-map tags 2020-04-04 14:55:45 -04:00
Sunshine
1d6217ef5a
empty SVG nodes if --no-images 2020-04-03 21:56:46 -04:00
Sunshine
29836d979a
add support for image inputs 2020-04-03 03:30:52 -04:00
Sunshine
643c4ce7ef
implement improvements suggested by @robatipoor 2020-04-03 00:00:08 -04:00
Sunshine
4951fea730
implement full CSS parsing 2020-04-02 01:09:32 -04:00
Sunshine
be25784297
improve SVG media type detection 2020-03-24 08:50:39 -04:00
Sunshine
59a8be493d
add support for working with local assets 2020-03-22 15:48:23 -04:00
Sunshine
d5ee8ae6ab
account for legacy BODY background="" attribute 2020-03-05 04:56:09 -05:00
Sunshine
7654eec7e2
treat frames the same way as iframes 2020-02-24 20:18:13 -05:00
Sunshine
928664dc88
correct is_valid_url to is_http_url 2020-02-23 22:24:33 -05:00
Sunshine
5c8d75539b
rename dataurl to data_url 2020-02-23 22:24:32 -05:00
Sunshine
5ef2b7c9dc
nullify JS within As' href attributes when needed 2020-02-03 01:47:35 -05:00
rhysd
69d99b69e8 remove . in line comment 2020-01-13 23:47:07 +09:00
rhysd
67b79e92f9 simplify &x.into_iter() to x.iter() 2020-01-10 14:45:02 +09:00
rhysd
b51f41fe34 trim attribute values 2020-01-10 14:41:05 +09:00
rhysd
6f158dc6db compare value of 'rel' properties in case-insensitive 2020-01-10 13:52:31 +09:00
rhysd
8d7052b39c ignore preload and prefetch sources
since all resources are embedded as data URL.
2020-01-09 18:18:21 +09:00
rhysd
660511b8a0 define link type of <link> element as enum and prefer match statement
since match statement checks exhaustiveness
2020-01-09 16:55:42 +09:00
rhysd
6e99ad13e7 upgrade reqwest to v0.10.0
This will improve build time and binary size as follows:

* Before

- **Compile targets**: 220
- **Build time**: `cargo build --release  1264.95s user 39.72s system 335% cpu 6:29.14 total`
- **Binary size**: 6578568 bytes

* After

- **Compile targets**: 170
- **Build time**: `cargo build --release  1130.64s user 32.15s system 359% cpu 5:23.69 total`
- **Binary size**: 6107088 bytes

* Differences

- **Compile targets**: 1.29x smaller
- **Build time**: 1.23x faster
- **Binary size**: 1.07x smaller
2020-01-07 14:22:32 +09:00
Sunshine
413dd66886
Merge pull request #96 from rhysd/refactorings
Refactorings
2020-01-05 18:46:31 -05:00
rhysd
dc7ec6e7a8 remove more redundant type annotations 2020-01-04 16:33:11 +09:00
rhysd
ddf4b8ac13 prefer &str to String for reducing allocations 2020-01-04 08:05:02 +09:00
rhysd
84c13f0605 prefer unwrap_or_default to unwrap_or 2020-01-04 07:58:29 +09:00
rhysd
ce03e0e487 reduce allocation on checking DOM attributes and do not hard-code number of elements of array constant
`to_lower` allocates new string but the allocation is not necessary
here.
2020-01-04 07:52:47 +09:00
rhysd
63e19998d0 reduce clones and fix some code styles and redundant code 2020-01-04 07:49:26 +09:00
rhysd
75fb6961ed migrate to Rust 2018 2020-01-03 00:33:49 +09:00
Sunshine
88ffde0c3b wipe integrity attributes 2019-12-26 09:44:01 -05:00
Emi Simpson
dab4ae6965
Merged Y2Z/master with Alch-Emi/lazyload 2019-12-24 10:07:56 -05:00
Sunshine
9ff9dd0928
Merge pull request #82 from snshn/str
implement str!() macro
2019-12-13 03:51:44 -05:00
Emi Simpson
3d4a932ac1
Merge Y2Z/master, fix conflicts between shared-client & resolve-css 2019-12-12 19:29:21 -05:00
Sunshine
9fe913d853 implement str!() macro 2019-12-11 01:36:14 -05:00
Emi Simpson
65d0eab793
Use a shared client initialized in main.rs 2019-12-09 22:17:54 -05:00
Emi Simpson
292221ea28
Lazyloaded images are now loaded at compilation, with placeholders omitted 2019-12-09 19:40:29 -05:00
Emi Simpson
614af44c92
Gramatical and stylistic fixes 2019-12-09 13:58:12 -05:00
Emi Simpson
feb37f5812
Added support for lazy loaded images
Note: The way this patch works is by resolving any data-src tags on images in
the same way as normal source tags are resolved.  It is assumed that most
lazy-load libraries will use this tag, and that if this tag is set, then it is a
URL that is in use.
2019-12-06 19:27:41 -05:00
Emi Simpson
45335d7507
Support links in style= attributes 2019-12-06 15:28:08 -05:00
Emi Simpson
a4743ca92f
Respect the --no-images flag while parsing CSS 2019-12-06 15:00:06 -05:00