1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #ifndef nsAHtml5TreeOpSink_h
6 #define nsAHtml5TreeOpSink_h
8 #include "nsTArrayForwardDeclare.h"
10 class nsHtml5TreeOperation
;
13 * The purpose of this interface is to connect a tree op executor
14 * (main-thread case), a tree op stage (non-speculative off-the-main-thread
15 * case) or a speculation (speculative case).
17 class nsAHtml5TreeOpSink
{
20 * Flush the operations from the tree operations from the argument
21 * queue into this sink unconditionally.
23 * Returns `true` on success and `false` on OOM.
25 [[nodiscard
]] virtual bool MoveOpsFrom(
26 nsTArray
<nsHtml5TreeOperation
>& aOpQueue
) = 0;
29 #endif /* nsAHtml5TreeOpSink_h */