| 
        
       | 
      
        
  
   Prerendered pages on Safari 7 are exposed with the same SafariBrowserTab object as the page currently shown in the tab. This leads to a bunch of issues on Safari 7 at the moment, most notable messing up the ad counter.
This is caused by a leaky abstraction. We just map SafariBrowserTab objects to tabs in the abstraction layer. While we do something similar on Chrome, prerendered pages are already exposed as separate tabs by Chrome's API. So in order to fix this, we also must expose prerendered pages on Safari separately.
Since our top-level code isn't actually interested in tabs and windows, but in the pages running inside them, I refactored the abstraction layer and moved from a mindset based on windows and tabs to a mindset based on pages.
   
  
  
    
      Total comments: 21
     
  
  
  
   
  
  
  
  
  
   
  
  
  
    
      Total comments: 11
     
  
  
  
   
  
  
  
  
    
  
  
    
       | 
      Unified diffs | 
      Side-by-side diffs | 
      Delta from patch set | 
      Stats (+1038 lines, -1336 lines) | 
      Patch | 
     
    
      
          | 
        M | 
        
          
            background.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
          2
        
         | 
        
          10 chunks | 
          +44 lines, -57 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            chrome/ext/background.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
          2
        
          3
        
         | 
        
          9 chunks | 
          +124 lines, -356 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            chrome/ext/common.js
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +34 lines, -85 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            chrome/ext/content.js
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +1 line, -1 line | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            chrome/ext/popup.js
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +8 lines, -12 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        A | 
        
          
            ext/background.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
         | 
        
          1 chunk | 
          +65 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        A | 
        
          
            ext/common.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
         | 
        
          1 chunk | 
          +51 lines, -0 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            iconAnimation.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
          2
        
          3
        
         | 
        
          4 chunks | 
          +17 lines, -44 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            lib/stats.js
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          2 chunks | 
          +23 lines, -42 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            lib/whitelisting.js
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          3 chunks | 
          +8 lines, -8 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            metadata.chrome
          
         | 
        
          
            View
          
         | 
        
        
          1
        
         | 
        
          1 chunk | 
          +1 line, -1 line | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            metadata.common
          
         | 
        
          
            View
          
         | 
        
        
          1
        
         | 
        
          2 chunks | 
          +2 lines, -2 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            metadata.safari
          
         | 
        
          
            View
          
         | 
        
        
          1
        
         | 
        
          2 chunks | 
          +2 lines, -2 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            notification.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
         | 
        
          1 chunk | 
          +1 line, -1 line | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            popup.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
         | 
        
          6 chunks | 
          +27 lines, -32 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            popupBlocker.js
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          1 chunk | 
          +3 lines, -3 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            safari/ext/background.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
          2
        
          3
        
         | 
        
          11 chunks | 
          +367 lines, -412 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            safari/ext/common.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
          2
        
          3
        
         | 
        
          3 chunks | 
          +101 lines, -134 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            safari/ext/content.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
          2
        
         | 
        
          4 chunks | 
          +143 lines, -122 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            safari/ext/popup.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
         | 
        
          1 chunk | 
          +2 lines, -4 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            stats.js
          
         | 
        
          
            View
          
         | 
        
        
         | 
        
          4 chunks | 
          +8 lines, -12 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
      
          | 
        M | 
        
          
            webrequest.js
          
         | 
        
          
            View
          
         | 
        
        
          1
        
         | 
        
          4 chunks | 
          +6 lines, -6 lines | 
        
        
          
            0 comments
            
            
          
         | 
        
          
            Download
          
         | 
       
    
   
 
  
   
  
    
  
  
  Total messages: 6 
  
  
  
     
  
       |