diff options
Diffstat (limited to 'WebCore/svg/SVGDocumentExtensions.cpp')
-rw-r--r-- | WebCore/svg/SVGDocumentExtensions.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/WebCore/svg/SVGDocumentExtensions.cpp b/WebCore/svg/SVGDocumentExtensions.cpp index 7b285eb..fc31551 100644 --- a/WebCore/svg/SVGDocumentExtensions.cpp +++ b/WebCore/svg/SVGDocumentExtensions.cpp @@ -37,7 +37,7 @@ #include "SVGSMILElement.h" #include "SVGSVGElement.h" #include "SMILTimeContainer.h" -#include "XMLDocumentParser.h" +#include "ScriptableDocumentParser.h" #include "ScriptController.h" namespace WebCore { @@ -125,16 +125,29 @@ bool SVGDocumentExtensions::sampleAnimationAtTime(const String& elementId, SVGSM return true; } +// FIXME: Callers should probably use ScriptController::eventHandlerLineNumber() +static int parserLineNumber(Document* document) +{ + ScriptableDocumentParser* parser = document->scriptableDocumentParser(); + if (!parser) + return 1; + return parser->lineNumber(); +} + +static void reportMessage(Document* document, MessageLevel level, const String& message) +{ + if (Frame* frame = document->frame()) + frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, level, message, parserLineNumber(document), String()); +} + void SVGDocumentExtensions::reportWarning(const String& message) { - if (Frame* frame = m_doc->frame()) - frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, "Warning: " + message, m_doc->parser() ? m_doc->parser()->lineNumber() : 1, String()); + reportMessage(m_doc, WarningMessageLevel, "Warning: " + message); } void SVGDocumentExtensions::reportError(const String& message) { - if (Frame* frame = m_doc->frame()) - frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, "Error: " + message, m_doc->parser() ? m_doc->parser()->lineNumber() : 1, String()); + reportMessage(m_doc, ErrorMessageLevel, "Error: " + message); } void SVGDocumentExtensions::addPendingResource(const AtomicString& id, SVGStyledElement* obj) |