Skip to content

Commit bc3a432

Browse files
committed
LibWeb: Add HTML::Task::Source to model "generic task sources"
1 parent 462120d commit bc3a432

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

Userland/Libraries/LibWeb/HTML/EventLoop/Task.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99

1010
namespace Web::HTML {
1111

12-
Task::Task(DOM::Document* document, Function<void()> steps)
13-
: m_steps(move(steps))
12+
Task::Task(Source source, DOM::Document* document, Function<void()> steps)
13+
: m_source(source)
14+
, m_steps(move(steps))
1415
, m_document(document)
1516
{
1617
}

Userland/Libraries/LibWeb/HTML/EventLoop/Task.h

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,31 @@ namespace Web::HTML {
1515

1616
class Task {
1717
public:
18-
static NonnullOwnPtr<Task> create(DOM::Document* document, Function<void()> steps)
18+
// https://html.spec.whatwg.org/multipage/webappapis.html#generic-task-sources
19+
enum class Source {
20+
Unspecified,
21+
DOMManipulation,
22+
UserInteraction,
23+
Networking,
24+
HistoryTraversal,
25+
};
26+
27+
static NonnullOwnPtr<Task> create(Source source, DOM::Document* document, Function<void()> steps)
1928
{
20-
return adopt_own(*new Task(document, move(steps)));
29+
return adopt_own(*new Task(source, document, move(steps)));
2130
}
2231
~Task();
2332

33+
Source source() const { return m_source; }
2434
void execute();
2535

2636
DOM::Document* document() { return m_document; }
2737
DOM::Document const* document() const { return m_document; }
2838

2939
private:
30-
Task(DOM::Document*, Function<void()> steps);
40+
Task(Source, DOM::Document*, Function<void()> steps);
3141

42+
Source m_source { Source::Unspecified };
3243
Function<void()> m_steps;
3344
RefPtr<DOM::Document> m_document;
3445
};

0 commit comments

Comments
 (0)