Files
tubestation/browser/extensions/webcompat/injections/js/bug1605611-maps.google.com-directions-time.js

42 lines
1.1 KiB
JavaScript

"use strict";
/* globals exportFunction */
/**
* Bug 1605611 - Cannot change Departure/arrival dates in Google Maps on Android
*
* This patch re-enables the disabled "Leave now" button.
*
* See https://bugzilla.mozilla.org/show_bug.cgi?id=1605611 for details.
*/
document.addEventListener("DOMContentLoaded", () => {
// In case the element appeared before the MutationObserver was activated.
for (const elem of document.querySelectorAll(".ml-icon-access-time")) {
elem.parentNode.disabled = false;
}
// Start watching for the insertion of the "Leave now" button.
const moOptions = {
attributeFilter: ["disabled"],
attributes: true,
subtree: true,
};
const mo = new MutationObserver(function(records) {
let restore = false;
for (const { target } of records) {
if (target.querySelector(".ml-icon-access-time")) {
if (!restore) {
restore = true;
mo.disconnect();
}
target.disabled = false;
}
}
if (restore) {
mo.observe(document.body, moOptions);
}
});
mo.observe(document.body, moOptions);
});