/* 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: "" + l10n.lookup("appCacheValidatedSuccessfully") + "" }); } return context.createView({ html: "
" + "

Manifest URI: ${manifestURI}

" + "
    " + "
  1. ${error.msg}
  2. " + "
" + "
", 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: "" + "", 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); } } ];