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 #include "nsHtml5Speculation.h"
7 using namespace mozilla
;
9 nsHtml5Speculation::nsHtml5Speculation(nsHtml5OwningUTF16Buffer
* aBuffer
,
10 int32_t aStart
, int32_t aStartLineNumber
,
11 int32_t aStartColumnNumber
,
12 nsAHtml5TreeBuilderState
* aSnapshot
)
15 mStartLineNumber(aStartLineNumber
),
16 mStartColumnNumber(aStartColumnNumber
),
17 mSnapshot(aSnapshot
) {
18 MOZ_COUNT_CTOR(nsHtml5Speculation
);
21 nsHtml5Speculation::~nsHtml5Speculation() {
22 MOZ_COUNT_DTOR(nsHtml5Speculation
);
25 [[nodiscard
]] bool nsHtml5Speculation::MoveOpsFrom(
26 nsTArray
<nsHtml5TreeOperation
>& aOpQueue
) {
27 return !!mOpQueue
.AppendElements(std::move(aOpQueue
), mozilla::fallible_t());
30 [[nodiscard
]] bool nsHtml5Speculation::FlushToSink(nsAHtml5TreeOpSink
* aSink
) {
31 return aSink
->MoveOpsFrom(mOpQueue
);