The bit I don't like about these changes is that I ended up hiding the document node from the CSS selecting/matching code, so it continues thinking of the document's first child as the root. When I tried to send the full tree including the document node to layout, the layout code refused to create any child flows. When I sent the document's first child without hiding the document, it saw inherited values for properties like font-family, and later tried to treat the document node as an Element when searching for named nodes.
This broke in ab0d620 and in trying to fix it, it's become clear that I don't understand the intended behavior of `getClientRects()`. In fact I only see one rect in Firefox even when all three `<div>`s have drawn borders, which confuses me compared to [the spec](http://www.w3.org/TR/cssom-view/#the-getclientrects-and-getboundingclientrect-methods). Let's remove the test for now and someone who understands what's going on (which could be future me!) will re-add it.
I don't think it's useful to keep those lying around, in particular because we should never even implement some of those (`mozHidden`, `mozVisibilityState`, …)
This broke in ab0d620 and in trying to fix it, it's become clear that I don't
understand the intended behavior of getClientRects(). In fact I only see one
rect in Firefox even when all three <div>s have drawn borders, which confuses
me. Let's remove the test for now and someone who understands what's going on
(which could be future me!) will re-add it.
Regressions are:
* Incremental layout is broken
* `:link` is broken
* Source URL is not passed to CSS parser
* `text-decoration` propagation for block containers establishing an inline formatting context is not handled
This also does not remove NetSurf libcss from the build. That can be done in a followup.
This was a team effort. Credits to Deokjin Kim, Ilyong Cho, Jaeman Park, Junyoung Cho, Ryan Choi, Sangeun Kim, Yongjin Kim, Youngmin Yoo, Youngsoo Son.
We were removing the Window from TLS and thus destroying it after terminating the windowing system, which caused an error due to calling a glfw function when it was not inititalized.