| 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-2016 Eyeo GmbH |    3  * Copyright (C) 2006-2016 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 19 matching lines...) Expand all  Loading... | 
|   30 // because data must persist after navigation/reload. |   30 // because data must persist after navigation/reload. | 
|   31 let panels = Object.create(null); |   31 let panels = Object.create(null); | 
|   32  |   32  | 
|   33 function hasPanels() |   33 function hasPanels() | 
|   34 { |   34 { | 
|   35   return Object.keys(panels).length > 0; |   35   return Object.keys(panels).length > 0; | 
|   36 } |   36 } | 
|   37  |   37  | 
|   38 function getActivePanel(page) |   38 function getActivePanel(page) | 
|   39 { |   39 { | 
|   40   let panel = panels[page._id]; |   40   let panel = panels[page.id]; | 
|   41   if(panel && !panel.reload && !panel.reloading) |   41   if(panel && !panel.reload && !panel.reloading) | 
|   42     return panel; |   42     return panel; | 
|   43   return null; |   43   return null; | 
|   44 } |   44 } | 
|   45  |   45  | 
|   46 function getFilterInfo(filter) |   46 function getFilterInfo(filter) | 
|   47 { |   47 { | 
|   48   if (!filter) |   48   if (!filter) | 
|   49     return null; |   49     return null; | 
|   50  |   50  | 
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  203 }; |  203 }; | 
|  204  |  204  | 
|  205 /** |  205 /** | 
|  206  * Checks whether a page is inspected by the devtools panel. |  206  * Checks whether a page is inspected by the devtools panel. | 
|  207  * |  207  * | 
|  208  * @param {Page} page |  208  * @param {Page} page | 
|  209  * @return {boolean} |  209  * @return {boolean} | 
|  210  */ |  210  */ | 
|  211 exports.hasPanel = function(page) |  211 exports.hasPanel = function(page) | 
|  212 { |  212 { | 
|  213   return page._id in panels; |  213   return page.id in panels; | 
|  214 }; |  214 }; | 
|  215  |  215  | 
|  216 function onBeforeRequest(details) |  216 function onBeforeRequest(details) | 
|  217 { |  217 { | 
|  218   let panel = panels[details.tabId]; |  218   let panel = panels[details.tabId]; | 
|  219  |  219  | 
|  220   // Clear the devtools panel and reload the inspected tab without caching |  220   // Clear the devtools panel and reload the inspected tab without caching | 
|  221   // when a new request is issued. However, make sure that we don't end up |  221   // when a new request is issued. However, make sure that we don't end up | 
|  222   // in an infinite recursion if we already triggered a reload. |  222   // in an infinite recursion if we already triggered a reload. | 
|  223   if (panel.reloading) |  223   if (panel.reloading) | 
|  224   { |  224   { | 
|  225     panel.reloading = false; |  225     panel.reloading = false; | 
|  226   } |  226   } | 
|  227   else |  227   else | 
|  228   { |  228   { | 
|  229     panel.records = []; |  229     panel.records = []; | 
|  230     panel.port.postMessage({type: "reset"}); |  230     panel.port.postMessage({type: "reset"}); | 
|  231  |  231  | 
|  232     // We can't repeat the request if it isn't a GET request. Chrome would |  232     // We can't repeat the request if it isn't a GET request. Chrome would | 
|  233     // prompt the user to confirm reloading the page, and POST requests are |  233     // prompt the user to confirm reloading the page, and POST requests are | 
|  234     // known to cause issues on many websites if repeated. |  234     // known to cause issues on many websites if repeated. | 
|  235     if (details.method == "GET") |  235     if (details.method == "GET") | 
|  236       panel.reload = true; |  236       panel.reload = true; | 
|  237   } |  237   } | 
|  238 } |  238 } | 
|  239  |  239  | 
|  240 function onLoading(page) |  240 function onLoading(page) | 
|  241 { |  241 { | 
|  242   let tabId = page._id; |  242   let tabId = page.id; | 
|  243   let panel = panels[tabId]; |  243   let panel = panels[tabId]; | 
|  244  |  244  | 
|  245   // Reloading the tab is the only way that allows bypassing all caches, in |  245   // Reloading the tab is the only way that allows bypassing all caches, in | 
|  246   // order to see all requests in the devtools panel. Reloading must not be |  246   // order to see all requests in the devtools panel. Reloading must not be | 
|  247   // performed before the tab changes to "loading", otherwise it will load the |  247   // performed before the tab changes to "loading", otherwise it will load the | 
|  248   // previous URL. |  248   // previous URL. | 
|  249   if (panel && panel.reload) |  249   if (panel && panel.reload) | 
|  250   { |  250   { | 
|  251     chrome.tabs.reload(tabId, {bypassCache: true}); |  251     chrome.tabs.reload(tabId, {bypassCache: true}); | 
|  252  |  252  | 
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  373  |  373  | 
|  374     if (!hasPanels()) |  374     if (!hasPanels()) | 
|  375     { |  375     { | 
|  376       FilterNotifier.removeListener(onFilterChange); |  376       FilterNotifier.removeListener(onFilterChange); | 
|  377       ext.pages.onLoading.removeListener(onLoading); |  377       ext.pages.onLoading.removeListener(onLoading); | 
|  378     } |  378     } | 
|  379   }); |  379   }); | 
|  380  |  380  | 
|  381   panels[inspectedTabId] = {port: port, records: []}; |  381   panels[inspectedTabId] = {port: port, records: []}; | 
|  382 }); |  382 }); | 
| OLD | NEW |