mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-23 21:01:08 +00:00
f3e71a1931
This patch implements a per-process cache of parsed stylesheets for non-inline sheets. The entries are evicted when the document gets destroyed and there's no other document with the same principal around. This works fine in practice even when navigating because CC happens pretty late, but we could add an extra timer if we deem it worth it. I had to adapt some tests so that they keep passing. They were already clearing various image / network caches so it seems fine to also clear this one. Note that there's a very subtle change in the load data key: We only miss the cache if the referrer _policy_ is different, not if the referrer is different. While that is slightly dubious, that is the only think that makes this effort somewhat worth it. Otherwise stylesheets would have to be re-fetched if the referrer is different, which effectively would mean to re-parse it if the document URI is different, which is bad. It seems like the network cache only keys on the referrer policy, so it seems fine to do the same. Differential Revision: https://phabricator.services.mozilla.com/D77457
13 lines
267 B
HTML
13 lines
267 B
HTML
<!doctype html>
|
|
<meta charset="utf-8">
|
|
<link rel="stylesheet" href="file_shared_sheet_caching.css">
|
|
<script>
|
|
onload = function() {
|
|
if (parent != window) {
|
|
parent.childWindowLoaded(window);
|
|
} else {
|
|
window.opener.childWindowLoaded(window);
|
|
}
|
|
}
|
|
</script>
|