You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Volker Malzahn (JIRA)" <de...@myfaces.apache.org> on 2012/09/25 09:43:08 UTC

[jira] [Created] (TRINIDAD-2317) PPR issue with IE Security "High" in Zone "Internet"

Volker Malzahn created TRINIDAD-2317:
----------------------------------------

             Summary: PPR issue with IE Security "High" in Zone "Internet"
                 Key: TRINIDAD-2317
                 URL: https://issues.apache.org/jira/browse/TRINIDAD-2317
             Project: MyFaces Trinidad
          Issue Type: Bug
          Components: Components, Facelets
    Affects Versions: 2.0.1-core
         Environment: Windows XP/7, IE 8/9, Tomcat 6.0.30
            Reporter: Volker Malzahn


After setting security level of zone "Internet" to "High" in "Internet Options/Security" of Internet Explorer 8 or 9 PPR requests don't function correctly: first PPR request of a page is successful, but all subsequent requests of same page don't function. I don't use JSF AJAX requests but good old Trinidad PPR (org.apache.myfaces.trinidadinternal.PPR_OVER_JSF_AJAX in web.xml is off).

Strange is that although my server is added to "Trusted Sites", which should overwrite IE's security settings of zone "Internet", it seems that this overwriting isn't done completely. (That it does it party is apparent because JavaScript in general functions.)

I have debugged a little and found out following:

When processing the answer of the first PPR request In TrPage._handlePprResponseFragment the statement "targetNode.parentNode.replaceChild(sourceNode, targetNode)" seems to cause that all subsequent PPR requests don't start processing in IE: a breakpoint in _submitPartialChange or formSubmit isn't reached. Same happens if I change the code to explicitly add the new node and remove to old one. Adding a new node to the DOM tree seems to be the critical point.

In a test I have replaced "targetNode.parentNode.replaceChild(sourceNode, targetNode)" by "targetNode.outerHTML = sourceNode.outerHTML" if browser is IE, and this seems to fix the issue for my webapp.

Wouldn't it be best to do this change (for IE) in Trinidad's JavaScript code? Or do you know another solution for this issue?

Regards,
Volker

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira