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);