mirror of
https://github.com/classilla/tenfourfox.git
synced 2025-02-02 07:30:08 +00:00
187 lines
5.3 KiB
JavaScript
187 lines
5.3 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
"use strict";
|
|
|
|
const l10n = require("gcli/l10n");
|
|
|
|
loader.lazyImporter(this, "AppCacheUtils", "resource://devtools/client/shared/AppCacheUtils.jsm");
|
|
|
|
exports.items = [
|
|
{
|
|
item: "command",
|
|
name: "appcache",
|
|
description: l10n.lookup("appCacheDesc")
|
|
},
|
|
{
|
|
item: "command",
|
|
runAt: "server",
|
|
name: "appcache validate",
|
|
description: l10n.lookup("appCacheValidateDesc"),
|
|
manual: l10n.lookup("appCacheValidateManual"),
|
|
returnType: "appcacheerrors",
|
|
params: [{
|
|
group: "options",
|
|
params: [
|
|
{
|
|
type: "string",
|
|
name: "uri",
|
|
description: l10n.lookup("appCacheValidateUriDesc"),
|
|
defaultValue: null,
|
|
}
|
|
]
|
|
}],
|
|
exec: function(args, context) {
|
|
let utils;
|
|
let deferred = context.defer();
|
|
|
|
if (args.uri) {
|
|
utils = new AppCacheUtils(args.uri);
|
|
} else {
|
|
utils = new AppCacheUtils(context.environment.document);
|
|
}
|
|
|
|
utils.validateManifest().then(function(errors) {
|
|
deferred.resolve([errors, utils.manifestURI || "-"]);
|
|
});
|
|
|
|
return deferred.promise;
|
|
}
|
|
},
|
|
{
|
|
item: "converter",
|
|
from: "appcacheerrors",
|
|
to: "view",
|
|
exec: function([errors, manifestURI], context) {
|
|
if (errors.length == 0) {
|
|
return context.createView({
|
|
html: "<span>" + l10n.lookup("appCacheValidatedSuccessfully") + "</span>"
|
|
});
|
|
}
|
|
|
|
return context.createView({
|
|
html:
|
|
"<div>" +
|
|
" <h4>Manifest URI: ${manifestURI}</h4>" +
|
|
" <ol>" +
|
|
" <li foreach='error in ${errors}'>${error.msg}</li>" +
|
|
" </ol>" +
|
|
"</div>",
|
|
data: {
|
|
errors: errors,
|
|
manifestURI: manifestURI
|
|
}
|
|
});
|
|
}
|
|
},
|
|
{
|
|
item: "command",
|
|
runAt: "server",
|
|
name: "appcache clear",
|
|
description: l10n.lookup("appCacheClearDesc"),
|
|
manual: l10n.lookup("appCacheClearManual"),
|
|
exec: function(args, context) {
|
|
let utils = new AppCacheUtils(args.uri);
|
|
utils.clearAll();
|
|
|
|
return l10n.lookup("appCacheClearCleared");
|
|
}
|
|
},
|
|
{
|
|
item: "command",
|
|
runAt: "server",
|
|
name: "appcache list",
|
|
description: l10n.lookup("appCacheListDesc"),
|
|
manual: l10n.lookup("appCacheListManual"),
|
|
returnType: "appcacheentries",
|
|
params: [{
|
|
group: "options",
|
|
params: [
|
|
{
|
|
type: "string",
|
|
name: "search",
|
|
description: l10n.lookup("appCacheListSearchDesc"),
|
|
defaultValue: null,
|
|
},
|
|
]
|
|
}],
|
|
exec: function(args, context) {
|
|
let utils = new AppCacheUtils();
|
|
return utils.listEntries(args.search);
|
|
}
|
|
},
|
|
{
|
|
item: "converter",
|
|
from: "appcacheentries",
|
|
to: "view",
|
|
exec: function(entries, context) {
|
|
return context.createView({
|
|
html: "" +
|
|
"<ul class='gcli-appcache-list'>" +
|
|
" <li foreach='entry in ${entries}'>" +
|
|
" <table class='gcli-appcache-detail'>" +
|
|
" <tr>" +
|
|
" <td>" + l10n.lookup("appCacheListKey") + "</td>" +
|
|
" <td>${entry.key}</td>" +
|
|
" </tr>" +
|
|
" <tr>" +
|
|
" <td>" + l10n.lookup("appCacheListFetchCount") + "</td>" +
|
|
" <td>${entry.fetchCount}</td>" +
|
|
" </tr>" +
|
|
" <tr>" +
|
|
" <td>" + l10n.lookup("appCacheListLastFetched") + "</td>" +
|
|
" <td>${entry.lastFetched}</td>" +
|
|
" </tr>" +
|
|
" <tr>" +
|
|
" <td>" + l10n.lookup("appCacheListLastModified") + "</td>" +
|
|
" <td>${entry.lastModified}</td>" +
|
|
" </tr>" +
|
|
" <tr>" +
|
|
" <td>" + l10n.lookup("appCacheListExpirationTime") + "</td>" +
|
|
" <td>${entry.expirationTime}</td>" +
|
|
" </tr>" +
|
|
" <tr>" +
|
|
" <td>" + l10n.lookup("appCacheListDataSize") + "</td>" +
|
|
" <td>${entry.dataSize}</td>" +
|
|
" </tr>" +
|
|
" <tr>" +
|
|
" <td>" + l10n.lookup("appCacheListDeviceID") + "</td>" +
|
|
" <td>${entry.deviceID} <span class='gcli-out-shortcut' " +
|
|
"onclick='${onclick}' ondblclick='${ondblclick}' " +
|
|
"data-command='appcache viewentry ${entry.key}'" +
|
|
">" + l10n.lookup("appCacheListViewEntry") + "</span>" +
|
|
" </td>" +
|
|
" </tr>" +
|
|
" </table>" +
|
|
" </li>" +
|
|
"</ul>",
|
|
data: {
|
|
entries: entries,
|
|
onclick: context.update,
|
|
ondblclick: context.updateExec
|
|
}
|
|
});
|
|
}
|
|
},
|
|
{
|
|
item: "command",
|
|
runAt: "server",
|
|
name: "appcache viewentry",
|
|
description: l10n.lookup("appCacheViewEntryDesc"),
|
|
manual: l10n.lookup("appCacheViewEntryManual"),
|
|
params: [
|
|
{
|
|
type: "string",
|
|
name: "key",
|
|
description: l10n.lookup("appCacheViewEntryKey"),
|
|
defaultValue: null,
|
|
}
|
|
],
|
|
exec: function(args, context) {
|
|
let utils = new AppCacheUtils();
|
|
return utils.viewEntry(args.key);
|
|
}
|
|
}
|
|
];
|