Bug 1890793: Assert CallArgs::newTarget is not gray. r=spidermonkey-reviewers,sfink...
[gecko.git] / parser / html / nsHtml5DependentUTF16Buffer.h
blob3713de8aca41a43a277054723d36a86b67d0f228
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 nsHtml5DependentUTF16Buffer_h
6 #define nsHtml5DependentUTF16Buffer_h
8 #include "nscore.h"
9 #include "nsHtml5OwningUTF16Buffer.h"
11 class MOZ_STACK_CLASS nsHtml5DependentUTF16Buffer : public nsHtml5UTF16Buffer {
12 public:
13 /**
14 * Wraps a string without taking ownership of the buffer. aToWrap MUST NOT
15 * go away or be shortened while nsHtml5DependentUTF16Buffer is in use.
17 explicit nsHtml5DependentUTF16Buffer(const nsAString& aToWrap);
19 ~nsHtml5DependentUTF16Buffer();
21 /**
22 * Copies the currently unconsumed part of this buffer into a new
23 * heap-allocated nsHtml5OwningUTF16Buffer. The new object is allocated
24 * with a fallible allocator. If the allocation fails, nullptr is returned.
25 * @return heap-allocated copy or nullptr if memory allocation failed
27 already_AddRefed<nsHtml5OwningUTF16Buffer> FalliblyCopyAsOwningBuffer();
30 #endif // nsHtml5DependentUTF16Buffer_h