Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(2788)

Issue 67126: Cajole to HTML (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
14 years, 10 months ago by ihab.awad
Modified:
14 years, 8 months ago
Reviewers:
Jasvir
CC:
google-caja-discuss_googlegroups.com
Base URL:
http://google-caja.googlecode.com/svn/trunk/
Visibility:
Public.

Description

Clone of http://codereview.appspot.com/61041 -- taking change from msamuel to submission. * * * * * Rewrote HTML Compiler and HTML Sanitizer to output Javascript and static HTML instead of just Javascript. http://code.google.com/p/google-caja/issues/detail?id=294 Issue 294: Caja produces pages that don't work if Javascript is disabled The problem is that, in order to preserve execution order properties, we emit HTML (and CSS?) as Javascript that builds the page. We need to also (optionally) output just the HTML and CSS in a <noscript> tag. This makes two major changes: (1) Replaces HtmlSanitizer and HtmlCompiler with a mechanism that outputs a static HTML chunk and then reworks it to add dynamic attributes. (2) Added an ID suffix to PluginMeta so that containers which can avoid suffix overlap can move more rewriting to the static side. The new HtmlSanitizer and HtmlCompiler use that when rewriting attributes, and when present, no javascript is needed to emit CSS so a noscript version of a gadget will be properly styled. The new Sanitizer and Compiler are based on the scheme described in http://google-caja.googlecode.com/svn/trunk/doc/html/templates/TemplateCompiler.html and can be extended to implement the entire template scheme.

Patch Set 1 #

Patch Set 2 : Minor changes from original, per code review. Patchset is relative to trunk r3513. #

Patch Set 3 : Some corrections, and synced to trunk r3522. #

Patch Set 4 : Added to TemplateCompiler test to ensure it scrubs disallowed attributes, in addition to nodes. #

Patch Set 5 : Changed cajoled demos to match new HTML loading convention #

Unified diffs Side-by-side diffs Delta from patch set Stats (+3142 lines, -5168 lines) Patch
M build.xml View 1 2 3 4 6 chunks +13 lines, -18 lines 0 comments Download
M doc/html/templates/TemplateCompiler.html View 1 2 3 4 16 chunks +47 lines, -42 lines 0 comments Download
M src/com/google/caja/demos/applet/CajaApplet.java View 1 2 3 4 4 chunks +5 lines, -2 lines 0 comments Download
M src/com/google/caja/demos/lolcat-search/search.html View 3 chunks +37 lines, -3 lines 0 comments Download
M src/com/google/caja/demos/slides/index.html View 7 chunks +59 lines, -12 lines 0 comments Download
M src/com/google/caja/lang/css/css-extensions-whitelist.json View 1 2 3 4 1 chunk +3 lines, -2 lines 0 comments Download
M src/com/google/caja/lexer/Keyword.java View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M src/com/google/caja/lexer/escaping/Escaping.java View 1 2 3 4 3 chunks +7 lines, -6 lines 0 comments Download
M src/com/google/caja/opensocial/DefaultGadgetRewriter.java View 1 2 3 4 5 chunks +9 lines, -20 lines 0 comments Download
M src/com/google/caja/parser/html/AbstractElementStack.java View 1 2 3 4 1 chunk +4 lines, -2 lines 0 comments Download
M src/com/google/caja/parser/html/XmlElementStack.java View 1 2 3 4 1 chunk +4 lines, -2 lines 0 comments Download
M src/com/google/caja/parser/js/CajoledModule.java View 1 2 3 4 2 chunks +1 line, -3 lines 0 comments Download
M src/com/google/caja/parser/js/ExpressionStmt.java View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M src/com/google/caja/parser/js/Parser.java View 1 2 3 4 4 chunks +12 lines, -14 lines 0 comments Download
M src/com/google/caja/parser/js/TranslatedCode.java View 1 2 3 4 1 chunk +3 lines, -3 lines 0 comments Download
M src/com/google/caja/parser/js/UncajoledModule.java View 1 2 3 4 1 chunk +4 lines, -4 lines 0 comments Download
M src/com/google/caja/parser/quasiliteral/CajitaRewriter.java View 1 2 3 4 2 chunks +11 lines, -7 lines 0 comments Download
M src/com/google/caja/plugin/BuildServiceImplementation.java View 1 2 3 4 6 chunks +42 lines, -9 lines 0 comments Download
D src/com/google/caja/plugin/CssCompiler.java View 1 2 3 4 1 chunk +0 lines, -214 lines 0 comments Download
M src/com/google/caja/plugin/CssRewriter.java View 1 2 3 4 2 chunks +9 lines, -8 lines 0 comments Download
A + src/com/google/caja/plugin/CssRuleRewriter.java View 8 chunks +20 lines, -32 lines 0 comments Download
M src/com/google/caja/plugin/Dom.java View 1 2 3 4 2 chunks +13 lines, -0 lines 0 comments Download
D src/com/google/caja/plugin/DomAttributeConstraint.java View 1 2 3 4 1 chunk +0 lines, -181 lines 0 comments Download
D src/com/google/caja/plugin/DomProcessingEvents.java View 1 2 3 4 1 chunk +0 lines, -488 lines 0 comments Download
A src/com/google/caja/plugin/ExtractedHtmlContent.java View 1 1 chunk +40 lines, -0 lines 0 comments Download
D src/com/google/caja/plugin/HtmlCompiler.java View 1 2 3 4 1 chunk +0 lines, -751 lines 0 comments Download
D src/com/google/caja/plugin/HtmlSanitizer.java View 1 2 3 4 1 chunk +0 lines, -231 lines 0 comments Download
D src/com/google/caja/plugin/IdentifierWriter.java View 1 2 3 4 1 chunk +0 lines, -169 lines 0 comments Download
D src/com/google/caja/plugin/JsWriter.java View 1 2 3 4 1 chunk +0 lines, -188 lines 0 comments Download
M src/com/google/caja/plugin/PluginCompiler.java View 1 2 3 4 5 chunks +27 lines, -9 lines 0 comments Download
M src/com/google/caja/plugin/PluginMeta.java View 1 2 3 4 2 chunks +17 lines, -1 line 0 comments Download
D src/com/google/caja/plugin/TreeConstruction.java View 1 2 3 4 1 chunk +0 lines, -70 lines 0 comments Download
M src/com/google/caja/plugin/html-emitter.js View 1 2 3 4 1 chunk +200 lines, -143 lines 0 comments Download
D src/com/google/caja/plugin/stages/CompileCssStage.java View 1 2 3 4 1 chunk +0 lines, -47 lines 0 comments Download
M src/com/google/caja/plugin/stages/CompileHtmlStage.java View 1 2 3 4 2 chunks +41 lines, -39 lines 0 comments Download
A + src/com/google/caja/plugin/stages/RewriteCssStage.java View 2 chunks +4 lines, -8 lines 0 comments Download
M src/com/google/caja/plugin/stages/RewriteHtmlStage.java View 1 2 3 4 7 chunks +19 lines, -25 lines 0 comments Download
M src/com/google/caja/plugin/stages/SanitizeHtmlStage.java View 1 2 3 4 2 chunks +5 lines, -4 lines 0 comments Download
A src/com/google/caja/plugin/templates/IhtmlMessageType.java View 1 chunk +78 lines, -0 lines 0 comments Download
A src/com/google/caja/plugin/templates/QuasiUtil.java View 1 chunk +56 lines, -0 lines 0 comments Download
A src/com/google/caja/plugin/templates/SafeCssMaker.java View 1 chunk +142 lines, -0 lines 0 comments Download
A src/com/google/caja/plugin/templates/SafeHtmlMaker.java View 1 1 chunk +495 lines, -0 lines 0 comments Download
A + src/com/google/caja/plugin/templates/TemplateCompiler.java View 1 2 6 chunks +423 lines, -575 lines 0 comments Download
A + src/com/google/caja/plugin/templates/TemplateSanitizer.java View 6 chunks +43 lines, -41 lines 0 comments Download
M src/com/google/caja/reporting/MessageGroup.java View 1 2 3 4 1 chunk +3 lines, -2 lines 0 comments Download
M src/com/google/caja/service/CajolingService.java View 1 2 3 4 5 chunks +37 lines, -6 lines 0 comments Download
M src/com/google/caja/service/GadgetHandler.java View 1 2 3 4 3 chunks +9 lines, -4 lines 0 comments Download
M src/com/google/caja/service/HtmlHandler.java View 1 2 3 4 6 chunks +52 lines, -17 lines 0 comments Download
M tests/com/google/caja/AllTests.java View 1 2 3 4 5 chunks +8 lines, -8 lines 0 comments Download
M tests/com/google/caja/demos/applet/CajaAppletTest.java View 1 2 3 4 3 chunks +87 lines, -62 lines 0 comments Download
M tests/com/google/caja/opensocial/DefaultGadgetRewriterTest.java View 1 2 3 4 1 chunk +4 lines, -7 lines 0 comments Download
M tests/com/google/caja/opensocial/example-rewritten.xml View 1 2 3 4 4 chunks +25 lines, -9 lines 0 comments Download
M tests/com/google/caja/parser/js/ParserTest.java View 1 2 3 4 1 chunk +1 line, -4 lines 0 comments Download
M tests/com/google/caja/parser/quasiliteral/CajitaRewriterTest.java View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
D tests/com/google/caja/plugin/CssCompilerTest.java View 1 2 3 4 1 chunk +0 lines, -106 lines 0 comments Download
M tests/com/google/caja/plugin/CssRewriterTest.java View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
A + tests/com/google/caja/plugin/CssRuleRewriterTest.java View 2 chunks +22 lines, -14 lines 0 comments Download
D tests/com/google/caja/plugin/DomProcessingEventsTest.java View 1 2 3 4 1 chunk +0 lines, -178 lines 0 comments Download
D tests/com/google/caja/plugin/DomProcessingEventsTestData.java View 1 2 3 4 1 chunk +0 lines, -447 lines 0 comments Download
M tests/com/google/caja/plugin/HtmlCompiledPluginTest.java View 1 2 3 4 5 chunks +22 lines, -15 lines 0 comments Download
D tests/com/google/caja/plugin/HtmlCompilerTest.java View 1 2 3 4 1 chunk +0 lines, -214 lines 0 comments Download
A tests/com/google/caja/plugin/HtmlEmitterTest.java View 1 1 chunk +168 lines, -0 lines 0 comments Download
D tests/com/google/caja/plugin/HtmlSanitizerTest.java View 1 2 3 4 1 chunk +0 lines, -219 lines 0 comments Download
D tests/com/google/caja/plugin/dom-processing-events-test.html View 1 2 3 4 1 chunk +0 lines, -93 lines 0 comments Download
M tests/com/google/caja/plugin/domita_test.html View 1 2 3 4 2 chunks +34 lines, -4 lines 0 comments Download
A tests/com/google/caja/plugin/html-emitter-test.html View 1 chunk +78 lines, -0 lines 0 comments Download
M tests/com/google/caja/plugin/stages/RewriteHtmlStageTest.java View 1 2 3 4 7 chunks +30 lines, -6 lines 0 comments Download
A tests/com/google/caja/plugin/templates/RenamingTest.java View 1 chunk +23 lines, -0 lines 0 comments Download
A + tests/com/google/caja/plugin/templates/TemplateCompilerTest.java View 1 2 chunks +289 lines, -146 lines 0 comments Download
A + tests/com/google/caja/plugin/templates/TemplateSanitizerTest.java View 5 chunks +108 lines, -153 lines 0 comments Download
A tests/com/google/caja/plugin/templates/template-compiler-golden1-dynamic.html View 1 chunk +7 lines, -0 lines 0 comments Download
A tests/com/google/caja/plugin/templates/template-compiler-golden1-dynamic.js View 1 chunk +53 lines, -0 lines 0 comments Download
A tests/com/google/caja/plugin/templates/template-compiler-golden1-static.html View 1 chunk +11 lines, -0 lines 0 comments Download
A tests/com/google/caja/plugin/templates/template-compiler-golden1-static.js View 1 chunk +48 lines, -0 lines 0 comments Download
A tests/com/google/caja/plugin/templates/template-compiler-input1.html View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
M tests/com/google/caja/service/CajolingServiceTest.java View 1 2 3 4 6 chunks +84 lines, -70 lines 0 comments Download
M tests/com/google/caja/util/CajaTestCase.java View 1 2 3 4 4 chunks +19 lines, -7 lines 0 comments Download
M third_party/js/jqueryjs/runtest/env.js View 1 2 3 4 2 chunks +4 lines, -1 line 0 comments Download
M third_party/js/jsunit/2.2/jsUnitCore.js View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 6
ihab.awad
14 years, 10 months ago (2009-05-29 16:23:09 UTC) #1
ihab.awad
14 years, 10 months ago (2009-05-29 18:24:37 UTC) #2
ihab.awad
14 years, 10 months ago (2009-05-29 18:45:11 UTC) #3
ihab.awad
14 years, 10 months ago (2009-05-29 19:17:20 UTC) #4
ihab.awad
14 years, 10 months ago (2009-06-01 23:39:20 UTC) #5
ihab.awad
14 years, 10 months ago (2009-06-01 23:52:55 UTC) #6
@3525
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b