Author: almaw Date: Tue Jun 19 08:50:24 2007 New Revision: 548773 URL: http://svn.apache.org/viewvc?view=rev&rev=548773 Log: WICKET-501 - JavaScript comment stripping doesn't handle regexps
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java?view=diff&rev=548773&r1=548772&r2=548773 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/JavascriptStripper.java Tue Jun 19 08:50:24 2007 @@ -44,6 +44,9 @@ /** Inside a multi line comment */ private final static int MULTILINE_COMMENT = 6; + + /** Inside a regular expression */ + private final static int REG_EXP = 7; /** * Removes javascript comments and whitespaces from specified string. @@ -86,6 +89,10 @@ ++i; continue; } + else if (c == '/') + { + state = REG_EXP; + } else if (Character.isWhitespace(c) && Character.isWhitespace(next)) { // ignore all whitespace characters after this one @@ -136,6 +143,16 @@ if (state == STRING_DOUBLE_QUOTES) { if (c == '"' && prev != '\\') + { + state = REGULAR_TEXT; + } + result.append(c); + continue; + } + + if (state == REG_EXP) + { + if (c == '/' && prev != '\\') { state = REGULAR_TEXT; }