IE7 Reports Mixed Secure and NonSecure Warning with HTTPS if 
dojo.event.topic.subscribe is used
-----------------------------------------------------------------------------------------------

                 Key: WW-2242
                 URL: https://issues.apache.org/struts/browse/WW-2242
             Project: Struts 2
          Issue Type: Bug
    Affects Versions: 2.0.9
         Environment: Windows XP, Solaris
            Reporter: John Larsen


When viewing the following page via HTTPS in IE7 the browser raises a secure 
and nonsecure content warning. As far as I can tell this is different to 
previous security warning problems reported against dojo.

Apologies for the large amount of HTML, but this problem is strange in that it 
doesn't occur if (for instance) the nested <div><span> blocks are removed from 
the top of the page. And I can't seem to narrow the problem down to any one 
widget.

The content of the ajax actions does not appear to be significant.

A workaround is to avoid using dojo.event.topic.subscribe. 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml";>
<head>
    <title>MyNetFone Call Listing</title>

    <script type="text/javascript">
        djConfig = {
            baseRelativePath: "/portal/struts/dojo",
            isDebug: false,
            bindEncoding: "UTF-8",
            debugAtAllCosts: false
        };
    </script>

    <script type="text/javascript" src="/portal/struts/dojo/dojo.js"></script>
    <script type="text/javascript" 
src="/portal/struts/simple/dojoRequire.js"></script>
    <script type="text/javascript" 
src="/portal/struts/ajax/dojoRequire.js"></script>
    <script type="text/javascript" 
src="/portal/struts/CommonFunctions.js"></script>
</head>

<body>

<div>
    <div>
        <div>
            <div/>
            <div/>
            <div>            
                <div><span ></span><span></span></div>
                <div><span ></span><span></span></div>
                <div><span ></span><span></span></div>
                <div><span ></span><span></span></div>
                <div><span ></span><span></span></div>
                <div><span ></span><span></span></div>
                <div><span ></span><span></span></div>                
            </div>
        </div>
    </div>


    <div>
        <div>
            <div>
                <div>
                    <span></span>
                    <span></span>
                    <span></span>
                    <span></span>
                </div>
                <div>
                    <span></span>
                    <span></span>
                    <span></span>
                    <span></span>
                </div>
                <div>
                    <span></span>
                    <span></span>
                    <span></span>
                    <span></span>
                </div>
                <div>
                    <div>
                    </div>
                </div>
                <div>
                    <span></span>
                    <span></span>
                    <span></span>
                    <span></span>
                </div>
                <div>
                    <span></span>
                    <span></span>
                    <span></span>
                    <span></span>
                </div>
            </div>
        </div>

        
        <div>
            <div>
                <table>
                    <tr>
                        <td>
                            <div id="DialledCalls" >
                                <span></span>
                                <span></span>
                                <a dojoType="struts:BindAnchor"
                                   href="DialledCalls.action"
                                   targets="tabs_content"
                                   showError="true"
                                   
onclick="selectedTab('DialledCalls')">Dialled Numbers</a>
                            </div>
                        </td>
                    </tr>
                </table>
            </div>
            <div id="tabs_content">
                <form name="dateRangeForm" id="dateRangeForm">
                    <input type="hidden" name="callStatus" value="1"/>
                    <input type="hidden" name="callDirection" value="1"/>
                    <input type="hidden" name="cSVFileName" value="Dialled 
Number"/>
                    <input type="hidden" name="days" id="days"/>
                    <input type="hidden" name="billingPeriod" 
id="billingPeriod"/>
                    <table>
                        <tr>
                            <td>
                                <a dojoType="struts:BindAnchor"
                                   
href="CallListTable.action?days=1&callStatus=1&callDirection=1&cSVFileName=Dialled
 Number"
                                   targets="callTable"
                                   notifyTopics="/refresh0"
                                   showError="true">Today</a>
                            </td>
                            <td>
                                <a dojoType="struts:BindAnchor"
                                   
href="CallListTable.action?billingPeriod=1&callStatus=1&callDirection=1&cSVFileName=Dialled
 Number"
                                   targets="callTable"
                                   notifyTopics="/refresh1"
                                   showError="true">This Billing Period</a>
                            </td>
                            <td>
                                <a dojoType="struts:BindAnchor"
                                   
href="CallListTable.action?billingPeriod=2&callStatus=1&callDirection=1&cSVFileName=Dialled
 Number"
                                   targets="callTable"
                                   notifyTopics="/refresh2"
                                   showError="true">Previous Billing Period</a>
                            </td>
                            <td>
                                <div dojoType="struts:BindDiv"
                                     executeScripts="true"
                                     formId="dateRangeForm"
                                     href="CallListRefreshDatePicker.action"
                                     
listenTopics="/refresh0,/refresh1,/refresh2"
                                     id="date">
                                </div>
                            </td>
                        </tr>
                    </table>
                </form>

                <div dojoType="struts:BindDiv"
                     id="callTable"
                     
href="CallListTable.action?days=1&callStatus=1&callDirection=1&cSVFileName=Dialled
 Number"
                     showError="true">
                </div>

                <script type="text/javascript">
                    function setAll()
                    {
                        //document.getElementById("days").value = null;
                        //document.getElementById("billingPeriod").value = null;
                    }
                    function setDays()
                    {
                        //document.getElementById("days").value = 1;
                        //document.getElementById("billingPeriod").value = null;
                    }

                    function setBillingPeriod1()
                    {
                        //document.getElementById("days").value = null;
                        //document.getElementById("billingPeriod").value = 1;
                    }
                    function setBillingPeriod2()
                    {
                        //document.getElementById("days").value = null;
                        //document.getElementById("billingPeriod").value = 2;
                    }

                    dojo.event.topic.subscribe("/submit", setAll);
                    dojo.event.topic.subscribe("/refresh0", setDays);
                    dojo.event.topic.subscribe("/refresh1", setBillingPeriod1);
                    dojo.event.topic.subscribe("/refresh2", setBillingPeriod2);
                </script>
            </div>
        </div>
    </div>

</div>
</body>
</html>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to