From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../components/aboutcache/content/aboutCache.js | 44 ++++++++++++++++++++++ toolkit/components/aboutcache/jar.mn | 6 +++ toolkit/components/aboutcache/moz.build | 7 ++++ 3 files changed, 57 insertions(+) create mode 100644 toolkit/components/aboutcache/content/aboutCache.js create mode 100644 toolkit/components/aboutcache/jar.mn create mode 100644 toolkit/components/aboutcache/moz.build (limited to 'toolkit/components/aboutcache') diff --git a/toolkit/components/aboutcache/content/aboutCache.js b/toolkit/components/aboutcache/content/aboutCache.js new file mode 100644 index 000000000..07067cce3 --- /dev/null +++ b/toolkit/components/aboutcache/content/aboutCache.js @@ -0,0 +1,44 @@ +/* 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/. */ + +// First, parse and save the incoming arguments ("?storage=name&context=key") +// Note: window.location.search doesn't work with nsSimpleURIs used for about:* addresses. +var search = window.location.href.match(/^.*\?(.*)$/); +var searchParams = new URLSearchParams(search ? search[1] : ''); +var storage = searchParams.get('storage'); +var cacheContext = searchParams.get('context'); + +// The context is in a format as used by the HTTP cache v2 back end +if (cacheContext) + var [context, isAnon, isInBrowser, appId, isPrivate] = cacheContext.match(/(a,)?(b,)?(i\d+,)?(p,)?/); +if (appId) + appId = appId.match(/i(\d+),/)[1]; + + +function $(id) { return document.getElementById(id) || {}; } + +// Initialize the context UI controls at the start according what we got in the "context=" argument +addEventListener('DOMContentLoaded', function() { + $('anon').checked = !!isAnon; + $('inbrowser').checked = !!isInBrowser; + $('appid').value = appId || ''; + $('priv').checked = !!isPrivate; +}, false); + +// When user presses the [Update] button, we build a new context key according the UI control +// values and navigate to a new about:cache?storage=&context= URL. +function navigate() +{ + context = ''; + if ($('anon').checked) + context += 'a,'; + if ($('inbrowser').checked) + context += 'b,'; + if ($('appid').value) + context += 'i' + $('appid').value + ','; + if ($('priv').checked) + context += 'p,'; + + window.location.href = 'about:cache?storage=' + storage + '&context=' + context; +} diff --git a/toolkit/components/aboutcache/jar.mn b/toolkit/components/aboutcache/jar.mn new file mode 100644 index 000000000..b414a8f6d --- /dev/null +++ b/toolkit/components/aboutcache/jar.mn @@ -0,0 +1,6 @@ +# 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/. + +toolkit.jar: + content/global/aboutCache.js (content/aboutCache.js) diff --git a/toolkit/components/aboutcache/moz.build b/toolkit/components/aboutcache/moz.build new file mode 100644 index 000000000..aac3a838c --- /dev/null +++ b/toolkit/components/aboutcache/moz.build @@ -0,0 +1,7 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# 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/. + +JAR_MANIFESTS += ['jar.mn'] -- cgit v1.2.3