AfterScriptStartTag,
};
+ enum AttributeKind {
+ NormalAttribute,
+ SrcLikeAttribute
+ };
+
void init();
bool filterTokenInitial(HTMLToken&);
bool filterFormToken(HTMLToken&);
bool eraseDangerousAttributesIfInjected(HTMLToken&);
- bool eraseAttributeIfInjected(HTMLToken&, const QualifiedName&, const String& replacementValue = String());
+ bool eraseAttributeIfInjected(HTMLToken&, const QualifiedName&, const String& replacementValue = String(), AttributeKind treatment = NormalAttribute);
String snippetForRange(const HTMLToken&, int start, int end);
String snippetForJavaScript(const String&);
- String decodedSnippetForAttribute(const HTMLToken&, const HTMLToken::Attribute&);
+ String decodedSnippetForAttribute(const HTMLToken&, const HTMLToken::Attribute&, AttributeKind treatment = NormalAttribute);
bool isContainedInRequest(const String&);
bool isSameOriginResource(const String& url);
State m_state;
String m_cachedSnippet;
+ bool m_notifiedClient;
};
}