Files
tubestation/parser/html/nsHtml5OwningUTF16Buffer.h
Phil Ringnalda 36b0901dec Backed out 6 changesets (bug 1060982, bug 1061058, bug 1060987, bug 1061060, bug 1060930) for build bustage
CLOSED TREE

Backed out changeset c23b8418e6be (bug 1060987)
Backed out changeset a8cddc6bdffc (bug 1061060)
Backed out changeset b5af5cbdac3f (bug 1060982)
Backed out changeset 4912d451011a (bug 1060930)
Backed out changeset bdacbf453238 (bug 1061058)
Backed out changeset da6c71a8f5ae (bug 1060987)
2014-09-01 16:48:51 -07:00

59 lines
1.3 KiB
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 nsHtml5OwningUTF16Buffer_h
#define nsHtml5OwningUTF16Buffer_h
#include "nsHtml5UTF16Buffer.h"
class nsHtml5OwningUTF16Buffer : public nsHtml5UTF16Buffer
{
private:
/**
* Passes a buffer and its length to the superclass constructor.
*/
nsHtml5OwningUTF16Buffer(char16_t* aBuffer);
public:
/**
* Constructor for a parser key placeholder. (No actual buffer.)
* @param aKey a parser key
*/
nsHtml5OwningUTF16Buffer(void* aKey);
protected:
/**
* Takes care of releasing the owned buffer.
*/
~nsHtml5OwningUTF16Buffer();
public:
/**
* The next buffer in a queue.
*/
nsRefPtr<nsHtml5OwningUTF16Buffer> next;
/**
* A parser key.
*/
void* key;
static already_AddRefed<nsHtml5OwningUTF16Buffer>
FalliblyCreate(int32_t aLength);
/**
* Swap start, end and buffer fields with another object.
*/
void Swap(nsHtml5OwningUTF16Buffer* aOther);
nsrefcnt AddRef();
nsrefcnt Release();
private:
nsAutoRefCnt mRefCnt;
};
#endif // nsHtml5OwningUTF16Buffer_h