summaryrefslogtreecommitdiffstats
path: root/WebCore/html/HTMLTokenizer.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/html/HTMLTokenizer.h')
-rw-r--r--WebCore/html/HTMLTokenizer.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/WebCore/html/HTMLTokenizer.h b/WebCore/html/HTMLTokenizer.h
index d731b2d..ef7cbfc 100644
--- a/WebCore/html/HTMLTokenizer.h
+++ b/WebCore/html/HTMLTokenizer.h
@@ -27,6 +27,7 @@
#include "CachedResourceClient.h"
#include "CachedResourceHandle.h"
#include "NamedMappedAttrMap.h"
+#include "MappedAttributeEntry.h"
#include "SegmentedString.h"
#include "Timer.h"
#include "Tokenizer.h"
@@ -135,7 +136,7 @@ class HTMLTokenizer : public Tokenizer, public CachedResourceClient {
public:
HTMLTokenizer(HTMLDocument*, bool reportErrors);
HTMLTokenizer(HTMLViewSourceDocument*);
- HTMLTokenizer(DocumentFragment*);
+ HTMLTokenizer(DocumentFragment*, FragmentScriptingPermission = FragmentScriptingAllowed);
virtual ~HTMLTokenizer();
virtual void write(const SegmentedString&, bool appendData);
@@ -205,6 +206,10 @@ private:
// from CachedResourceClient
void notifyFinished(CachedResource*);
+ void executeExternalScriptsIfReady();
+ void executeExternalScriptsTimerFired(Timer<HTMLTokenizer>*);
+ bool continueExecutingExternalScripts(double startTime);
+
// Internal buffers
///////////////////
UChar* m_buffer;
@@ -401,6 +406,9 @@ private:
// The timer for continued processing.
Timer<HTMLTokenizer> m_timer;
+ // The timer for continued executing external scripts.
+ Timer<HTMLTokenizer> m_externalScriptsTimer;
+
// This buffer can hold arbitrarily long user-defined attribute names, such as in EMBED tags.
// So any fixed number might be too small, but rather than rewriting all usage of this buffer
// we'll just make it large enough to handle all imaginable cases.
@@ -413,11 +421,12 @@ private:
OwnPtr<HTMLParser> m_parser;
bool m_inWrite;
bool m_fragment;
+ FragmentScriptingPermission m_scriptingPermission;
OwnPtr<PreloadScanner> m_preloadScanner;
};
-void parseHTMLDocumentFragment(const String&, DocumentFragment*);
+void parseHTMLDocumentFragment(const String&, DocumentFragment*, FragmentScriptingPermission = FragmentScriptingAllowed);
UChar decodeNamedEntity(const char*);