Adium

Changeset 25544

Show
Ignore:
Timestamp:
11/07/2008 11:02:13 AM (2 months ago)
Author:
evands
Message:

If a style doesn't include an 'insert' div but does let the default template.html be used by not overriding it, we now fall back on not treating the addition as a consecutive addition. This fixes a small number of cases of old styles which don't have an 'insert' div in their Status.html, but does not fix most of them since most override the template.html, as well. Refs #10921

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Plugins/WebKit Message View/Template.html

    r23571 r25544  
    4242                        //Locate the insertion point 
    4343                        var insert = document.getElementById("insert"); 
    44                  
    45                         //make new node 
    46                         var range = document.createRange(); 
    47                         range.selectNode(insert.parentNode); 
    48                         var newNode = range.createContextualFragment(html); 
    49  
    50                         //swap 
    51                         insert.parentNode.replaceChild(newNode,insert); 
    52                          
    53                         alignChat(shouldScroll); 
     44                        if(insert){ 
     45                                //make new node 
     46                                var range = document.createRange(); 
     47                                range.selectNode(insert.parentNode); 
     48                                var newNode = range.createContextualFragment(html); 
     49                                 
     50                                //swap 
     51                                insert.parentNode.replaceChild(newNode,insert); 
     52                                 
     53                                alignChat(shouldScroll); 
     54                        } else { 
     55                                appendMessage(html); 
     56                        } 
    5457                } 
    5558                function appendNextMessageNoScroll(html){ 
    5659                        //Locate the insertion point 
    5760                        var insert = document.getElementById("insert"); 
    58                  
    59                         //make new node 
    60                         var range = document.createRange(); 
    61                         range.selectNode(insert.parentNode); 
    62                         var newNode = range.createContextualFragment(html); 
    63  
    64                         //swap 
    65                         insert.parentNode.replaceChild(newNode,insert); 
     61                        if(insert){ 
     62                                //make new node 
     63                                var range = document.createRange(); 
     64                                range.selectNode(insert.parentNode); 
     65                                var newNode = range.createContextualFragment(html); 
     66                                 
     67                                //swap 
     68                                insert.parentNode.replaceChild(newNode,insert); 
     69                        } else { 
     70                                appendMessageNoScroll(html); 
     71                        } 
    6672                } 
    6773                function replaceLastMessage(html){ 
     
    7177            //This requires that there have been an insertion point... is there a better way to retrieve the last element? -evands 
    7278                        var insert = document.getElementById("insert"); 
    73             var parentNode = insert.parentNode; 
    74                         var lastMessage = insert.previousSibling; 
    75                         parentNode.removeChild(insert); 
    76                         parentNode.removeChild(lastMessage); 
     79                        if(insert){ 
     80                                var parentNode = insert.parentNode; 
     81                                var lastMessage = insert.previousSibling; 
     82                                parentNode.removeChild(insert); 
     83                                parentNode.removeChild(lastMessage); 
     84                        } 
    7785 
    7886            //Now append the message itself