Skip to content

Commit

Permalink
#68 optimized filters
Browse files Browse the repository at this point in the history
  • Loading branch information
Mizzick committed Nov 27, 2015
1 parent 2bc46c3 commit 5e8b9bb
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 8 deletions.
8 changes: 8 additions & 0 deletions Extension/browser/firefox/lib/ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,14 @@ var UI = exports.UI = {
});
},

reloadAntiBannerFilters: function () {
this.antiBannerService.reloadAntiBannerFilters(function (updatedFilters) {
EventNotifier.notifyListeners(EventNotifierTypes.UPDATE_FILTERS_SHOW_POPUP, true, updatedFilters);
}, function () {
EventNotifier.notifyListeners(EventNotifierTypes.UPDATE_FILTERS_SHOW_POPUP, false);
});
},

getLocalizedMessage: function (messageId, args) {
return i18n.getMessage(messageId, args);
},
Expand Down
8 changes: 8 additions & 0 deletions Extension/browser/webkit/ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,14 @@ var UI = {
});
},

reloadAntiBannerFilters: function () {
antiBannerService.reloadAntiBannerFilters(function (updatedFilters) {
EventNotifier.notifyListeners(EventNotifierTypes.UPDATE_FILTERS_SHOW_POPUP, true, updatedFilters);
}, function () {
EventNotifier.notifyListeners(EventNotifierTypes.UPDATE_FILTERS_SHOW_POPUP, false);
});
},

checkAntiBannerFiltersUpdate: function () {
antiBannerService.checkAntiBannerFiltersUpdate(true, function (updatedFilters) {
EventNotifier.notifyListeners(EventNotifierTypes.UPDATE_FILTERS_SHOW_POPUP, true, updatedFilters);
Expand Down
4 changes: 4 additions & 0 deletions Extension/lib/content-message-handler.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,10 @@ ContentMessageHandler.prototype = {
this.UI.checkAntiBannerFiltersUpdate();
callback({});
break;
case 'reloadAntiBannerFilters':
this.UI.reloadAntiBannerFilters();
callback({});
break;
case 'getAntiBannerFiltersForOptionsPage':
var renderedFilters = this.antiBannerService.getAntiBannerFiltersForOptionsPage();
callback({filters: renderedFilters});
Expand Down
31 changes: 29 additions & 2 deletions Extension/lib/filter/antibanner.js
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ AntiBannerService.prototype = {
}

// Schedule filters update job
context._scheduleFiltersUpdate();
context._scheduleFiltersUpdate(runInfo.isFirstRun);

}.bind(this);

Expand Down Expand Up @@ -722,6 +722,17 @@ AntiBannerService.prototype = {
this.serviceClient.sendUrlReport(url, messageType, comment);
},

/**
* Reloads filters from backend
*
* @param successCallback
* @param errorCallback
*/
reloadAntiBannerFilters: function (successCallback, errorCallback) {
this._resetFiltersVersion();
this.checkAntiBannerFiltersUpdate(true, successCallback, errorCallback);
},

/**
* Checks filters updates.
*
Expand Down Expand Up @@ -830,6 +841,17 @@ AntiBannerService.prototype = {
}
},

/**
* Resets all filters versions
*/
_resetFiltersVersion: function () {
var RESET_VERSION = "1.0.0.0";

for (var i = 0; i < this.adguardFilters.length; i++) {
this.adguardFilters[i].version = RESET_VERSION;
}
},

/**
* Returns all filters with their metadata
* @private
Expand Down Expand Up @@ -1147,10 +1169,15 @@ AntiBannerService.prototype = {

/**
* Schedules filters update job
* @isFirstRun
* @private
*/
_scheduleFiltersUpdate: function () {
_scheduleFiltersUpdate: function (isFirstRun) {
var updateFunc = this.checkAntiBannerFiltersUpdate.bind(this);
if (isFirstRun && Utils.isContentBlockerEnabled()) {
updateFunc = this.reloadAntiBannerFilters.bind(this);
}

// First run delay
setTimeout(updateFunc, this.UPDATE_FILTERS_DELAY);

Expand Down
9 changes: 4 additions & 5 deletions Extension/lib/pages/options.js
Original file line number Diff line number Diff line change
Expand Up @@ -368,14 +368,13 @@ PageController.prototype = {

changeUseOptimizedFilters: function (e) {
e.preventDefault();

//TODO: Set filter versions to 1.0
//TODO: If ContentBlocker set filters to 1.0 on first start

var self = this;
contentPage.sendMessage({
type: 'changeUserSetting',
key: userSettings.names.USE_OPTIMIZED_FILTERS,
value: this.checked
value: self.checked
}, function() {
contentPage.sendMessage({type: 'reloadAntiBannerFilters'});
});
},

Expand Down
2 changes: 1 addition & 1 deletion Extension/lib/utils/service-client.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ var ServiceClient = exports.ServiceClient = function () {

// Base url of our backend server
this.backendUrl = "https://chrome.adtidy.org";
this.mobileBackendUrl = "https://mobile.adtidy.org";
this.mobileBackendUrl = "http://mobile.adtidy.org/api/1.0";
this.apiKey = "4DDBE80A3DA94D819A00523252FB6380";

//URL for downloading AG filters
Expand Down

0 comments on commit 5e8b9bb

Please sign in to comment.