Reviewers: metaweta,
Description: 1. Updated CssLexer to use CharProducer properly and got rid of the old lookahead and read() methods. 2. Fixed a few HtmlQuasiBuilder bugs around attributes, and problematic tags like <option> and <td> which are ignored by HTML5 rules unless they appear inside ceratin elements. 3. Upgraded to a moder version of servlet.jar to get rid of noisy warnings from webdriver when running DomitaTest 4. Made CharProducer a CharSequence so that it can fit better with the snippet producers. 5. Fixed Scope around "this" and "arguments" 6. Changed parse tree nodes for "finally", "catch", "try" blocks to reflect the fact that they cannot be followed by a non-block statement. E.g. try foo(); catch (e) bar(); is syntactically invalid. 7. Added a renderBody method to function so that we can render programs without an extra set of curly braces. 8. Removed unused imports from CompileHtmlStage and cleaned up warnings in CajolingService 9. Moved optimization specific code from BuildServiceImplementation to a new class JsOptimizer. 10. Changed RenderContext to allow better minified rendering of object ctors. Please review this at http://codereview.appspot.com/146041 Affected files: M src/com/google/caja/ancillary/jsdoc/JsdocMain.java A src/com/google/caja/ancillary/opt/JsOptimizer.java M src/com/google/caja/lexer/CharProducer.java M src/com/google/caja/lexer/CssLexer.java M src/com/google/caja/parser/html/HtmlQuasiBuilder.java M src/com/google/caja/parser/js/Block.java M src/com/google/caja/parser/js/CatchStmt.java M src/com/google/caja/parser/js/FinallyStmt.java M src/com/google/caja/parser/js/ObjectConstructor.java M src/com/google/caja/parser/js/Operation.java M src/com/google/caja/parser/js/Parser.java M src/com/google/caja/parser/js/TryStmt.java M src/com/google/caja/parser/quasiliteral/CajitaRewriter.java M src/com/google/caja/parser/quasiliteral/Scope.java M src/com/google/caja/plugin/BuildServiceImplementation.java M src/com/google/caja/plugin/PluginCompilerMain.java M src/com/google/caja/plugin/stages/CompileHtmlStage.java M src/com/google/caja/render/JsMinimalPrinter.java M src/com/google/caja/reporting/RenderContext.java M src/com/google/caja/service/CajolingService.java M src/com/google/caja/util/Lists.java M tests/com/google/caja/lexer/CssLexerTest.java M tests/com/google/caja/parser/html/HtmlQuasiBuilderTest.java M tests/com/google/caja/parser/js/ExpressionTest.java M tests/com/google/caja/parser/quasiliteral/ScopeTest.java M tests/com/google/caja/reporting/SnippetProducerTest.java M tests/com/google/caja/service/TestHttpServletRequest.java M tests/com/google/caja/service/TestHttpServletResponse.java A tests/com/google/caja/util/Assertion.java M third_party/java/jsdk2.1/servlet.jar
