Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.3.0.GA
-
Fix Version/s: EE-3.3.0.GA_P01, 4.0.BETA, 4.0
-
Component/s: Framework
-
Labels:None
-
Environment:All
-
Assignee Priority:P1
Description
The framework core, compat and ACE components make multiple subsequent calls to ResponseWriter.write and ResponseWriter.writeText, to output fragments of javascript, which get rendered out as a single javascript call due to our framework concatenating them.
Either from the DOM cloning or the FastInfoSet copying (definitely latter but possibly also former), we now have situations where the old DOM has a single TEXT node for javascript calls, while the new DOM has the multiple sibling TEXT nodes, so a DOM difference occurs. This can trigger HEAD updates, and at the very least, cause javascript to re-execute that we may have intended to not be executed beyond the first time it was rendered.
Example of files affected that I have fixed in my workplan:
M icefaces/compat/core/src/main/java/com/icesoft/faces/application/ExtrasSetup.java
M icefaces/compat/core/src/main/java/com/icesoft/faces/context/CompatDOMPartialViewContext.java
M icefaces/ace/component/src/org/icefaces/ace/component/selectmenu/SelectMenuRenderer.java
M icefaces/ace/component/src/org/icefaces/ace/component/combobox/ComboBoxRenderer.java
M icefaces/ace/component/src/org/icefaces/ace/component/tabset/TabSetRenderer.java
M icefaces/ace/component/src/org/icefaces/ace/component/autocompleteentry/AutoCompleteEntryRenderer.java
M icefaces/core/src/main/java/org/icefaces/impl/event/BridgeSetup.java
M icefaces/core/src/main/java/org/icefaces/impl/component/NavigationNotifier.java
M icefaces/core/src/main/java/org/icefaces/impl/context/DOMResponseWriter.java
M icefaces/core/src/main/java/org/icefaces/impl/facelets/tag/icefaces/core/RefreshHandler.java
M icefaces/core/src/main/java/org/icefaces/impl/renderkit/DOMRenderKit.java
Either from the DOM cloning or the FastInfoSet copying (definitely latter but possibly also former), we now have situations where the old DOM has a single TEXT node for javascript calls, while the new DOM has the multiple sibling TEXT nodes, so a DOM difference occurs. This can trigger HEAD updates, and at the very least, cause javascript to re-execute that we may have intended to not be executed beyond the first time it was rendered.
Example of files affected that I have fixed in my workplan:
M icefaces/compat/core/src/main/java/com/icesoft/faces/application/ExtrasSetup.java
M icefaces/compat/core/src/main/java/com/icesoft/faces/context/CompatDOMPartialViewContext.java
M icefaces/ace/component/src/org/icefaces/ace/component/selectmenu/SelectMenuRenderer.java
M icefaces/ace/component/src/org/icefaces/ace/component/combobox/ComboBoxRenderer.java
M icefaces/ace/component/src/org/icefaces/ace/component/tabset/TabSetRenderer.java
M icefaces/ace/component/src/org/icefaces/ace/component/autocompleteentry/AutoCompleteEntryRenderer.java
M icefaces/core/src/main/java/org/icefaces/impl/event/BridgeSetup.java
M icefaces/core/src/main/java/org/icefaces/impl/component/NavigationNotifier.java
M icefaces/core/src/main/java/org/icefaces/impl/context/DOMResponseWriter.java
M icefaces/core/src/main/java/org/icefaces/impl/facelets/tag/icefaces/core/RefreshHandler.java
M icefaces/core/src/main/java/org/icefaces/impl/renderkit/DOMRenderKit.java
Issue Links
- blocks
-
ICE-9404 RuntimeException: Cannot clone document
- Closed
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Mark Collette
created issue -
Ken Fyten
made changes -
Field | Original Value | New Value |
---|---|---|
Assignee | Mircea Toma [ mircea.toma ] | |
Fix Version/s | 3.4 [ 10770 ] | |
Assignee Priority | P1 [ 10010 ] |
Mark Collette
made changes -
Summary | DOM clone/copy reduces adjacent TEXT nodes which causes unintended DOM differences, so javascript executes redundently | DOM clone/copy reduces adjacent TEXT nodes which causes unintended DOM differences, so javascript executes redundantly |
Mircea Toma
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Mircea Toma
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | EE-3.3.0.GA_P01 [ 11174 ] |
Ken Fyten
made changes -
Security | Private [ 10001 ] |
Mark Collette
made changes -
Attachment | ICE-9398.patch [ 16114 ] |
Ken Fyten
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Mircea Toma
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Deryk Sinotte
made changes -
Link | This issue blocks ICE-9421 [ ICE-9421 ] |
Ken Fyten
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Ken Fyten
made changes -
Comment | [ A comment with security level 'icesoft-internal-developers' was removed. ] |
Ken Fyten
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | 4.0 [ 11382 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |