Adding pref to set ruleset that feeds dashboard.
This commit is contained in:
Родитель
dd3c6316a0
Коммит
6b915ee155
15
lib/Utils.js
15
lib/Utils.js
|
@ -21,7 +21,8 @@ const bmsvc = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].getService(Ci.n
|
||||||
const ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
|
const ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
|
||||||
|
|
||||||
// timeout for fetching favicon
|
// timeout for fetching favicon
|
||||||
let DEFAULT_TIMEOUT = 3000;
|
const CURRENT_RULESET = "extensions.firefox.interest.dashboard.ruleset";
|
||||||
|
const DEFAULT_TIMEOUT = 3000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Merge obj2 into obj1.
|
* Merge obj2 into obj1.
|
||||||
|
@ -364,6 +365,18 @@ exports.shouldSkip = function shouldSkip(url) {
|
||||||
return skipURL;
|
return skipURL;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
exports.getRulesetPref = function() {
|
||||||
|
let ruleset = "dfr_rules";
|
||||||
|
try {
|
||||||
|
ruleset = Services.prefs.getCharPref(CURRENT_RULESET);
|
||||||
|
}
|
||||||
|
catch(ex) {
|
||||||
|
// Likely no value set for CURRENT_RULESET pref, so set the pref.
|
||||||
|
Services.prefs.setCharPref(CURRENT_RULESET, ruleset);
|
||||||
|
}
|
||||||
|
return ruleset;
|
||||||
|
}
|
||||||
|
|
||||||
exports.DataProcessorHelper = {
|
exports.DataProcessorHelper = {
|
||||||
initChartInStorage: function(dataNameString, storageBackend) {
|
initChartInStorage: function(dataNameString, storageBackend) {
|
||||||
let storageObj = storageBackend || storage;
|
let storageObj = storageBackend || storage;
|
||||||
|
|
|
@ -6,10 +6,9 @@
|
||||||
const {createNode} = require("streams/core");
|
const {createNode} = require("streams/core");
|
||||||
const {storage} = require("sdk/simple-storage");
|
const {storage} = require("sdk/simple-storage");
|
||||||
const {TypeNamespace} = require("TypeNamespace");
|
const {TypeNamespace} = require("TypeNamespace");
|
||||||
const {DataProcessorHelper} = require("Utils");
|
|
||||||
const {Cu} = require("chrome");
|
const {Cu} = require("chrome");
|
||||||
const {getHistoryDetails} = require("Utils");
|
const {getFaviconForHistoryVisit, shouldSkip, DataProcessorHelper, getHistoryDetails, getRulesetPref} = require("Utils");
|
||||||
const {getFaviconForHistoryVisit, shouldSkip} = require("Utils");
|
|
||||||
Cu.import("resource://gre/modules/commonjs/sdk/core/promise.js");
|
Cu.import("resource://gre/modules/commonjs/sdk/core/promise.js");
|
||||||
Cu.import("resource://gre/modules/Task.jsm");
|
Cu.import("resource://gre/modules/Task.jsm");
|
||||||
Cu.import("resource://gre/modules/Services.jsm");
|
Cu.import("resource://gre/modules/Services.jsm");
|
||||||
|
@ -174,7 +173,12 @@ let InterestDashboardDataProcessorBolt = {
|
||||||
this.debugReport = this.debugReport.concat(message.errorData);
|
this.debugReport = this.debugReport.concat(message.errorData);
|
||||||
DataProcessorHelper.initChartInStorage("interestDashboardData", this.storage);
|
DataProcessorHelper.initChartInStorage("interestDashboardData", this.storage);
|
||||||
this.storage.chartData.interestDashboardData.sortedDomains = {"all": [], "byInterest": {}};
|
this.storage.chartData.interestDashboardData.sortedDomains = {"all": [], "byInterest": {}};
|
||||||
let interestDashboardTypeNamespace = message.chartData.rules.dfr_rules;
|
|
||||||
|
let ruleset = getRulesetPref();
|
||||||
|
let interestDashboardTypeNamespace = message.chartData.rules[ruleset];
|
||||||
|
if (!interestDashboardTypeNamespace) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.debugReport.push("Processing data for pie chart");
|
this.debugReport.push("Processing data for pie chart");
|
||||||
let chartData = [];
|
let chartData = [];
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
const {createNode} = require("streams/core");
|
const {createNode} = require("streams/core");
|
||||||
const {storage} = require("sdk/simple-storage");
|
const {storage} = require("sdk/simple-storage");
|
||||||
const {TypeNamespace} = require("TypeNamespace");
|
const {TypeNamespace} = require("TypeNamespace");
|
||||||
const {DataProcessorHelper} = require("Utils");
|
const {DataProcessorHelper, getRulesetPref} = require("Utils");
|
||||||
const {data} = require("sdk/self");
|
const {data} = require("sdk/self");
|
||||||
const {Cu, Cc, Ci} = require("chrome");
|
const {Cu, Cc, Ci} = require("chrome");
|
||||||
Cu.import("resource://gre/modules/Services.jsm");
|
Cu.import("resource://gre/modules/Services.jsm");
|
||||||
|
@ -114,7 +114,11 @@ let SpiderDataProcessorBolt = {
|
||||||
|
|
||||||
ingest: function _HSB_ingest(message) {
|
ingest: function _HSB_ingest(message) {
|
||||||
DataProcessorHelper.initChartInStorage("spiderData", this.storage);
|
DataProcessorHelper.initChartInStorage("spiderData", this.storage);
|
||||||
let data = message.chartData.rules.dfr_rules;
|
let ruleset = getRulesetPref();
|
||||||
|
let data = message.chartData.rules[ruleset];
|
||||||
|
if (!data) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
let categories = data.categories;
|
let categories = data.categories;
|
||||||
|
|
||||||
this._mainNodes = [{"id": 0,
|
this._mainNodes = [{"id": 0,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче