Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: lib/firefoxDataCleanup.js

Issue 29907589: Issue 7054 - Update the adblockpluscore dependency to 5cb695da5a40, adblockplusui to f86abf2efdfd (Closed)
Left Patch Set: Created Oct. 12, 2018, 4:56 a.m.
Right Patch Set: Address PS12 Comment Created Jan. 8, 2019, 1:02 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Right: Side by side diff | Download
« no previous file with change/comment | « lib/filterComposer.js ('k') | lib/hitLogger.js » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
(no file at all)
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-present eyeo GmbH 3 * Copyright (C) 2006-present 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
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details. 12 * GNU General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU General Public License 14 * You should have received a copy of the GNU General Public License
15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. 15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
16 */ 16 */
17 17
18 "use strict"; 18 "use strict";
19 19
20 const {Filter, ActiveFilter} = require("../adblockpluscore/lib/filterClasses"); 20 const {Filter, ActiveFilter} = require("../adblockpluscore/lib/filterClasses");
21 const {filterNotifier} = require("../adblockpluscore/lib/filterNotifier"); 21 const {filterNotifier} = require("../adblockpluscore/lib/filterNotifier");
22 const {FilterStorage} = require("../adblockpluscore/lib/filterStorage"); 22 const {filterStorage} = require("../adblockpluscore/lib/filterStorage");
23 const {Prefs} = require("./prefs"); 23 const {Prefs} = require("./prefs");
24 const {SpecialSubscription} = 24 const {SpecialSubscription} =
25 require("../adblockpluscore/lib/subscriptionClasses"); 25 require("../adblockpluscore/lib/subscriptionClasses");
26 26
27 Promise.all([filterNotifier.once("load"), Prefs.untilLoaded]).then(() => 27 Promise.all([filterNotifier.once("load"), Prefs.untilLoaded]).then(() =>
28 { 28 {
29 if (Prefs.data_cleanup_done) 29 if (Prefs.data_cleanup_done)
30 return; 30 return;
31 31
32 if (FilterStorage.firstRun) 32 if (filterStorage.firstRun)
33 { 33 {
34 Prefs.data_cleanup_done = true; 34 Prefs.data_cleanup_done = true;
35 return; 35 return;
36 } 36 }
37 37
38 let haveHitCounts = []; 38 let haveHitCounts = [];
39 39
40 for (let key in Filter.knownFilters) 40 for (let key in Filter.knownFilters)
41 { 41 {
42 let filter = Filter.knownFilters[key]; 42 let filter = Filter.knownFilters[key];
43 if (!(filter instanceof ActiveFilter)) 43 if (!(filter instanceof ActiveFilter))
44 continue; 44 continue;
45 45
46 if (filter.disabled) 46 if (filter.disabled)
47 { 47 {
48 // Enable or replace disabled filters 48 // Enable or replace disabled filters
49 filter.disabled = false; 49 filter.disabled = false;
50 50
51 for (let subscription of filter.subscriptions()) 51 for (let subscription of filter.subscriptions())
52 { 52 {
53 if (subscription instanceof SpecialSubscription) 53 if (subscription instanceof SpecialSubscription)
54 { 54 {
55 while (true) 55 while (true)
56 { 56 {
57 let position = subscription.filters.indexOf(filter); 57 let position = subscription.searchFilter(filter);
58 if (position < 0) 58 if (position < 0)
59 break; 59 break;
60 60
61 let newFilter = Filter.fromText("! " + filter.text); 61 let newFilter = Filter.fromText("! " + filter.text);
62 FilterStorage.removeFilter(filter, subscription, position); 62 filterStorage.removeFilter(filter, subscription, position);
63 FilterStorage.addFilter(newFilter, subscription, position); 63 filterStorage.addFilter(newFilter, subscription, position);
64 } 64 }
65 } 65 }
66 } 66 }
67 } 67 }
68 68
69 if (filter.hitCount || filter.lastHit) 69 if (filter.hitCount || filter.lastHit)
70 haveHitCounts.push(filter); 70 haveHitCounts.push(filter);
71 } 71 }
72 72
73 // Reset hit statistics on any filters having them 73 // Reset hit statistics on any filters having them
74 FilterStorage.resetHitCounts(haveHitCounts); 74 filterStorage.resetHitCounts(haveHitCounts);
75 75
76 // Remove any existing automatic backups 76 // Remove any existing automatic backups
77 let backups = []; 77 let backups = [];
78 for (let i = 1; i < 100; i++) 78 for (let i = 1; i < 100; i++)
79 backups.push(`file:patterns-backup${i}.ini`); 79 backups.push(`file:patterns-backup${i}.ini`);
80 browser.storage.local.remove(backups, () => 80 browser.storage.local.remove(backups, () =>
81 { 81 {
82 Prefs.data_cleanup_done = true; 82 Prefs.data_cleanup_done = true;
83 }); 83 });
84 }); 84 });
LEFTRIGHT

Powered by Google App Engine
This is Rietveld