You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2008/12/11 10:12:25 UTC

svn commit: r725628 - /myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/

Author: matzew
Date: Thu Dec 11 01:12:25 2008
New Revision: 725628

URL: http://svn.apache.org/viewvc?rev=725628&view=rev
Log:
TRINIDAD-1304 - Removal of event attributes for browsers not supporting JavaScript events

Thanks to Mamallan Uthaman for the patch

Modified:
    myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/IconRenderer.java
    myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java
    myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectBooleanRenderer.java
    myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectManyCheckboxRenderer.java
    myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectOneRadioRenderer.java
    myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlRenderer.java

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/IconRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/IconRenderer.java?rev=725628&r1=725627&r2=725628&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/IconRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/IconRenderer.java Thu Dec 11 01:12:25 2008
@@ -113,8 +113,11 @@
         // get rendered on the icon itself.  If none are present,
         // our ResponseWriter will trim the unneeded span
         else
-        {
-          renderEventHandlers(context, bean);
+        { // render the events only if the browser supports JavaScript
+          if (supportsScripting(arc))
+          {
+            renderEventHandlers(context, bean);
+          }
         }
 
         // inlineStyle, if set, always goes on the span (today)

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java?rev=725628&r1=725627&r2=725628&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java Thu Dec 11 01:12:25 2008
@@ -741,26 +741,27 @@
         }
       }
   
-  
-  
-      // Cannot use super.renderEventHandlers(context, bean); because the wrong
-      // property keys would be in use so must do it this way:
-      _writeOnclickProperty(
-        arc,
-        rw,
-        commandChild,
-        (destination == null),
-        immediate,
-        partialSubmit); // special for actions!
-      _writeCommandChildProperty(rw, commandChild, "ondblclick");
-      _writeCommandChildProperty(rw, commandChild, "onkeydown");
-      _writeCommandChildProperty(rw, commandChild, "onkeyup");
-      _writeCommandChildProperty(rw, commandChild, "onkeypress");
-      _writeCommandChildProperty(rw, commandChild, "onmousedown");
-      _writeCommandChildProperty(rw, commandChild, "onmousemove");
-      _writeCommandChildProperty(rw, commandChild, "onmouseout");
-      _writeCommandChildProperty(rw, commandChild, "onmouseover");
-      _writeCommandChildProperty(rw, commandChild, "onmouseup");
+      if (supportsScripting(arc))
+      {
+        // Cannot use super.renderEventHandlers(context, bean); because the wrong
+        // property keys would be in use so must do it this way:
+        _writeOnclickProperty(
+          arc,
+          rw,
+          commandChild,
+          (destination == null),
+          immediate,
+          partialSubmit); // special for actions!
+        _writeCommandChildProperty(rw, commandChild, "ondblclick");
+        _writeCommandChildProperty(rw, commandChild, "onkeydown");
+        _writeCommandChildProperty(rw, commandChild, "onkeyup");
+        _writeCommandChildProperty(rw, commandChild, "onkeypress");
+        _writeCommandChildProperty(rw, commandChild, "onmousedown");
+        _writeCommandChildProperty(rw, commandChild, "onmousemove");
+        _writeCommandChildProperty(rw, commandChild, "onmouseout");
+        _writeCommandChildProperty(rw, commandChild, "onmouseover");
+        _writeCommandChildProperty(rw, commandChild, "onmouseup");
+      }
     }
     
     String accessKey = toString(itemData.get("accessKey"));

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectBooleanRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectBooleanRenderer.java?rev=725628&r1=725627&r2=725628&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectBooleanRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectBooleanRenderer.java Thu Dec 11 01:12:25 2008
@@ -104,7 +104,13 @@
     // Added span around the entire element
     // for the Visual Editor and PPR. See bug # 2222541.
     writer.startElement("span", component);
-    renderSpanEventHandlers(context, bean);
+    
+    // render the events only if the browser supports JavaScript
+    if (supportsScripting(arc))
+    {
+      renderSpanEventHandlers(context, bean);
+    }
+    
     renderStyleClass(context, arc, getContentStyleClass(bean)); 
     renderInlineStyleAttribute(context, arc, getContentStyle(bean));
 
@@ -127,7 +133,12 @@
     renderId(context, component);
     // Not calling super.renderAllAttributes or style classes are written out
     renderShortDescAttribute(context, arc, bean);
-    renderInputEventHandlers(context, bean);
+    
+    // render the events only if the browser supports JavaScript
+    if (supportsScripting(arc))
+    {
+      renderInputEventHandlers(context, bean);
+    }
     renderDisabledAttribute(context, arc, bean);
     if (!shouldRenderName(context, component))
       renderNameAttribute(context, arc, bean);    

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectManyCheckboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectManyCheckboxRenderer.java?rev=725628&r1=725627&r2=725628&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectManyCheckboxRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectManyCheckboxRenderer.java Thu Dec 11 01:12:25 2008
@@ -226,8 +226,12 @@
     // We could optimize SelectManyCheckbox a bit by gathering
     // up the "form event handlers" in one pass (seems to be about
     // 8% sower this way)
-    rw.writeAttribute("onclick", itemOnclick, null);
-    renderItemFormEventHandlers(context, bean);
+    // Also render the events only if the browser supports JavaScript
+    if (supportsScripting(arc))
+    {
+      rw.writeAttribute("onclick", itemOnclick, null);
+      renderItemFormEventHandlers(context, bean);
+    }
 
     rw.endElement("input");
 

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectOneRadioRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectOneRadioRenderer.java?rev=725628&r1=725627&r2=725628&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectOneRadioRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SimpleSelectOneRadioRenderer.java Thu Dec 11 01:12:25 2008
@@ -229,8 +229,12 @@
     // We could optimize SelectOneRadio a bit by gathering
     // up the "form event handlers" in one pass (seems to be about
     // 8% slower this way)
-    rw.writeAttribute("onclick", itemOnclick, null);
-    renderItemFormEventHandlers(context, bean);
+    // render the events only if the browser supports JavaScript
+    if (supportsScripting(arc))
+    {
+      rw.writeAttribute("onclick", itemOnclick, null);
+      renderItemFormEventHandlers(context, bean);
+    }
 
     rw.endElement("input");
 

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlRenderer.java?rev=725628&r1=725627&r2=725628&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlRenderer.java Thu Dec 11 01:12:25 2008
@@ -347,7 +347,11 @@
     boolean             renderStyleAttrs) throws IOException
   {
     renderShortDescAttribute(context, arc, bean);
-    renderEventHandlers(context, bean);
+    // render the events only if the browser supports JavaScript
+    if (supportsScripting(arc))
+    {
+      renderEventHandlers(context, bean);
+    }
     if (renderStyleAttrs)
       renderStyleAttributes(context, arc, bean);