gecko-dev/parser/html/nsAHtml5TreeOpSink.h
Henri Sivonen 69df6a7000 Bug 1763076 - Avoid OOM crashes when there's a massive number of tree operations. r=edgar
(No test case, because testing unsuited for CI both in terms of space and time.)

Differential Revision: https://phabricator.services.mozilla.com/D143591
2022-04-27 07:24:34 +00:00

30 lines
876 B
C++

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