Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.3.0.GA_P02, EE-4.0.0.GA
-
Fix Version/s: EE-3.3.0.GA_P03, 4.1
-
Component/s: ACE-Components
-
Labels:None
-
Environment:IE
-
Assignee Priority:P1
-
Support Case References:Support Case #13407 - https://icesoft.my.salesforce.com/5007000001AgkLk
Description
This happens in IE browsers only.
-
Hide
- Case13407Example.war
- 8.87 MB
- Mircea Toma
-
- META-INF/MANIFEST.MF 0.1 kB
- __MACOSX/META-INF/._MANIFEST.MF 0.2 kB
- META-INF/context.xml 0.1 kB
- __MACOSX/META-INF/._context.xml 0.2 kB
- __MACOSX/._META-INF 0.2 kB
- WEB-INF/classes/com/.../support/Item.class 0.8 kB
- __MACOSX/WEB-INF/.../support/._Item.class 0.2 kB
- WEB-INF/classes/.../support/TestBean.class 1 kB
- __MACOSX/WEB-INF/.../._TestBean.class 0.2 kB
- __MACOSX/WEB-INF/.../icesoft/._support 0.2 kB
- __MACOSX/WEB-INF/classes/com/._icesoft 0.2 kB
- __MACOSX/WEB-INF/classes/._com 0.2 kB
- __MACOSX/WEB-INF/._classes 0.2 kB
- WEB-INF/lib/icefaces-ee-ace.jar 5.86 MB
- __MACOSX/WEB-INF/.../._icefaces-ee-ace.jar 0.2 kB
- WEB-INF/lib/icefaces-ee-ext.jar 51 kB
- __MACOSX/WEB-INF/.../._icefaces-ee-ext.jar 0.2 kB
- WEB-INF/lib/icefaces-ee.jar 675 kB
- __MACOSX/WEB-INF/lib/._icefaces-ee.jar 0.2 kB
- WEB-INF/lib/javax.faces-2.2.10.jar 2.99 MB
- __MACOSX/.../._javax.faces-2.2.10.jar 0.2 kB
- __MACOSX/WEB-INF/._lib 0.2 kB
- WEB-INF/web.xml 2 kB
- __MACOSX/WEB-INF/._web.xml 0.2 kB
- __MACOSX/._WEB-INF 0.2 kB
- index.xhtml 0.5 kB
- __MACOSX/._index.xhtml 0.2 kB
- welcomeICEfaces.xhtml 2 kB
-
Hide
- Case13407Example.war
- 9.56 MB
- Arran Mccullough
-
- META-INF/MANIFEST.MF 0.1 kB
- META-INF/context.xml 0.1 kB
- WEB-INF/classes/com/.../support/Item.class 0.8 kB
- WEB-INF/classes/.../support/TestBean.class 1 kB
- WEB-INF/lib/icefaces-ee-ace.jar 5.86 MB
- WEB-INF/lib/icefaces-ee-ext.jar 51 kB
- WEB-INF/lib/icefaces-ee.jar 675 kB
- WEB-INF/lib/javax.faces-2.2.10.jar 2.99 MB
- WEB-INF/web.xml 2 kB
- index.xhtml 0.5 kB
- welcomeICEfaces.xhtml 2 kB
-
Hide
- Case13407Example.zip
- 30 kB
- Mircea Toma
-
- build.xml 3 kB
- __MACOSX/._build.xml 0.2 kB
- nbproject/ant-deploy.xml 2 kB
- __MACOSX/nbproject/._ant-deploy.xml 0.2 kB
- nbproject/build-impl.xml 80 kB
- __MACOSX/nbproject/._build-impl.xml 0.2 kB
- nbproject/genfiles.properties 0.5 kB
- __MACOSX/nbproject/._genfiles.properties 0.2 kB
- nbproject/private/private.properties 0.6 kB
- __MACOSX/nbproject/.../._private.properties 0.2 kB
- nbproject/private/private.xml 0.3 kB
- __MACOSX/nbproject/private/._private.xml 0.2 kB
- __MACOSX/nbproject/._private 0.2 kB
- nbproject/project.properties 4 kB
- __MACOSX/nbproject/._project.properties 0.2 kB
- nbproject/project.xml 0.9 kB
- __MACOSX/nbproject/._project.xml 0.2 kB
- __MACOSX/._nbproject 0.2 kB
- src/conf/MANIFEST.MF 0.0 kB
- __MACOSX/src/conf/._MANIFEST.MF 0.2 kB
- __MACOSX/src/._conf 0.2 kB
- src/java/com/icesoft/support/Item.java 0.6 kB
- __MACOSX/src/java/.../support/._Item.java 0.2 kB
- src/java/com/.../support/TestBean.java 0.9 kB
- __MACOSX/src/.../support/._TestBean.java 0.2 kB
- __MACOSX/src/java/com/icesoft/._support 0.2 kB
- __MACOSX/src/java/com/._icesoft 0.2 kB
- __MACOSX/src/java/._com 0.2 kB
- __MACOSX/src/._java 0.2 kB
- __MACOSX/._src 0.2 kB
-
- Case13407Example.zip
- 21 kB
- Arran Mccullough
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Note when testing with the most recent EE 3.3.0 branch, I am not able to see the onSuccess and onComplete events being fired in IE.
Cancel default action when Enter key is pressed to avoid having form submitted by ICEfaces' form capturing feature (the filtering input has its own submitting callback). Also registered the filtering callback on keydown instead of keypress to capture the Enter key in IE (keypress callback is not invoked on Enter keypress).
Tested with ICEfaces 4 trunk r44662. Focus is still moving to button.
Tested with ICEfaces EE-3.3.0_P03 tag and maintenance branch r44662.
IE 11 - Focus stays in the filter input but the onSuccess and onComplete events are not being fired. Also the focus moves back to the button when testing this same scenario with FF and Chrome.
Re-opened as per QA's noted regressions, also the onComplete and onSuccess issue needs attention.
Added modified test case file with callbacks that do not throw exceptions.
The onSuccess and onComplete callbacks will be fired since they do not trigger errors when document.activeElement is not defined in some browsers.
Tested with ICEfaces 4 trunk r44662 and modified test case.
When using Chrome and FF the focus is still being placed on the Button after entering input and pressing Enter.
Tested with ICEfaces EE-3.3.0.GA_P03 tag and maintenance branch r44666. Focus is retained within the text input.
In all cases the filter event is no longer firing in the modified test app.
Updated attached test files. One of the callbacks was missing a parenthesis which triggered a JS error.
Ported forward the fix for ICE-10658 to trigger the events in the expected order.
Tested with ICEfaces 4 trunk r44668, ICEfaces EE-3.3.0.GA_P03 tag r44666 and modified test case.
When using FF and the testing steps as per the description
1.)Type 1 into the input and press enter, focus stays in the input. (_iceForm:testTable:colOne_filter)
2.) Press Enter or dismiss the JS prompt and focus is moved to the button. (_iceForm:testButton)
3.) Press Enter or dismiss the JS prompt and focus is moved back to the input area. (_iceForm:testTable:colOne_filter)
When using Chrome and the testing steps as per the description
1.)Type 1 into the input and press enter, focus stays in the input. (_iceForm:testTable:colOne_filter)
2.) Press Enter or dismiss the JS prompt and focus becomes undefined. (2_undefined)
3.) Press Enter or dismiss the JS prompt and focus is moved to the button. (3_undefined)
When testing with IE 11 the focus appears to start at, and end at the text input, with a dead zone in between. The js prompts are as follows: (_iceForm:testTable:colOne_filter), (2_null), (3_undefined).
I don't see FF behaving as described, the focus is kept on the input element at all times. As for Chrome, indeed the focus is set on the window once after the first pop up is closed. Once the messages are logged instead of showing them in popups then Chrome runs just fine, it keeps the focus on the input element.
In IE11 the second popup will show an undefined value because the DOM update is applied slightly different causing the input element to be out of the DOM temporarily.
I believe the test should be changed so that the alert popups are replaced with log calls to avoid their interference with focus.
..... <ace:ajax event="filter" onStart="ice.log.debug(ice.log, '1_' + (document.activeElement ? document.activeElement.name : null)); return true;" onSuccess="ice.log.debug(ice.log, '2_' + (document.activeElement ? document.activeElement.name : null));" onComplete="ice.log.debug(ice.log, '3_' + (document.activeElement ? document.activeElement.name : null));"/> .....
Verified using the suggested modification to the test application, ICEfaces EE-3.3.0.GA_p03 tag, ICEfaces 4 trunk r44693. Tomcat 7, IE 11, 10, 9, 8, 7, FF 34, Chrome 42.
Verified using the suggested modification to the test application, ICEfaces EE-3.3.0.GA_p03 Jenkins Build 07, Tomcat 7, IE 11, 10, 9, 8, 7, FF 34, Chrome 42
Attached test case that shows the issue.
Steps: