HTMLViewSourceDocument.h [plain text]
#ifndef HTMLViewSourceDocument_h
#define HTMLViewSourceDocument_h
#include "HTMLDocument.h"
namespace WebCore {
class HTMLTableCellElement;
class HTMLTableSectionElement;
class HTMLToken;
class HTMLViewSourceDocument : public HTMLDocument {
public:
static PassRefPtr<HTMLViewSourceDocument> create(Frame* frame, const KURL& url, const String& mimeType)
{
return adoptRef(new HTMLViewSourceDocument(frame, url, mimeType));
}
void addSource(const String&, HTMLToken&);
private:
HTMLViewSourceDocument(Frame*, const KURL&, const String& mimeType);
virtual PassRefPtr<DocumentParser> createParser();
void processDoctypeToken(const String& source, HTMLToken&);
void processTagToken(const String& source, HTMLToken&);
void processCommentToken(const String& source, HTMLToken&);
void processCharacterToken(const String& source, HTMLToken&);
void createContainingTable();
PassRefPtr<Element> addSpanWithClassName(const AtomicString&);
void addLine(const AtomicString& className);
void finishLine();
void addText(const String& text, const AtomicString& className);
int addRange(const String& source, int start, int end, const String& className, bool isLink = false, bool isAnchor = false);
PassRefPtr<Element> addLink(const AtomicString& url, bool isAnchor);
PassRefPtr<Element> addBase(const AtomicString& href);
String m_type;
RefPtr<Element> m_current;
RefPtr<HTMLTableSectionElement> m_tbody;
RefPtr<HTMLTableCellElement> m_td;
};
}
#endif // HTMLViewSourceDocument_h