Reviewers: metaweta,

Description:
currently, plugin_dispatchEvent___ and plugin_dispatchHandler___ are
added to the global namespace.

this change moves those functions to the ___ object.

Please review this at http://codereview.appspot.com/5486053/

Affected files:
  M     build.xml
  M     src/com/google/caja/demos/playground/es53.html
  M     src/com/google/caja/plugin/domado.js
  M     src/com/google/caja/plugin/es53-frame-group.js
  M     src/com/google/caja/plugin/ses-frame-group.js
  M     src/com/google/caja/plugin/templates/HtmlAttributeRewriter.java
  M     tests/com/google/caja/plugin/PipelineCacheTest.java
  M     tests/com/google/caja/plugin/domita_test_untrusted.html
  M     tests/com/google/caja/plugin/es53-test-domado-forms-guest.html
  M     tests/com/google/caja/plugin/templates/TemplateCompilerTest.java
M tests/com/google/caja/plugin/templates/template-compiler-golden1-dynamic.js M tests/com/google/caja/plugin/templates/template-compiler-golden1-nulluripol.js M tests/com/google/caja/plugin/templates/template-compiler-golden1-static.js


Index: src/com/google/caja/plugin/es53-frame-group.js
===================================================================
--- src/com/google/caja/plugin/es53-frame-group.js      (revision 4679)
+++ src/com/google/caja/plugin/es53-frame-group.js      (working copy)
@@ -125,14 +125,15 @@
     }
     feralWin.___.tamingWindows[imports.id___] = tamingWin;

-    // domado innerHTML sanitizer uses feralWin.plugin_dispatchEvent___
-    // html-emitter uses guestWin.plugin_dispatchEvent___
-    feralWin.plugin_dispatchEvent___ = domado.plugin_dispatchEvent;
-    guestWin.plugin_dispatchEvent___ = domado.plugin_dispatchEvent;
-    feralWin.plugin_dispatchToHandler___ =
+    // domado innerHTML sanitizer uses feralWin.___.plugin_dispatchEvent___
+    // html-emitter uses guestWin.___.plugin_dispatchEvent___
+    feralWin.___.plugin_dispatchEvent___ = domado.plugin_dispatchEvent;
+    guestWin.___.plugin_dispatchEvent___ = domado.plugin_dispatchEvent;
+    feralWin.___.plugin_dispatchToHandler___ =
       function (pluginId, handler, args) {
         var tamingWin = feralWin.___.tamingWindows[pluginId];
- return tamingWin.plugin_dispatchToHandler___(pluginId, handler, args);
+        return tamingWin.___.plugin_dispatchToHandler___(
+            pluginId, handler, args);
       };

     return domicile;
Index: src/com/google/caja/plugin/domado.js
===================================================================
--- src/com/google/caja/plugin/domado.js        (revision 4679)
+++ src/com/google/caja/plugin/domado.js        (working copy)
@@ -1640,7 +1640,8 @@
           if (!match) { return null; }
           var doesReturn = match[1];
           var fnName = match[2];
- value = (doesReturn ? 'return ' : '') + 'plugin_dispatchEvent___('
+          value = (doesReturn ? 'return ' : '')
+              + '___.plugin_dispatchEvent___('
               + 'this, event, ' + pluginId + ', "'
               + fnName + '");';
           if (attribName === 'onsubmit') {
Index: src/com/google/caja/plugin/ses-frame-group.js
===================================================================
--- src/com/google/caja/plugin/ses-frame-group.js       (revision 4679)
+++ src/com/google/caja/plugin/ses-frame-group.js       (working copy)
@@ -25,13 +25,17 @@
   if (tamingWin !== window) {
     throw new Error('wrong frame');
   }
+  if (!tamingWin.___) {
+    tamingWin.___ = {};
+  }

   var stubMembrane = true;

   var bridal = bridalMaker(identity, feralWin.document);

   var domado = Domado(null);
- tamingWin.plugin_dispatchToHandler___ = domado.plugin_dispatchToHandler___;
+  tamingWin.___.plugin_dispatchToHandler___ =
+      domado.plugin_dispatchToHandler;

   var frameGroup = {
     iframe: window.frameElement,
@@ -120,11 +124,12 @@
     }
     feralWin.___.tamingWindows[imports.id___] = tamingWin;

-    feralWin.plugin_dispatchEvent___ = domado.plugin_dispatchEvent;
-    feralWin.plugin_dispatchToHandler___ =
+    feralWin.___.plugin_dispatchEvent___ = domado.plugin_dispatchEvent;
+    feralWin.___.plugin_dispatchToHandler___ =
       function (pluginId, handler, args) {
         var tamingWin = feralWin.___.tamingWindows[pluginId];
- return tamingWin.plugin_dispatchToHandler___(pluginId, handler, args);
+        return tamingWin.___.plugin_dispatchToHandler___(
+          pluginId, handler, args);
       };

     return domicile;
Index: src/com/google/caja/plugin/templates/HtmlAttributeRewriter.java
===================================================================
--- src/com/google/caja/plugin/templates/HtmlAttributeRewriter.java (revision 4679) +++ src/com/google/caja/plugin/templates/HtmlAttributeRewriter.java (working copy)
@@ -213,7 +213,7 @@
             = (FunctionConstructor) QuasiBuilder.substV(
             ""
             + "(/*@synthetic*/ function (event) {"
-            + "  return /*@synthetic*/ (plugin_dispatchEvent___("
+            + "  return /*@synthetic*/ (___.plugin_dispatchEvent___("
             + "      /*@synthetic*/this, event, "
             + "      ___./*@synthetic*/getId(IMPORTS___), @tail));"
             + "})",
@@ -270,7 +270,7 @@
           Operation urlAdapter = (Operation) QuasiBuilder.substV(
               ""
               + "'javascript:' + /*@synthetic*/encodeURIComponent("
-              + "   'try{void plugin_dispatchToHandler___('"
+              + "   'try{void ___.plugin_dispatchToHandler___('"
               + "    + ___./*@synthetic*/getId(IMPORTS___)"
               + "    + ',' + @handlerIndex + ',[{}])}catch(_){}')",
               "handlerIndex", new Reference(handlerIndex));
@@ -426,7 +426,7 @@
    *   }</pre>
    * <p>
    * And the resulting function is called via a handler attribute like
- * {@code onchange="plugin_dispatchEvent___(this, node, 1234, 'handlerName')"} + * {@code onchange="___.plugin_dispatchEvent___(this, node, 1234, 'handlerName')"}
    */
   private static void rewriteEventHandlerReferences(Block block) {
     block.acceptPreOrder(
Index: src/com/google/caja/demos/playground/es53.html
===================================================================
--- src/com/google/caja/demos/playground/es53.html      (revision 4679)
+++ src/com/google/caja/demos/playground/es53.html      (working copy)
@@ -182,7 +182,7 @@
       tamesTo: insiderTamesTo,
       hasTameTwin: hasTameTwin
     }));
-    tamingWindow.plugin_dispatchToHandler___ = domado.dispatchToHandler;
+ tamingWindow.___.plugin_dispatchToHandler___ = domado.dispatchToHandler;
     //------ paste from caja.js --------------

var domicile = domado.attachDocument("-" + div.id, uriPolicyForTaming, div);
Index: build.xml
===================================================================
--- build.xml   (revision 4679)
+++ build.xml   (working copy)
@@ -213,6 +213,7 @@
     <!-- ModuleSystemTest first, because it fails more quickly -->
     <antcall target="runtests">
       <param name="test.filter">ModuleSystemTest</param>
+      <param name="runtests.shouldCache">false</param>
     </antcall>
     <antcall target="runtests">
       <param name="test.filter">ES53BrowserTest</param>
Index: tests/com/google/caja/plugin/domita_test_untrusted.html
===================================================================
--- tests/com/google/caja/plugin/domita_test_untrusted.html     (revision 4679)
+++ tests/com/google/caja/plugin/domita_test_untrusted.html     (working copy)
@@ -1491,7 +1491,7 @@
       + '<input type="submit" value="Submit"></form>';

   assertEquals('<form onsubmit="'
-               + 'try { plugin_dispatchEvent___'
+               + 'try { ___.plugin_dispatchEvent___'
                + '(this, event, 0, &quot;foo&quot;);'
                + ' } finally { return false; }">'
                + '<input type="submit" value="Submit"></form>',
Index: tests/com/google/caja/plugin/PipelineCacheTest.java
===================================================================
--- tests/com/google/caja/plugin/PipelineCacheTest.java (revision 4679)
+++ tests/com/google/caja/plugin/PipelineCacheTest.java (working copy)
@@ -259,7 +259,7 @@
       "        .i___('Hello');",
       "      });",
       "    el___.onclick = function (event) {",
-      ("      return plugin_dispatchEvent___"
+      ("      return ___.plugin_dispatchEvent___"
        + "(this, event, ___.getId(IMPORTS___),"),
       "        c_2___);",
       "    };",
@@ -534,7 +534,7 @@
                 "        .i___(1337);",
                 "      });",
                 "    el___.onclick = function (event) {",
- " return plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___),", + " return ___.plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___),",
                 "        c_1___);",
                 "    };",
                 "    el___.removeAttribute('id');")
Index: tests/com/google/caja/plugin/templates/TemplateCompilerTest.java
===================================================================
--- tests/com/google/caja/plugin/templates/TemplateCompilerTest.java (revision 4679) +++ tests/com/google/caja/plugin/templates/TemplateCompilerTest.java (working copy)
@@ -235,7 +235,7 @@
             + "          return true;"
             + "        });"
             + "    el___.onsubmit = function (event) {"
-            + "      return plugin_dispatchEvent___("
+            + "      return ___.plugin_dispatchEvent___("
             + "          this, event, ___.getId(IMPORTS___), c_1___);"
             + "    };"
             + "    el___.removeAttribute('id');"
@@ -265,7 +265,7 @@
             // The extracted handler.
             + "    emitter___.setAttr(el___, 'href', 'javascript:'"
             + "      + encodeURIComponent("
-            + "          'try{void plugin_dispatchToHandler___('"
+            + "          'try{void ___.plugin_dispatchToHandler___('"
             + "          + ___.getId(IMPORTS___) + ',' + c_1___"
             + "          + ',[{}])}catch(_){}'));"
             + "    el___.removeAttribute('id');"
@@ -296,7 +296,7 @@
             + "        })) - 1;"
             + "    emitter___.setAttr(el___, 'href', 'javascript:'"
             + "      + encodeURIComponent("
-            + "          'try{void plugin_dispatchToHandler___('"
+            + "          'try{void ___.plugin_dispatchToHandler___('"
             + "          + ___.getId(IMPORTS___) + ',' + c_1___"
             + "          + ',[{}])}catch(_){}'));"
             + "    el___.removeAttribute('id');"
Index: tests/com/google/caja/plugin/templates/template-compiler-golden1-nulluripol.js
===================================================================
--- tests/com/google/caja/plugin/templates/template-compiler-golden1-nulluripol.js (revision 4679) +++ tests/com/google/caja/plugin/templates/template-compiler-golden1-nulluripol.js (working copy)
@@ -17,7 +17,7 @@
       wasClicked(thisNode___);
     });
     el___.onclick = function (event) {
- return plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___); + return ___.plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___);
     };
     // Remove the manufactured ID
     el___.removeAttribute('id');
@@ -62,7 +62,7 @@
       wasClicked(thisNode___);
     });
     el___.onclick = function (event) {
- return plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___); + return ___.plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___);
     };
     el___.removeAttribute('id');
     el___ = emitter___.byId('id_6___');
Index: tests/com/google/caja/plugin/templates/template-compiler-golden1-dynamic.js
===================================================================
--- tests/com/google/caja/plugin/templates/template-compiler-golden1-dynamic.js (revision 4679) +++ tests/com/google/caja/plugin/templates/template-compiler-golden1-dynamic.js (working copy)
@@ -17,7 +17,7 @@
       wasClicked(thisNode___);
     });
     el___.onclick = function (event) {
- return plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___); + return ___.plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___);
     };
     // Remove the manufactured ID
     el___.removeAttribute('id');
@@ -60,7 +60,7 @@
       wasClicked(thisNode___);
     });
     el___.onclick = function (event) {
- return plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___); + return ___.plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___);
     };
     el___.removeAttribute('id');
     el___ = emitter___.byId('id_6___');
Index: tests/com/google/caja/plugin/templates/template-compiler-golden1-static.js
===================================================================
--- tests/com/google/caja/plugin/templates/template-compiler-golden1-static.js (revision 4679) +++ tests/com/google/caja/plugin/templates/template-compiler-golden1-static.js (working copy)
@@ -12,7 +12,7 @@
       wasClicked(thisNode___);
     });
     el___.onclick = function (event) {
- return plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___); + return ___.plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___);
     };
     // Remove the manufactured ID
     el___.removeAttribute('id');
@@ -57,7 +57,7 @@
         wasClicked(thisNode___);
     });
     el___.onclick = function (event) {
- return plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___); + return ___.plugin_dispatchEvent___(this, event, ___.getId(IMPORTS___), c_1___);
     };
     el___.removeAttribute('id');
     el___ = emitter___.finish();
Index: tests/com/google/caja/plugin/es53-test-domado-forms-guest.html
===================================================================
--- tests/com/google/caja/plugin/es53-test-domado-forms-guest.html (revision 4679) +++ tests/com/google/caja/plugin/es53-test-domado-forms-guest.html (working copy)
@@ -177,7 +177,7 @@
         + '<input type="submit" value="Submit"></form>';

     assertEquals('<form onsubmit="'
-                 + 'try { plugin_dispatchEvent___'
+                 + 'try { ___.plugin_dispatchEvent___'
                  + '(this, event, 0, &quot;foo&quot;);'
                  + ' } finally { return false; }">'
                  + '<input type="submit" value="Submit"></form>',


Reply via email to