1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 20:37:35 +00:00

LibWeb+WebContent: Make document background and Viewport transparent

This means iframes are transparent by default (as in firefox/chrome).

Painting the outermost canvas background is moved to the PageHost.
This commit is contained in:
Sigmund Lahn 2023-04-24 22:38:50 +02:00 committed by Andreas Kling
parent 5e7c838160
commit f2f14ad9bd
5 changed files with 9 additions and 9 deletions

View file

@ -722,7 +722,7 @@ void Document::tear_down_layout_tree()
m_layout_root = nullptr;
}
Color Document::background_color(Gfx::Palette const& palette) const
Color Document::background_color() const
{
// CSS2 says we should use the HTML element's background color unless it's transparent...
if (auto* html_element = this->html_element(); html_element && html_element->layout_node()) {
@ -734,12 +734,12 @@ Color Document::background_color(Gfx::Palette const& palette) const
// ...in which case we use the BODY element's background color.
if (auto* body_element = body(); body_element && body_element->layout_node()) {
auto color = body_element->layout_node()->computed_values().background_color();
if (color.alpha())
return color;
return color;
}
// If both HTML and BODY are transparent, we fall back to the system's "base" palette color.
return palette.base();
// By default, the document is transparent.
// The outermost canvas is colored by the PageHost.
return Color::Transparent;
}
Vector<CSS::BackgroundLayerData> const* Document::background_layers() const