Changeset 7034

Show
Ignore:
Timestamp:
01/16/07 17:59:38 (23 months ago)
Author:
jburke
Message:

Fixes #2314 and Fixes #2334. Issues with XhrIframeProxy? in MSIE 7 and Safari.

Location:
trunk/src/io
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/io/XhrIframeProxy.js

    r6973 r7034  
    3636                        //Also, this server URL needs to different from the one eventually loaded by xip_client.html 
    3737                        //Otherwise, IE7 will not load it. Funky. 
    38                         var fullClientUrl = window.location.href.substring(0, window.location.href.lastIndexOf("/") + 1); 
     38                        var fullClientUrl = window.location.href; 
     39                        if((this.xipClientUrl + "").charAt(0) == "/"){ 
     40                                var endIndex = fullClientUrl.indexOf("://"); 
     41                                endIndex = fullClientUrl.indexOf("/", endIndex + 1); 
     42                                fullClientUrl = fullClientUrl.substring(0, endIndex); 
     43                        }else{ 
     44                                fullClientUrl = fullClientUrl.substring(0, fullClientUrl.lastIndexOf("/") + 1); 
     45                        } 
    3946                        fullClientUrl += this.xipClientUrl; 
    4047                 
  • trunk/src/io/xip_client.html

    r6812 r7034  
    144144 
    145145                while((reqData.length - reqIndex) + urlLength > xipUrlLimit){ 
    146                         xipRequestParts.push(reqData.substring(reqIndex, reqIndex + partLength)); 
    147                         reqIndex += partLength; 
     146                        var part = reqData.substring(reqIndex, reqIndex + partLength); 
     147                        //Safari will do some extra hex escaping unless we keep the original hex 
     148                        //escaping complete. 
     149                        var percentIndex = part.lastIndexOf("%"); 
     150                        if(percentIndex == part.length - 1 || percentIndex == part.length - 2){ 
     151                                part = part.substring(0, percentIndex); 
     152                        } 
     153                        xipRequestParts.push(part); 
     154                        reqIndex += part.length; 
    148155                } 
    149156                xipRequestParts.push(reqData.substring(reqIndex, reqData.length)); 
  • trunk/src/io/xip_server.html

    r6812 r7034  
    166166 
    167167                while((resData.length - resIndex) + urlLength > xipUrlLimit){ 
    168                         xipResponseParts.push(resData.substring(resIndex, resIndex + partLength)); 
    169                         resIndex += partLength; 
     168                        var part = resData.substring(resIndex, resIndex + partLength); 
     169                        //Safari will do some extra hex escaping unless we keep the original hex 
     170                        //escaping complete. 
     171                        var percentIndex = part.lastIndexOf("%"); 
     172                        if(percentIndex == part.length - 1 || percentIndex == part.length - 2){ 
     173                                part = part.substring(0, percentIndex); 
     174                        } 
     175                        xipResponseParts.push(part); 
     176                        resIndex += part.length; 
    170177                } 
    171178                xipResponseParts.push(resData.substring(resIndex, resData.length));