| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-2015 Eyeo GmbH | 3  * Copyright (C) 2006-2015 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 313 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 324   ext.getFrame = function(tabId, frameId) | 324   ext.getFrame = function(tabId, frameId) | 
| 325   { | 325   { | 
| 326     return (framesOfTabs[tabId] || {})[frameId]; | 326     return (framesOfTabs[tabId] || {})[frameId]; | 
| 327   }; | 327   }; | 
| 328 | 328 | 
| 329   ext.webRequest = { | 329   ext.webRequest = { | 
| 330     onBeforeRequest: new ext._EventTarget(), | 330     onBeforeRequest: new ext._EventTarget(), | 
| 331     handlerBehaviorChanged: chrome.webRequest.handlerBehaviorChanged | 331     handlerBehaviorChanged: chrome.webRequest.handlerBehaviorChanged | 
| 332   }; | 332   }; | 
| 333 | 333 | 
|  | 334   // Since Chrome 38 requests of type 'object' (e.g. requests | 
|  | 335   // initiated by Flash) are mistakenly reported with the type 'other'. | 
|  | 336   // https://code.google.com/p/chromium/issues/detail?id=410382 | 
|  | 337   if (parseInt(navigator.userAgent.match(/\bChrome\/(\d+)/)[1], 10) >= 38) | 
|  | 338   { | 
|  | 339     ext.webRequest.indistinguishableTypes = [ | 
|  | 340       ["OTHER", "OBJECT", "OBJECT_SUBREQUEST"] | 
|  | 341     ]; | 
|  | 342   } | 
|  | 343   else | 
|  | 344   { | 
|  | 345     ext.webRequest.indistinguishableTypes = [ | 
|  | 346       ["OBJECT", "OBJECT_SUBREQUEST"], | 
|  | 347       ["OTHER", "MEDIA", "FONT"] | 
|  | 348     ]; | 
|  | 349   } | 
|  | 350 | 
| 334   chrome.tabs.query({}, function(tabs) | 351   chrome.tabs.query({}, function(tabs) | 
| 335   { | 352   { | 
| 336     tabs.forEach(function(tab) | 353     tabs.forEach(function(tab) | 
| 337     { | 354     { | 
| 338       chrome.webNavigation.getAllFrames({tabId: tab.id}, function(details) | 355       chrome.webNavigation.getAllFrames({tabId: tab.id}, function(details) | 
| 339       { | 356       { | 
| 340         if (details && details.length > 0) | 357         if (details && details.length > 0) | 
| 341         { | 358         { | 
| 342           var frames = framesOfTabs[tab.id] = Object.create(null); | 359           var frames = framesOfTabs[tab.id] = Object.create(null); | 
| 343 | 360 | 
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 397         else | 414         else | 
| 398         { | 415         { | 
| 399           frameId = details.frameId; | 416           frameId = details.frameId; | 
| 400           requestType = details.type.toUpperCase(); | 417           requestType = details.type.toUpperCase(); | 
| 401         } | 418         } | 
| 402 | 419 | 
| 403         frame = frames[frameId] || frames[Object.keys(frames)[0]]; | 420         frame = frames[frameId] || frames[Object.keys(frames)[0]]; | 
| 404 | 421 | 
| 405         if (frame) | 422         if (frame) | 
| 406         { | 423         { | 
| 407           // Since Chrome 38 requests of type 'object' (e.g. requests |  | 
| 408           // initiated by Flash) are mistakenly reported with the type 'other'. |  | 
| 409           // https://code.google.com/p/chromium/issues/detail?id=410382 |  | 
| 410           if (requestType == "OTHER" && parseInt(navigator.userAgent.match(/\bCh
     rome\/(\d+)/)[1], 10) >= 38) |  | 
| 411             requestType = "OBJECT"; |  | 
| 412 |  | 
| 413           var results = ext.webRequest.onBeforeRequest._dispatch( | 424           var results = ext.webRequest.onBeforeRequest._dispatch( | 
| 414             url, | 425             url, | 
| 415             requestType, | 426             requestType, | 
| 416             new Page({id: details.tabId}), | 427             new Page({id: details.tabId}), | 
| 417             frame | 428             frame | 
| 418           ); | 429           ); | 
| 419 | 430 | 
| 420           if (results.indexOf(false) != -1) | 431           if (results.indexOf(false) != -1) | 
| 421             return {cancel: true}; | 432             return {cancel: true}; | 
| 422         } | 433         } | 
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 520             callback(new Page(tab)); | 531             callback(new Page(tab)); | 
| 521         } | 532         } | 
| 522         else | 533         else | 
| 523         { | 534         { | 
| 524           ext.pages.open(optionsUrl, callback); | 535           ext.pages.open(optionsUrl, callback); | 
| 525         } | 536         } | 
| 526       }); | 537       }); | 
| 527     }); | 538     }); | 
| 528   }; | 539   }; | 
| 529 })(); | 540 })(); | 
| OLD | NEW | 
|---|