42 lines
1.1 KiB
JavaScript
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);
|
|
});
|