Mercurial > addons > firefox-addons > feed-preview
view content_scripts/feed-probe.js @ 57:3c97046c2348
Fix non-responsive buttons for managing feed readers
In recent Firefox releases the "explicitOriginalTarget" property returns the
associated form element instead of the originally clicked button so that the
buttons for managing feed readers on the option page no longer worked.
Determine the button used to submit the form using the "submitter" property of
the new SubmitEvent instead.
Add a polyfill for older Firefox releases not yet supporting this.
author | Guido Berhoerster <guido+feed-preview@berhoerster.name> |
---|---|
date | Wed, 06 May 2020 13:42:35 +0200 |
parents | ede87e1004f9 |
children |
line wrap: on
line source
/* * Copyright (C) 2018 Guido Berhoerster <guido+feed-preview@berhoerster.name> * * 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'; function getFeeds() { let urlsFeeds = new Map(); let elements = document.querySelectorAll(':-moz-any(link, a)[href]' + '[rel~=alternate]:-moz-any([type="application/atom+xml"], ' + '[type="application/rss+xml"])'); for (let element of elements) { if (element.href === document.URL) { // do not indicate the availability of a feed if the current // document is already a feed preview continue; } if (!element.href.match(/^https?:\/\//)) { continue; } urlsFeeds.set(element.href, { href: element.href, title: element.title || browser.i18n.getMessage('defaultFeedTitle'), type: element.type }); } return Array.from(urlsFeeds.values()); } browser.runtime.onMessage.addListener((request, sender, sendResponse) => { // background page querying available feeds sendResponse(getFeeds()); });