diff options
Diffstat (limited to 'WebCore/html/HTMLTokenizer.h')
-rw-r--r-- | WebCore/html/HTMLTokenizer.h | 13 |
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*); |