Skip to content

Commit 55ff22f

Browse files
committed
vaev-engine: Working on getting it build with clang 21.
1 parent caf6270 commit 55ff22f

File tree

20 files changed

+54
-22
lines changed

20 files changed

+54
-22
lines changed

src/main.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Karm.Gc;
1010
import Karm.Http;
1111
import Karm.Image;
1212
import Karm.Print;
13+
import Karm.Debug;
1314
import Vaev.Engine;
1415

1516
using namespace Karm;
@@ -30,7 +31,7 @@ static Rc<Http::Client> _createHttpClient(bool unsecure) {
3031
}
3132

3233
auto client = makeRc<Http::Client>(
33-
multiplexTransport(std::move(transports))
34+
Http::multiplexTransport(std::move(transports))
3435
);
3536
client->userAgent = "Paper-Muncher/" stringify$(__ck_version_value) ""s;
3637

src/vaev-engine/layout/builder.cpp

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ export module Vaev.Engine:layout.builder;
88

99
import Karm.Image;
1010
import Karm.Gc;
11+
import Karm.Debug;
12+
1113
import :values;
1214
import :style;
1315
import :dom;
@@ -831,9 +833,18 @@ static void _buildNode(BuilderContext bc, Gc::Ref<Dom::Node> node) {
831833

832834
// MARK: Entry points -----------------------------------------------------------------
833835

836+
static Debug::Flag dumpBoxes{"web-boxes"s};
837+
834838
export Box build(Gc::Ref<Dom::Document> doc) {
839+
// NOTE: Fallback in case of an empty document
840+
Box root{
841+
makeRc<Style::SpecifiedValues>(Style::SpecifiedValues::initial()),
842+
Text::Fontface::fallback(),
843+
nullptr
844+
};
845+
835846
if (auto el = doc->documentElement()) {
836-
Box root = {el->specifiedValues(), el->computedValues()->fontFace, el};
847+
root = {el->specifiedValues(), el->computedValues()->fontFace, el};
837848
InlineBox rootInlineBox{_proseStyleFomStyle(*el->specifiedValues(), el->computedValues()->fontFace)};
838849

839850
BuilderContext bc{
@@ -844,14 +855,11 @@ export Box build(Gc::Ref<Dom::Document> doc) {
844855
};
845856

846857
buildBlockFlowFromElement(bc, *el);
847-
return root;
848858
}
849-
// NOTE: Fallback in case of an empty document
850-
return {
851-
makeRc<Style::SpecifiedValues>(Style::SpecifiedValues::initial()),
852-
Text::Fontface::fallback(),
853-
nullptr
854-
};
859+
860+
logDebugIf(dumpBoxes,"document boxes: {}", root);
861+
862+
return root;
855863
}
856864

857865
export Box buildForPseudoElement(Dom::PseudoElement& el) {

src/vaev-engine/layout/paint.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@ module;
33
#include <karm-gfx/borders.h>
44
#include <karm-gfx/outline.h>
55
#include <karm-math/au.h>
6+
#include <karm-logger/logger.h>
67

78
export module Vaev.Engine:layout.paint;
89

910
import Karm.Image;
1011
import Karm.Gc;
1112
import Karm.Scene;
13+
import Karm.Debug;
14+
1215
import :style;
1316
import :layout.base;
1417
import :layout.values;

src/vaev-engine/loader/loader.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ export module Vaev.Engine:loader.loader;
1010
import Karm.Gc;
1111
import Karm.Http;
1212
import Karm.Core;
13+
import Karm.Debug;
14+
1315
import :dom;
1416
import :html;
1517
import :xml;
@@ -136,6 +138,9 @@ Async::Task<> _fetchStylesheetsAsync(Http::Client& client, Gc::Ref<Dom::Node> no
136138
co_return Ok();
137139
}
138140

141+
static Debug::Flag dumpDom{"web-dom"};
142+
static Debug::Flag dumpStylesheets{"web-stylesheets"};
143+
139144
export Async::Task<Gc::Ref<Dom::Document>> fetchDocumentAsync(Gc::Heap& heap, Http::Client& client, Mime::Url const& url) {
140145
if (url.scheme == "about") {
141146
if (url.path.str() == "blank")
@@ -160,6 +165,13 @@ export Async::Task<Gc::Ref<Dom::Document>> fetchDocumentAsync(Gc::Heap& heap, Ht
160165

161166
(void)co_await _fetchStylesheetsAsync(client, *dom, *stylesheets);
162167
dom->styleSheets = stylesheets;
168+
169+
if (dumpDom)
170+
logDebugIf(dumpDom, "document tree: {}", dom);
171+
172+
if (dumpStylesheets)
173+
logDebugIf(dumpStylesheets, "document stylesheets: {}", stylesheets);
174+
163175
co_return Ok(dom);
164176
}
165177

src/vaev-engine/values/angle.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
module;
2+
13
#include <karm-core/macros.h>
24

35
export module Vaev.Engine:values.angle;

src/vaev-engine/values/background.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
module;
2+
13
#include <karm-core/macros.h>
24

35
export module Vaev.Engine:values.background;

src/vaev-engine/values/borders.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import :values.base;
1212
import :values.calc;
1313
import :values.color;
1414
import :values.length;
15-
import :values.line_width;
15+
import :values.lineWidth;
1616
import :values.percent;
1717

1818
namespace Vaev {

src/vaev-engine/values/calc.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
module;
2+
13
#include <karm-core/macros.h>
24

35
export module Vaev.Engine:values.calc;

src/vaev-engine/values/display.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
module;
2+
13
#include <karm-core/macros.h>
24

35
export module Vaev.Engine:values.display;

src/vaev-engine/values/font.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
module;
22

3-
43
#include <karm-core/macros.h>
54
#include <karm-mime/url.h>
65
#include <karm-text/base.h>

0 commit comments

Comments
 (0)