Hi, The current way in which we manage string internment contexts means that we cannot share stylesheets between documents. This introduces somewhat unnecessary fetching and conversion of duplicate copies of a stylesheet when browsing between pages on a site.
For example: http://example.org/ uses /foo.css and /bar.css. It has a link to /baz.html. /baz.html also uses /foo.css and /bar.css. The user navigates to http://example.org/. We fetch and render the page, which gives us 3 contents: one for the HTML and one for each of the stylesheets. The stylesheets are created using the string internment context used by the HTML content. The user clicks the link to /baz.html. We fetch and render the page, which also gives us 3 contents: one for the HTML and one for each of the stylesheets. The stylesheets are created using the string internment context used by /baz.html. It's obvious, therefore, that we're duplicating the contents for foo.css and bar.css for the sole reason that the internment contexts are different. It would be good if we could design a solution that avoids the need for these duplicate CSS contents, but doesn't result in one internment context for the entire process. As an additional complication, scripting and CSSOM will require that CSS contents are copy-on-write. Does anyone have any bright ideas? J.
