You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by em...@apache.org on 2018/01/22 16:30:31 UTC
svn commit: r1821891 - in /myfaces/core/branches/2.3.x:
impl/src/test/java/org/apache/myfaces/renderkit/html/
impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/
impl/src/test/java/org/apache/myfaces/test/utils/
shared/src/main/java/org/apac...
Author: embreijo
Date: Mon Jan 22 16:30:31 2018
New Revision: 1821891
URL: http://svn.apache.org/viewvc?rev=1821891&view=rev
Log:
MYFACES-4190 Remove onselect attribute from SELECT elements
Modified:
myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlListboxRendererTest.java
myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMenuRendererTest.java
myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlClientEventAttributesUtil.java
myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectManyListboxClientBehaviorRendererTest.java
myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectManyMenuClientBehaviorRendererTest.java
myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectOneListboxClientBehaviorRendererTest.java
myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectOneMenuClientBehaviorRendererTest.java
myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/test/utils/HtmlCheckAttributesUtil.java
myfaces/core/branches/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlSelectableRendererBase.java
Modified: myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlListboxRendererTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlListboxRendererTest.java?rev=1821891&r1=1821890&r2=1821891&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlListboxRendererTest.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlListboxRendererTest.java Mon Jan 22 16:30:31 2018
@@ -88,7 +88,7 @@ public class HtmlListboxRendererTest ext
public void testSelectOneHtmlPropertyPassTru() throws Exception
{
- HtmlRenderedAttr[] attrs = HtmlCheckAttributesUtil.generateBasicAttrs();
+ HtmlRenderedAttr[] attrs = HtmlCheckAttributesUtil.generateBasicAttrs(false);
List items = new ArrayList();
items.add(new SelectItem("mars"));
@@ -107,7 +107,7 @@ public class HtmlListboxRendererTest ext
public void testSelectManyHtmlPropertyPassTru() throws Exception
{
- HtmlRenderedAttr[] attrs = HtmlCheckAttributesUtil.generateBasicAttrs();
+ HtmlRenderedAttr[] attrs = HtmlCheckAttributesUtil.generateBasicAttrs(false);
List items = new ArrayList();
items.add(new SelectItem("mars"));
Modified: myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMenuRendererTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMenuRendererTest.java?rev=1821891&r1=1821890&r2=1821891&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMenuRendererTest.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMenuRendererTest.java Mon Jan 22 16:30:31 2018
@@ -89,7 +89,7 @@ public class HtmlMenuRendererTest extend
public void testSelectOneHtmlPropertyPassTru() throws Exception
{
- HtmlRenderedAttr[] attrs = HtmlCheckAttributesUtil.generateBasicAttrs();
+ HtmlRenderedAttr[] attrs = HtmlCheckAttributesUtil.generateBasicAttrs(false);
List items = new ArrayList();
items.add(new SelectItem("mars"));
@@ -108,7 +108,7 @@ public class HtmlMenuRendererTest extend
public void testSelectManyHtmlPropertyPassTru() throws Exception
{
- HtmlRenderedAttr[] attrs = HtmlCheckAttributesUtil.generateBasicAttrs();
+ HtmlRenderedAttr[] attrs = HtmlCheckAttributesUtil.generateBasicAttrs(false);
List items = new ArrayList();
items.add(new SelectItem("mars"));
Modified: myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlClientEventAttributesUtil.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlClientEventAttributesUtil.java?rev=1821891&r1=1821890&r2=1821891&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlClientEventAttributesUtil.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlClientEventAttributesUtil.java Mon Jan 22 16:30:31 2018
@@ -20,6 +20,7 @@ package org.apache.myfaces.renderkit.htm
import org.apache.myfaces.shared.renderkit.ClientBehaviorEvents;
import org.apache.myfaces.shared.renderkit.html.HTML;
+import org.apache.myfaces.test.utils.HtmlCheckAttributesUtil;
/**
* @author Leonardo Uribe (latest modification by $Author$)
@@ -44,11 +45,18 @@ public class HtmlClientEventAttributesUt
return attrs;
}
-
+
public static HtmlRenderedClientEventAttr[] generateClientBehaviorInputEventAttrs()
{
- return (HtmlRenderedClientEventAttr[])
- org.apache.myfaces.shared.util.ArrayUtils.concat(
+ return generateClientBehaviorInputEventAttrs(HtmlCheckAttributesUtil.DEFAULT_IS_ON_SELECT_ATTRIBUTE_NEEDED);
+ }
+
+ public static HtmlRenderedClientEventAttr[] generateClientBehaviorInputEventAttrs(boolean isOnSelectNeeded)
+ {
+ HtmlRenderedClientEventAttr[] attrs = null;
+ if (isOnSelectNeeded)
+ {
+ attrs = (HtmlRenderedClientEventAttr[]) org.apache.myfaces.shared.util.ArrayUtils.concat(
generateClientBehaviorEventAttrs(),
new HtmlRenderedClientEventAttr[]{
new HtmlRenderedClientEventAttr(HTML.ONBLUR_ATTR, ClientBehaviorEvents.BLUR),
@@ -57,5 +65,20 @@ public class HtmlClientEventAttributesUt
new HtmlRenderedClientEventAttr(HTML.ONCHANGE_ATTR, ClientBehaviorEvents.CHANGE),
new HtmlRenderedClientEventAttr(HTML.ONCHANGE_ATTR, ClientBehaviorEvents.VALUECHANGE)
});
+ }
+ else
+ {
+ // Note that on JSF 2.3, some components don't need onselect attribute
+ // Please see https://issues.apache.org/jira/browse/MYFACES-4190
+ attrs = (HtmlRenderedClientEventAttr[]) org.apache.myfaces.shared.util.ArrayUtils.concat(
+ generateClientBehaviorEventAttrs(),
+ new HtmlRenderedClientEventAttr[]{
+ new HtmlRenderedClientEventAttr(HTML.ONBLUR_ATTR, ClientBehaviorEvents.BLUR),
+ new HtmlRenderedClientEventAttr(HTML.ONFOCUS_ATTR, ClientBehaviorEvents.FOCUS),
+ new HtmlRenderedClientEventAttr(HTML.ONCHANGE_ATTR, ClientBehaviorEvents.CHANGE),
+ new HtmlRenderedClientEventAttr(HTML.ONCHANGE_ATTR, ClientBehaviorEvents.VALUECHANGE)
+ });
+ }
+ return attrs;
}
}
Modified: myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectManyListboxClientBehaviorRendererTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectManyListboxClientBehaviorRendererTest.java?rev=1821891&r1=1821890&r2=1821891&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectManyListboxClientBehaviorRendererTest.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectManyListboxClientBehaviorRendererTest.java Mon Jan 22 16:30:31 2018
@@ -34,7 +34,7 @@ public class HtmlSelectManyListboxClient
public void setUp() throws Exception
{
super.setUp();
- attrs = HtmlClientEventAttributesUtil.generateClientBehaviorInputEventAttrs();
+ attrs = HtmlClientEventAttributesUtil.generateClientBehaviorInputEventAttrs(false);
}
@Override
Modified: myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectManyMenuClientBehaviorRendererTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectManyMenuClientBehaviorRendererTest.java?rev=1821891&r1=1821890&r2=1821891&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectManyMenuClientBehaviorRendererTest.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectManyMenuClientBehaviorRendererTest.java Mon Jan 22 16:30:31 2018
@@ -34,7 +34,7 @@ public class HtmlSelectManyMenuClientBeh
public void setUp() throws Exception
{
super.setUp();
- attrs = HtmlClientEventAttributesUtil.generateClientBehaviorInputEventAttrs();
+ attrs = HtmlClientEventAttributesUtil.generateClientBehaviorInputEventAttrs(false);
}
@Override
Modified: myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectOneListboxClientBehaviorRendererTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectOneListboxClientBehaviorRendererTest.java?rev=1821891&r1=1821890&r2=1821891&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectOneListboxClientBehaviorRendererTest.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectOneListboxClientBehaviorRendererTest.java Mon Jan 22 16:30:31 2018
@@ -34,7 +34,7 @@ public class HtmlSelectOneListboxClientB
public void setUp() throws Exception
{
super.setUp();
- attrs = HtmlClientEventAttributesUtil.generateClientBehaviorInputEventAttrs();
+ attrs = HtmlClientEventAttributesUtil.generateClientBehaviorInputEventAttrs(false);
}
@Override
Modified: myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectOneMenuClientBehaviorRendererTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectOneMenuClientBehaviorRendererTest.java?rev=1821891&r1=1821890&r2=1821891&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectOneMenuClientBehaviorRendererTest.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/renderkit/html/behavior/HtmlSelectOneMenuClientBehaviorRendererTest.java Mon Jan 22 16:30:31 2018
@@ -34,7 +34,7 @@ public class HtmlSelectOneMenuClientBeha
public void setUp() throws Exception
{
super.setUp();
- attrs = HtmlClientEventAttributesUtil.generateClientBehaviorInputEventAttrs();
+ attrs = HtmlClientEventAttributesUtil.generateClientBehaviorInputEventAttrs(false);
}
@Override
Modified: myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/test/utils/HtmlCheckAttributesUtil.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/test/utils/HtmlCheckAttributesUtil.java?rev=1821891&r1=1821890&r2=1821891&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/test/utils/HtmlCheckAttributesUtil.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/test/utils/HtmlCheckAttributesUtil.java Mon Jan 22 16:30:31 2018
@@ -31,6 +31,8 @@ import org.apache.myfaces.test.mock.Mock
*/
public class HtmlCheckAttributesUtil
{
+ public static final boolean DEFAULT_IS_ON_SELECT_ATTRIBUTE_NEEDED = true;
+
/**
* This method adds all elements of attrs to the attributes map of component.
* @param component The component to add the attributes to.
@@ -168,38 +170,89 @@ public class HtmlCheckAttributesUtil
}
}
- public static HtmlRenderedAttr[] generateBasicAttrs() {
- HtmlRenderedAttr[] attrs = {
- //_AccesskeyProperty
- new HtmlRenderedAttr("accesskey"),
- //_UniversalProperties
- new HtmlRenderedAttr("dir"),
- new HtmlRenderedAttr("lang"),
- new HtmlRenderedAttr("title"),
- new HtmlRenderedAttr("role"),
- //_FocusBlurProperties
- new HtmlRenderedAttr("onfocus"),
- new HtmlRenderedAttr("onblur"),
- //_ChangeSelectProperties
- new HtmlRenderedAttr("onchange"),
- new HtmlRenderedAttr("onselect"),
- //_EventProperties
- new HtmlRenderedAttr("onclick"),
- new HtmlRenderedAttr("ondblclick"),
- new HtmlRenderedAttr("onkeydown"),
- new HtmlRenderedAttr("onkeypress"),
- new HtmlRenderedAttr("onkeyup"),
- new HtmlRenderedAttr("onmousedown"),
- new HtmlRenderedAttr("onmousemove"),
- new HtmlRenderedAttr("onmouseout"),
- new HtmlRenderedAttr("onmouseover"),
- new HtmlRenderedAttr("onmouseup"),
- //_StyleProperties
- new HtmlRenderedAttr("style"),
- new HtmlRenderedAttr("styleClass", "styleClass", "class=\"styleClass\""),
- //_TabindexProperty
- new HtmlRenderedAttr("tabindex")
- };
+ public static HtmlRenderedAttr[] generateBasicAttrs()
+ {
+ return generateBasicAttrs(DEFAULT_IS_ON_SELECT_ATTRIBUTE_NEEDED);
+ }
+
+ /**
+ * Generates an array of basic attributes.
+ * Note that on JSF 2.3 some components don't need onselect attribute.
+ * Please see https://issues.apache.org/jira/browse/MYFACES-4190
+ * @param isOnSelectNeeded A boolean value to check if onselect attribute is needed.
+ */
+ public static HtmlRenderedAttr[] generateBasicAttrs(boolean isOnSelectNeeded)
+ {
+ HtmlRenderedAttr[] attrs = null;
+ if (isOnSelectNeeded)
+ {
+ attrs = new HtmlRenderedAttr[] {
+ //_AccesskeyProperty
+ new HtmlRenderedAttr("accesskey"),
+ //_UniversalProperties
+ new HtmlRenderedAttr("dir"),
+ new HtmlRenderedAttr("lang"),
+ new HtmlRenderedAttr("title"),
+ new HtmlRenderedAttr("role"),
+ //_FocusBlurProperties
+ new HtmlRenderedAttr("onfocus"),
+ new HtmlRenderedAttr("onblur"),
+ //_ChangeProperty
+ new HtmlRenderedAttr("onchange"),
+ // _SelectProperty
+ new HtmlRenderedAttr("onselect"),
+ //_EventProperties
+ new HtmlRenderedAttr("onclick"),
+ new HtmlRenderedAttr("ondblclick"),
+ new HtmlRenderedAttr("onkeydown"),
+ new HtmlRenderedAttr("onkeypress"),
+ new HtmlRenderedAttr("onkeyup"),
+ new HtmlRenderedAttr("onmousedown"),
+ new HtmlRenderedAttr("onmousemove"),
+ new HtmlRenderedAttr("onmouseout"),
+ new HtmlRenderedAttr("onmouseover"),
+ new HtmlRenderedAttr("onmouseup"),
+ //_StyleProperties
+ new HtmlRenderedAttr("style"),
+ new HtmlRenderedAttr("styleClass", "styleClass", "class=\"styleClass\""),
+ //_TabindexProperty
+ new HtmlRenderedAttr("tabindex")
+ };
+ }
+ else
+ {
+ // Note that on JSF 2.3, some components don't need onselect attribute
+ attrs = new HtmlRenderedAttr[] {
+ //_AccesskeyProperty
+ new HtmlRenderedAttr("accesskey"),
+ //_UniversalProperties
+ new HtmlRenderedAttr("dir"),
+ new HtmlRenderedAttr("lang"),
+ new HtmlRenderedAttr("title"),
+ new HtmlRenderedAttr("role"),
+ //_FocusBlurProperties
+ new HtmlRenderedAttr("onfocus"),
+ new HtmlRenderedAttr("onblur"),
+ //_ChangeProperty
+ new HtmlRenderedAttr("onchange"),
+ //_EventProperties
+ new HtmlRenderedAttr("onclick"),
+ new HtmlRenderedAttr("ondblclick"),
+ new HtmlRenderedAttr("onkeydown"),
+ new HtmlRenderedAttr("onkeypress"),
+ new HtmlRenderedAttr("onkeyup"),
+ new HtmlRenderedAttr("onmousedown"),
+ new HtmlRenderedAttr("onmousemove"),
+ new HtmlRenderedAttr("onmouseout"),
+ new HtmlRenderedAttr("onmouseover"),
+ new HtmlRenderedAttr("onmouseup"),
+ //_StyleProperties
+ new HtmlRenderedAttr("style"),
+ new HtmlRenderedAttr("styleClass", "styleClass", "class=\"styleClass\""),
+ //_TabindexProperty
+ new HtmlRenderedAttr("tabindex")
+ };
+ }
return attrs;
}
Modified: myfaces/core/branches/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlSelectableRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlSelectableRendererBase.java?rev=1821891&r1=1821890&r2=1821891&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlSelectableRendererBase.java (original)
+++ myfaces/core/branches/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlSelectableRendererBase.java Mon Jan 22 16:30:31 2018
@@ -94,7 +94,9 @@ public class HtmlSelectableRendererBase
commonPropertiesMarked, uiComponent);
CommonPropertyUtils.renderEventProperties(writer,
commonPropertiesMarked, uiComponent);
- CommonPropertyUtils.renderFieldEventPropertiesWithoutOnchange(writer,
+ // Note that on JSF 2.3, selectable components don't need onselect attribute
+ // Please see https://issues.apache.org/jira/browse/MYFACES-4190
+ CommonPropertyUtils.renderFieldEventPropertiesWithoutOnchangeAndOnselect(writer,
commonPropertiesMarked, uiComponent);
}
else
@@ -106,14 +108,14 @@ public class HtmlSelectableRendererBase
Long commonEventsMarked = CommonEventUtils.getCommonEventsMarked(uiComponent);
CommonEventUtils.renderBehaviorizedEventHandlers(facesContext, writer,
commonPropertiesMarked, commonEventsMarked, uiComponent, behaviors);
- CommonEventUtils.renderBehaviorizedFieldEventHandlersWithoutOnchange(
+ CommonEventUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
facesContext, writer, commonPropertiesMarked, commonEventsMarked, uiComponent, behaviors);
}
else
{
HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer, uiComponent,
behaviors);
- HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchange(facesContext,
+ HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(facesContext,
writer, uiComponent, behaviors);
}
}