mirror of
https://github.com/NohamR/safari-internal-js.git
synced 2026-10-11 02:49:41 +00:00
Add 27.0 js src
This commit is contained in:
20
27.0/js/search/OpenSearchURLFinder.js
Normal file
20
27.0/js/search/OpenSearchURLFinder.js
Normal file
@@ -0,0 +1,20 @@
|
||||
//# sourceURL=__InjectedScript_OpenSearchURLFinder.js
|
||||
/* Copyright (c) 2026 Apple Inc. All rights reserved. */
|
||||
(function () {
|
||||
"use strict";
|
||||
function e() {
|
||||
if (document.head) {
|
||||
var e = document.head.getElementsByTagName("link");
|
||||
for (const t of e)
|
||||
if (
|
||||
"search" === t.getAttribute("rel") &&
|
||||
"application/opensearchdescription+xml" === t.getAttribute("type")
|
||||
)
|
||||
return void window.webkit.messageHandlers.quickWebsiteSearchFoundOpenSearchURL.postMessage(
|
||||
t.href,
|
||||
);
|
||||
}
|
||||
}
|
||||
e();
|
||||
})();
|
||||
0;
|
||||
190
27.0/js/search/QuickWebsiteSearchURLDetector.js
Normal file
190
27.0/js/search/QuickWebsiteSearchURLDetector.js
Normal file
@@ -0,0 +1,190 @@
|
||||
//# sourceURL=__InjectedScript_QuickWebsiteSearchURLDetector.js
|
||||
/* Copyright (c) 2026 Apple Inc. All rights reserved. */
|
||||
(function () {
|
||||
"use strict";
|
||||
function e(e) {
|
||||
return encodeURIComponent(e).replace(/%20/g, "+");
|
||||
}
|
||||
function t(e) {
|
||||
return new RegExp("(^|.)" + e.replaceAll(".", "\\.") + "$");
|
||||
}
|
||||
function n(e) {
|
||||
return t(e).test(document.location.hostname);
|
||||
}
|
||||
function r(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 u(e, t) {
|
||||
try {
|
||||
return window.collectMatchingElementsInFlatTree(e, t);
|
||||
} catch (e) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
function i(e) {
|
||||
e.elements;
|
||||
return u(
|
||||
e,
|
||||
"button, fieldset, input:not([type='image']), object, output, select, textarea",
|
||||
);
|
||||
}
|
||||
function o(e) {
|
||||
var t = e.localName;
|
||||
return "string" == typeof t || "string" == typeof (t = e.nodeName)
|
||||
? t
|
||||
: void 0;
|
||||
}
|
||||
function c(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 l(e) {
|
||||
return (
|
||||
(e instanceof HTMLButtonElement || e instanceof HTMLInputElement) &&
|
||||
e.type &&
|
||||
"submit" === e.type
|
||||
);
|
||||
}
|
||||
function s(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",
|
||||
),
|
||||
r = e.type;
|
||||
if ("none" !== t || "password" === r) return !0;
|
||||
if (r && "text" !== r) return !1;
|
||||
if (n("ninehours.co.jp")) {
|
||||
let t = e.name;
|
||||
if ("guestPassword" === t || "guestPasswordConfirm" === t) return !0;
|
||||
}
|
||||
return !1;
|
||||
}
|
||||
function a(e) {
|
||||
return e.checked === e.defaultChecked;
|
||||
}
|
||||
function f(e) {
|
||||
return (
|
||||
e instanceof HTMLTextAreaElement &&
|
||||
("search" === e.getAttribute("type") ||
|
||||
"search" === e.inputMode ||
|
||||
"search" === e.getAttribute("enterkeyhint"))
|
||||
);
|
||||
}
|
||||
function d(e) {
|
||||
const t = o(e).toLowerCase();
|
||||
if ("button" === t || "fieldset" === t) return !0;
|
||||
if ("select" === t) return c(e);
|
||||
if ("input" !== t && !f(e)) return !1;
|
||||
const n = e.type;
|
||||
return "radio" === n || "checkbox" === n
|
||||
? a(e)
|
||||
: "hidden" === n ||
|
||||
"reset" === n ||
|
||||
"submit" === n ||
|
||||
"button" === n ||
|
||||
"image" === n ||
|
||||
(r(e) && !s(e));
|
||||
}
|
||||
function h(e) {
|
||||
if ("get" !== e.method) return !1;
|
||||
const t = i(e),
|
||||
n = t.length;
|
||||
for (let e = 0; e < n; ++e) if (!d(t[e])) return !1;
|
||||
return !0;
|
||||
}
|
||||
function m(e) {
|
||||
let t = [],
|
||||
n = i(e),
|
||||
u = n.length;
|
||||
for (let e = 0; e < u; ++e) {
|
||||
let u = n[e];
|
||||
u.checkVisibility() &&
|
||||
null != u.value &&
|
||||
u.value.length &&
|
||||
r(u) &&
|
||||
t.push(u);
|
||||
}
|
||||
return t;
|
||||
}
|
||||
function p(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 = o(e).toLowerCase(),
|
||||
n = e.type;
|
||||
return "button" === t
|
||||
? "submit" === n
|
||||
: "input" === t &&
|
||||
("submit" === n ||
|
||||
("checkbox" === n || "radio" === n
|
||||
? e.checked
|
||||
: "hidden" === n || r(e)));
|
||||
}
|
||||
function g(t) {
|
||||
const n = t.form;
|
||||
if (!n) return null;
|
||||
let r = n.getAttribute("action");
|
||||
if (!r || !r.length) return null;
|
||||
if (!/^https?:/i.test(n.action)) return null;
|
||||
let u = null,
|
||||
o = "",
|
||||
c = i(n),
|
||||
s = c.length;
|
||||
for (let n = 0; n < s; ++n) {
|
||||
let r = c[n];
|
||||
if ((r === t || p(r)) && (!l(r) || (u || (u = r), r === u))) {
|
||||
o.length && (o += "&");
|
||||
var a = r === t ? "{searchTerms}" : e(r.value);
|
||||
o += e(r.name) + "=" + a;
|
||||
}
|
||||
}
|
||||
let f = document.createElement("a");
|
||||
return ((f.href = n.action), (f.search = o), f.href);
|
||||
}
|
||||
function b(e) {
|
||||
const t = e.target;
|
||||
if (!h(t)) return;
|
||||
const n = m(t);
|
||||
if (n.length > 1) return;
|
||||
const r = n[0];
|
||||
if (!r) return;
|
||||
const u = g(r);
|
||||
u &&
|
||||
window.webkit.messageHandlers.quickWebsiteSearchDetectedSearchURL.postMessage(
|
||||
u,
|
||||
);
|
||||
}
|
||||
window.addEventListener("submit", b);
|
||||
})();
|
||||
0;
|
||||
246
27.0/js/search/SearchEngineBannerDetector.js
Normal file
246
27.0/js/search/SearchEngineBannerDetector.js
Normal file
@@ -0,0 +1,246 @@
|
||||
//# sourceURL=__InjectedScript_SearchEngineBannerDetector.js
|
||||
/* Copyright (c) 2026 Apple Inc. All rights reserved. */
|
||||
(function () {
|
||||
function e(e) {
|
||||
try {
|
||||
var t =
|
||||
window.webkit &&
|
||||
window.webkit.messageHandlers &&
|
||||
window.webkit.messageHandlers.safariSearchEngineBannerDetection;
|
||||
t && t.postMessage({ kind: e, category: M });
|
||||
} catch (e) {}
|
||||
}
|
||||
function t() {
|
||||
if (C) {
|
||||
try {
|
||||
C.disconnect();
|
||||
} catch (e) {}
|
||||
C = null;
|
||||
}
|
||||
q.length = 0;
|
||||
}
|
||||
function n() {
|
||||
if (_) {
|
||||
try {
|
||||
_.disconnect();
|
||||
} catch (e) {}
|
||||
_ = null;
|
||||
}
|
||||
if (B) {
|
||||
try {
|
||||
document.removeEventListener("pointerdown", B, !0);
|
||||
} catch (e) {}
|
||||
B = null;
|
||||
}
|
||||
D.length = 0;
|
||||
}
|
||||
function r() {
|
||||
(t(), n());
|
||||
}
|
||||
function i(e) {
|
||||
if (!e || !e.getAttribute) return null;
|
||||
var t = e.getAttribute("href") || "";
|
||||
return 0 === t.indexOf("googlechrome://") ||
|
||||
(0 === t.indexOf("intent://") &&
|
||||
-1 !== t.indexOf("scheme=googlechrome")) ||
|
||||
-1 !== t.indexOf("id535886823")
|
||||
? E
|
||||
: 0 === t.indexOf("comgoogleapp://") || -1 !== t.indexOf("id284815942")
|
||||
? O
|
||||
: null;
|
||||
}
|
||||
function o(e) {
|
||||
for (
|
||||
var t = e && e.querySelectorAll ? e.querySelectorAll("a[href]") : [],
|
||||
n = 0;
|
||||
n < t.length;
|
||||
n++
|
||||
) {
|
||||
var r = i(t[n]);
|
||||
if (r) return r;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
function a(e) {
|
||||
return null !== o(e);
|
||||
}
|
||||
function u(e) {
|
||||
var t = o(e);
|
||||
return (
|
||||
t || (-1 !== ((e && e.textContent) || "").indexOf("Chrome") ? E : "other")
|
||||
);
|
||||
}
|
||||
function d(e) {
|
||||
return (
|
||||
!(!e || !e.isConnected) &&
|
||||
(!e.getAttribute || "true" !== e.getAttribute("aria-hidden"))
|
||||
);
|
||||
}
|
||||
function l(e) {
|
||||
var t = e.ownerDocument && e.ownerDocument.defaultView;
|
||||
if (!t) return !1;
|
||||
var n = t.getComputedStyle(e);
|
||||
return !!n && "hidden" !== n.visibility && "none" !== n.display;
|
||||
}
|
||||
function c(e) {
|
||||
return d(e) && l(e);
|
||||
}
|
||||
function f(e) {
|
||||
if (!e || !e.getBoundingClientRect) return !1;
|
||||
var t = e.getBoundingClientRect();
|
||||
return t.width > 0 && t.height > 0;
|
||||
}
|
||||
function s(e) {
|
||||
d(e) &&
|
||||
("promo_label_id" !==
|
||||
(e.getAttribute && e.getAttribute("aria-labelledby"))
|
||||
? a(e) && l(e) && b(e)
|
||||
: l(e) && b(e));
|
||||
}
|
||||
function g(e) {
|
||||
for (
|
||||
var t = e.querySelectorAll
|
||||
? e.querySelectorAll('[data-async-type="hpba"]')
|
||||
: [],
|
||||
n = 0;
|
||||
n < t.length;
|
||||
n++
|
||||
) {
|
||||
var r = t[n];
|
||||
if (d(r) && r.children && r.children.length > 0 && l(r) && f(r))
|
||||
return void b(r);
|
||||
}
|
||||
}
|
||||
function h(e) {
|
||||
if (
|
||||
!L &&
|
||||
e &&
|
||||
e.querySelectorAll &&
|
||||
!(
|
||||
1 === e.nodeType &&
|
||||
e.matches &&
|
||||
e.matches('[role="dialog"]') &&
|
||||
(s(e), L)
|
||||
)
|
||||
) {
|
||||
for (
|
||||
var t = e.querySelectorAll('[role="dialog"]'), n = 0;
|
||||
n < t.length;
|
||||
n++
|
||||
)
|
||||
if ((s(t[n]), L)) return;
|
||||
g(e);
|
||||
}
|
||||
}
|
||||
function v() {
|
||||
if (((k = !1), L)) q.length = 0;
|
||||
else {
|
||||
var e = q;
|
||||
q = [];
|
||||
for (var t = 0; t < e.length && !L; t++) h(e[t]);
|
||||
}
|
||||
}
|
||||
function m(e) {
|
||||
if (!L && e && (q.push(e), !k)) {
|
||||
k = !0;
|
||||
var t = window.requestIdleCallback;
|
||||
t ? t(v, { timeout: 500 }) : setTimeout(v, 16);
|
||||
}
|
||||
}
|
||||
function b(n) {
|
||||
L || ((L = !0), (M = u(n)), e("appearance"), t(), p(n));
|
||||
}
|
||||
function w() {
|
||||
x || ((x = !0), e("dismissed"), n());
|
||||
}
|
||||
function y() {
|
||||
if (!T && ((T = !0), e("interaction"), B)) {
|
||||
try {
|
||||
document.removeEventListener("pointerdown", B, !0);
|
||||
} catch (e) {}
|
||||
B = null;
|
||||
}
|
||||
}
|
||||
function p(e) {
|
||||
e &&
|
||||
(D.push(e),
|
||||
(B = function (e) {
|
||||
if (!T) {
|
||||
var t = e.target;
|
||||
if (t)
|
||||
for (var n = 0; n < D.length; n++) {
|
||||
var r = D[n];
|
||||
if (r.contains && r.contains(t)) return void y();
|
||||
}
|
||||
}
|
||||
}),
|
||||
document.addEventListener("pointerdown", B, !0),
|
||||
(_ = new MutationObserver(function (e) {
|
||||
if (!x) {
|
||||
for (var t = !1, n = 0; n < e.length; n++)
|
||||
if ("attributes" === e[n].type) {
|
||||
t = !0;
|
||||
break;
|
||||
}
|
||||
for (var r = 0; r < D.length; r++) if (t ? c(D[r]) : d(D[r])) return;
|
||||
w();
|
||||
}
|
||||
})).observe(document.documentElement, { childList: !0, subtree: !0 }),
|
||||
_.observe(e, {
|
||||
attributes: !0,
|
||||
attributeFilter: ["aria-hidden", "style", "class", "hidden"],
|
||||
}));
|
||||
}
|
||||
function A() {
|
||||
function e() {
|
||||
setTimeout(t, S);
|
||||
}
|
||||
(h(document),
|
||||
window.addEventListener("pagehide", r, { once: !0 }),
|
||||
L ||
|
||||
((C = new MutationObserver(function (e) {
|
||||
if (!L)
|
||||
for (var t = 0; t < e.length; t++) {
|
||||
var n = e[t];
|
||||
if (
|
||||
"attributes" === n.type &&
|
||||
n.target &&
|
||||
1 === n.target.nodeType
|
||||
)
|
||||
m(n.target);
|
||||
else if (n.addedNodes)
|
||||
for (var r = 0; r < n.addedNodes.length; r++) {
|
||||
var i = n.addedNodes[r];
|
||||
1 === i.nodeType && m(i);
|
||||
}
|
||||
}
|
||||
})).observe(document.documentElement, {
|
||||
childList: !0,
|
||||
subtree: !0,
|
||||
attributes: !0,
|
||||
attributeFilter: ["aria-hidden"],
|
||||
}),
|
||||
"complete" === document.readyState
|
||||
? e()
|
||||
: window.addEventListener("load", e, { once: !0 })));
|
||||
}
|
||||
if (window.__safariSearchEngineBannerDetectorInstalled) return;
|
||||
window.__safariSearchEngineBannerDetectorInstalled = !0;
|
||||
var S = 1e4;
|
||||
const E = "chrome",
|
||||
O = "googleApp";
|
||||
var L = !1,
|
||||
x = !1,
|
||||
C = null,
|
||||
q = [],
|
||||
k = !1,
|
||||
D = [],
|
||||
_ = null,
|
||||
B = null,
|
||||
T = !1,
|
||||
M = null;
|
||||
"loading" === document.readyState
|
||||
? document.addEventListener("DOMContentLoaded", A, { once: !0 })
|
||||
: A();
|
||||
})();
|
||||
0;
|
||||
Reference in New Issue
Block a user