1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.javascript;
16
17 import java.io.Serializable;
18 import java.net.MalformedURLException;
19 import java.net.URL;
20
21 import org.apache.commons.logging.Log;
22 import org.apache.commons.logging.LogFactory;
23 import org.htmlunit.ScriptException;
24 import org.htmlunit.html.HtmlPage;
25
26
27
28
29
30
31
32
33 public class DefaultJavaScriptErrorListener implements JavaScriptErrorListener, Serializable {
34
35 private static final Log LOG = LogFactory.getLog(DefaultJavaScriptErrorListener.class);
36
37
38
39
40 @Override
41 public void scriptException(final HtmlPage page, final ScriptException scriptException) {
42 LOG.error("Error during JavaScript execution", scriptException);
43 }
44
45
46
47
48 @Override
49 public void timeoutError(final HtmlPage page, final long allowedTime, final long executionTime) {
50 if (LOG.isErrorEnabled()) {
51 LOG.error("Timeout during JavaScript execution after "
52 + executionTime + "ms; allowed only " + allowedTime + "ms");
53 }
54 }
55
56
57
58
59 @Override
60 public void malformedScriptURL(final HtmlPage page, final String url,
61 final MalformedURLException malformedURLException) {
62 if (LOG.isErrorEnabled()) {
63 LOG.error("Unable to build URL for script src tag [" + url + "]", malformedURLException);
64 }
65 }
66
67
68
69
70 @Override
71 public void loadScriptError(final HtmlPage page, final URL scriptUrl, final Exception exception) {
72 if (LOG.isErrorEnabled()) {
73 LOG.error("Error loading JavaScript from [" + scriptUrl + "].", exception);
74 }
75 }
76
77
78
79
80 @Override
81 public void warn(final String message, final String sourceName,
82 final int line, final String lineSource, final int lineOffset) {
83 if (LOG.isWarnEnabled()) {
84 final StringBuilder msg = new StringBuilder()
85 .append("warning: message=[").append(message)
86 .append("] sourceName=[").append(sourceName)
87 .append("] line=[").append(line)
88 .append("] lineSource=[").append(lineSource)
89 .append("] lineOffset=[").append(lineOffset)
90 .append(']');
91
92 LOG.warn(msg.toString());
93 }
94 }
95 }