[Jifty-commit] jifty branch, master, updated. 48c1327800493f95cd5a8acca642fb646822d870

Jifty commits jifty-commit at lists.jifty.org
Fri Jan 8 17:31:46 EST 2010


The branch, master has been updated
       via  48c1327800493f95cd5a8acca642fb646822d870 (commit)
      from  6a261a53cfe2176138e24f03c2dd9de1774a67db (commit)

Summary of changes:
 lib/Jifty/Web/Form/Element.pm    |    2 +-
 lib/Jifty/Web/Form/Field.pm      |    2 --
 lib/Jifty/Web/Form/Link.pm       |    2 +-
 lib/Jifty/Web/Menu.pm            |    2 +-
 lib/Jifty/Web/PageRegion.pm      |    2 +-
 t/TestApp/t/16-template-region.t |    2 +-
 6 files changed, 5 insertions(+), 7 deletions(-)

- Log -----------------------------------------------------------------
commit 48c1327800493f95cd5a8acca642fb646822d870
Author: Thomas Sibley <trs at bestpractical.com>
Date:   Fri Jan 8 17:28:56 2010 -0500

    Revert a bunch of HTML escaping in <script> tags
    
    It broke pages in the browser.  Although we serve content with an XHTML
    doctype, the Content-Type is always text/html.  This forces the browser
    to parse <script> tags according to the HTML spec (no entity parsing in
    inline JS) instead of the XHTML spec (parsed entities).
    
    This is not an ideal solution, but the least bad one for now.

diff --git a/lib/Jifty/Web/Form/Element.pm b/lib/Jifty/Web/Form/Element.pm
index 397e9fd..5fed9be 100644
--- a/lib/Jifty/Web/Form/Element.pm
+++ b/lib/Jifty/Web/Form/Element.pm
@@ -659,7 +659,7 @@ sub render_key_binding {
     return unless $self->key_binding;
     Jifty->web->out(
         '<script type="text/javascript">' .
-        Jifty->web->escape($self->key_binding_javascript).
+        $self->key_binding_javascript.
         "</script>");
     return '';
 }
diff --git a/lib/Jifty/Web/Form/Field.pm b/lib/Jifty/Web/Form/Field.pm
index a789692..e8e8d5c 100644
--- a/lib/Jifty/Web/Form/Field.pm
+++ b/lib/Jifty/Web/Form/Field.pm
@@ -432,7 +432,6 @@ sub render_inline_javascript {
     );
     
     if($javascript =~ /\S/) {
-        $javascript = Jifty->web->escape( $javascript );
         Jifty->web->out(qq{<script type="text/javascript">$javascript</script>
 });
     }
@@ -451,7 +450,6 @@ sub render_preload_javascript {
     my $javascript = $self->preload_javascript;
 
     if($javascript =~ /\S/) {
-        $javascript = Jifty->web->escape( $javascript );
         Jifty->web->out(qq{<script type="text/javascript">$javascript</script>
 });
     }
diff --git a/lib/Jifty/Web/Form/Link.pm b/lib/Jifty/Web/Form/Link.pm
index e4e064c..47d7313 100644
--- a/lib/Jifty/Web/Form/Link.pm
+++ b/lib/Jifty/Web/Form/Link.pm
@@ -120,7 +120,7 @@ sub as_string {
 
     $output .= (
         '<script type="text/javascript">' .
-        $web->escape($self->key_binding_javascript).
+        $self->key_binding_javascript.
         "</script>") if $self->key_binding;
 
     return $output;
diff --git a/lib/Jifty/Web/Menu.pm b/lib/Jifty/Web/Menu.pm
index ea6dc1c..fa381f9 100644
--- a/lib/Jifty/Web/Menu.pm
+++ b/lib/Jifty/Web/Menu.pm
@@ -447,7 +447,7 @@ sub render_as_yui_menu {
     );
 
     my $showjs = $args{'show'} ? "menu.show();" : "";
-    my $json   = Jifty->web->escape( Jifty::JSON::encode_json( $args{'options'} ) );
+    my $json   = Jifty::JSON::encode_json( $args{'options'} );
 
     # Bind to a button to show the menu
     my $binding = (defined $args{'button'} and length $args{'button'}) ? 1 : 0;
diff --git a/lib/Jifty/Web/PageRegion.pm b/lib/Jifty/Web/PageRegion.pm
index 504eb5d..dd1d8a4 100644
--- a/lib/Jifty/Web/PageRegion.pm
+++ b/lib/Jifty/Web/PageRegion.pm
@@ -320,7 +320,7 @@ sub make_body {
     if ( $self->region_wrapper ) {
          $buffer->append(qq|<script type="text/javascript">\n|
             . qq|new Region('| . $self->qualified_name . qq|',|
-            . Jifty->web->escape(Jifty::JSON::encode_json( \%arguments )) . qq|,| 
+            . Jifty::JSON::encode_json( \%arguments ) . qq|,| 
             . qq|'| . $self->path . qq|',|
             . ( $self->parent ? qq|'| . $self->parent->qualified_name . qq|'| : q|null|)
             . qq|,| . (Jifty->web->form->is_open ? '1' : 'null')
diff --git a/t/TestApp/t/16-template-region.t b/t/TestApp/t/16-template-region.t
index 6c9dca9..2e16441 100644
--- a/t/TestApp/t/16-template-region.t
+++ b/t/TestApp/t/16-template-region.t
@@ -10,7 +10,7 @@ my @tests = (
         text => q|list!
 <span>1</span>
 <span>2</span><script type="text/javascript">
-new Region('special',{&#34;id&#34;:3},'/foo/item',null,null);
+new Region('special',{"id":3},'/foo/item',null,null);
 </script><div id="region-special" class="jifty-region">
 <span>3</span></div>|
     },

-----------------------------------------------------------------------


More information about the Jifty-commit mailing list