Add 26.2 versioned JS files and move 15.7 files

This commit is contained in:
√(noham)²
2026-01-17 14:46:26 +01:00
parent b8c9fe8c4b
commit b68eb4accb
39 changed files with 25445 additions and 2 deletions

View File

@@ -0,0 +1,22 @@
//# sourceURL=__InjectedScript_OpenSearchURLFinder.js
/* Copyright (c) 2025 Apple Inc. All rights reserved. */
var OpenSearchURLFinder = function () {};
OpenSearchURLFinder.prototype = {
firstOpenSearchURLString: function () {
if (!document.head) return null;
for (
var e = document.head.getElementsByTagName("link"), r = e.length, n = 0;
n < r;
++n
) {
var t = e[n];
if (
"search" === t.getAttribute("rel") &&
"application/opensearchdescription+xml" === t.getAttribute("type")
)
return t.href;
}
return null;
},
};
var OpenSearchURLFinderJS = new OpenSearchURLFinder();

View File

@@ -0,0 +1,189 @@
//# sourceURL=__InjectedScript_QuickWebsiteSearchURLDetector.js
/* Copyright (c) 2025 Apple Inc. All rights reserved. */
"use strict";
function urlEncode(e) {
return encodeURIComponent(e).replace(/%20/g, "+");
}
function regularExpressionForDomainMatching(e) {
return new RegExp("(^|.)" + e.replaceAll(".", "\\.") + "$");
}
function userIsOnDomain(e) {
return regularExpressionForDomainMatching(e).test(document.location.hostname);
}
function isTextField(e) {
if (e instanceof HTMLTextAreaElement) return !0;
if (!(e instanceof HTMLInputElement)) return !1;
const t = {
date: !0,
"datetime-local": !0,
email: !0,
isindex: !0,
month: !0,
number: !0,
password: !0,
search: !0,
tel: !0,
telephone: !0,
text: !0,
time: !0,
url: !0,
week: !0,
};
var n = e.type;
return !n || n in t;
}
function queryAllBySelector(e, t) {
try {
return window.collectMatchingElementsInFlatTree(e, t);
} catch (e) {
return [];
}
}
function elementsInFormPiercingShadowDOM(e) {
e.elements;
return queryAllBySelector(
e,
"button, fieldset, input:not([type='image']), object, output, select, textarea",
);
}
function getLocalName(e) {
var t = e.localName;
return "string" == typeof t || "string" == typeof (t = e.nodeName)
? t
: void 0;
}
function isSelectInDefaultState(e) {
let t = e.options,
n = t.length;
for (var r = 0; r < n; ++r) {
let n = t[r];
if (n.selected !== n.defaultSelected) {
if (n.defaultSelected) return !1;
if (e.multiple || r) return !1;
}
}
return !0;
}
function isSubmitButton(e) {
return (
(e instanceof HTMLButtonElement || e instanceof HTMLInputElement) &&
e.type &&
"submit" === e.type
);
}
function isSecureTextField(e) {
if (!(e instanceof HTMLInputElement)) return !1;
try {
if (e.matches(":-webkit-autofill-strong-password")) return !0;
} catch (e) {}
const t = getComputedStyle(e, null).getPropertyValue("-webkit-text-security"),
n = e.type;
if ("none" !== t || "password" === n) return !0;
if (n && "text" !== n) return !1;
if (userIsOnDomain("ninehours.co.jp")) {
let t = e.name;
if ("guestPassword" === t || "guestPasswordConfirm" === t) return !0;
}
return !1;
}
function isCheckboxOrRadioButtonInDefaultState(e) {
return e.checked === e.defaultChecked;
}
function textAreaElementLookLikeItIsPartOfASearchForm(e) {
return (
e instanceof HTMLTextAreaElement &&
("search" === e.getAttribute("type") ||
"search" === e.inputMode ||
"search" === e.getAttribute("enterkeyhint"))
);
}
function isInputAllowedInSearchForm(e) {
const t = getLocalName(e).toLowerCase();
if ("button" === t || "fieldset" === t) return !0;
if ("select" === t) return isSelectInDefaultState(e);
if ("input" !== t && !textAreaElementLookLikeItIsPartOfASearchForm(e))
return !1;
const n = e.type;
return "radio" === n || "checkbox" === n
? isCheckboxOrRadioButtonInDefaultState(e)
: "hidden" === n ||
"reset" === n ||
"submit" === n ||
"button" === n ||
"image" === n ||
(isTextField(e) && !isSecureTextField(e));
}
function isSearchForm(e) {
if ("get" !== e.method) return !1;
const t = elementsInFormPiercingShadowDOM(e),
n = t.length;
for (let e = 0; e < n; ++e) if (!isInputAllowedInSearchForm(t[e])) return !1;
return !0;
}
function visibleNonEmptyFormTextControlsInForm(e) {
let t = [],
n = elementsInFormPiercingShadowDOM(e),
r = n.length;
for (let e = 0; e < r; ++e) {
let r = n[e];
r.checkVisibility() &&
null != r.value &&
r.value.length &&
isTextField(r) &&
t.push(r);
}
return t;
}
function shouldInputBeIncludedInSearchURLQuery(e) {
if (e.disabled) return !1;
if (!e.name.length) return !1;
if (!e.value.length) return !1;
if (e instanceof HTMLSelectElement) return !0;
var t = getLocalName(e).toLowerCase(),
n = e.type;
return "button" === t
? "submit" === n
: "input" === t &&
("submit" === n ||
("checkbox" === n || "radio" === n
? e.checked
: "hidden" === n || isTextField(e)));
}
function searchTextFieldFormSubmissionURLString(e) {
const t = e.form;
if (!t) return null;
let n = t.getAttribute("action");
if (!n || !n.length) return null;
if (!/^https?:/i.test(t.action)) return null;
let r = null,
i = "",
o = elementsInFormPiercingShadowDOM(t),
u = o.length;
for (let t = 0; t < u; ++t) {
let n = o[t];
if (
(n === e || shouldInputBeIncludedInSearchURLQuery(n)) &&
(!isSubmitButton(n) || (r || (r = n), n === r))
) {
i.length && (i += "&");
var l = n === e ? "{searchTerms}" : urlEncode(n.value);
i += urlEncode(n.name) + "=" + l;
}
}
let s = document.createElement("a");
return ((s.href = t.action), (s.search = i), s.href);
}
function handleFormSubmission(e) {
const t = e.target;
if (!isSearchForm(t)) return;
const n = visibleNonEmptyFormTextControlsInForm(t);
if (n.length > 1) return;
const r = n[0];
if (!r) return;
const i = searchTextFieldFormSubmissionURLString(r);
i &&
window.webkit.messageHandlers.quickWebsiteSearchDetectedSearchURL.postMessage(
i,
);
}
window.addEventListener("submit", handleFormSubmission);