| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * This file is part of Adblock Plus <http://adblockplus.org/>, |    2  * This file is part of Adblock Plus <http://adblockplus.org/>, | 
|    3  * Copyright (C) 2006-2014 Eyeo GmbH |    3  * Copyright (C) 2006-2014 Eyeo GmbH | 
|    4  * |    4  * | 
|    5  * Adblock Plus is free software: you can redistribute it and/or modify |    5  * Adblock Plus is free software: you can redistribute it and/or modify | 
|    6  * it under the terms of the GNU General Public License version 3 as |    6  * it under the terms of the GNU General Public License version 3 as | 
|    7  * published by the Free Software Foundation. |    7  * published by the Free Software Foundation. | 
|    8  * |    8  * | 
|    9  * Adblock Plus is distributed in the hope that it will be useful, |    9  * Adblock Plus is distributed in the hope that it will be useful, | 
|   10  * but WITHOUT ANY WARRANTY; without even the implied warranty of |   10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   51       document.removeEventListener("visibilitychange", onVisibilitychange); |   51       document.removeEventListener("visibilitychange", onVisibilitychange); | 
|   52     }; |   52     }; | 
|   53     document.addEventListener("visibilitychange", onVisibilitychange); |   53     document.addEventListener("visibilitychange", onVisibilitychange); | 
|   54   } |   54   } | 
|   55  |   55  | 
|   56  |   56  | 
|   57   /* Web requests */ |   57   /* Web requests */ | 
|   58  |   58  | 
|   59   document.addEventListener("beforeload", function(event) |   59   document.addEventListener("beforeload", function(event) | 
|   60   { |   60   { | 
 |   61     var url = relativeToAbsoluteUrl(event.url); | 
 |   62  | 
|   61     // we don't block non-HTTP requests anyway, so we can bail out |   63     // we don't block non-HTTP requests anyway, so we can bail out | 
|   62     // without asking the background page. This is even necessary |   64     // without asking the background page. This is even necessary | 
|   63     // because passing large data (like a photo encoded as data: URL) |   65     // because passing large data (like a photo encoded as data: URL) | 
|   64     // to the background page, freezes Safari. |   66     // to the background page, freezes Safari. | 
|   65     if (!/^https?:/.test(event.url)) |   67     if (!/^https?:/.test(url)) | 
|   66       return; |   68       return; | 
|   67  |   69  | 
|   68     var type; |   70     var type; | 
|   69     switch(event.target.localName) |   71     switch(event.target.localName) | 
|   70     { |   72     { | 
|   71       case "frame": |   73       case "frame": | 
|   72       case "iframe": |   74       case "iframe": | 
|   73         type = "sub_frame"; |   75         type = "sub_frame"; | 
|   74         break; |   76         break; | 
|   75       case "img": |   77       case "img": | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
|   88           type = "stylesheet"; |   90           type = "stylesheet"; | 
|   89           break; |   91           break; | 
|   90         } |   92         } | 
|   91       default: |   93       default: | 
|   92         type = "other"; |   94         type = "other"; | 
|   93     } |   95     } | 
|   94  |   96  | 
|   95     if (!safari.self.tab.canLoad( |   97     if (!safari.self.tab.canLoad( | 
|   96       event, { |   98       event, { | 
|   97         category: "webRequest", |   99         category: "webRequest", | 
|   98         url: event.url, |  100         url: url, | 
|   99         type: type, |  101         type: type, | 
|  100         pageId: documentInfo.pageId, |  102         pageId: documentInfo.pageId, | 
|  101         frameId: documentInfo.frameId |  103         frameId: documentInfo.frameId | 
|  102       } |  104       } | 
|  103     )) |  105     )) | 
|  104     { |  106     { | 
|  105       event.preventDefault(); |  107       event.preventDefault(); | 
|  106  |  108  | 
|  107       // Safari doesn't dispatch an "error" event when preventing an element |  109       // Safari doesn't dispatch an "error" event when preventing an element | 
|  108       // from loading by cancelling the "beforeload" event. So we have to |  110       // from loading by cancelling the "beforeload" event. So we have to | 
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  408             messageProxy.handleResponse(event.message); |  410             messageProxy.handleResponse(event.message); | 
|  409             break; |  411             break; | 
|  410           case "proxyCallback": |  412           case "proxyCallback": | 
|  411             backgroundPageProxy.handleCallback(event.message); |  413             backgroundPageProxy.handleCallback(event.message); | 
|  412             break; |  414             break; | 
|  413         } |  415         } | 
|  414       } |  416       } | 
|  415     } |  417     } | 
|  416   }); |  418   }); | 
|  417 })(); |  419 })(); | 
| OLD | NEW |