commit b254a4b2cb20220d2bc40ab2a4808ba8854cf2a2
parent 0fdcece56b85cfece9b42a98e0bf25abf3e29b59
Author: Thomas Wisniewski <twisniewski@mozilla.com>
Date: Fri, 19 Dec 2025 23:16:56 +0000
Bug 2006577 - add an Android-only UA override for blinklearning.com; r=webcompat-reviewers,ksenia
Differential Revision: https://phabricator.services.mozilla.com/D277123
Diffstat:
3 files changed, 45 insertions(+), 5 deletions(-)
diff --git a/browser/extensions/webcompat/data/interventions.json b/browser/extensions/webcompat/data/interventions.json
@@ -6187,6 +6187,23 @@
}
]
},
+ "2003815": {
+ "label": "crea-tv.jp",
+ "bugs": {
+ "2003815": {
+ "issue": "firefox-blocked-completely",
+ "matches": ["*://crea-tv.jp/*"]
+ }
+ },
+ "interventions": [
+ {
+ "platforms": ["android"],
+ "ua_string": [
+ { "change": "Chrome_with_FxQuantum", "version": "142.0.0.0" }
+ ]
+ }
+ ]
+ },
"2004025": {
"label": "chatbot.weixin.qq.com",
"bugs": {
diff --git a/browser/extensions/webcompat/lib/intervention_helpers.js b/browser/extensions/webcompat/lib/intervention_helpers.js
@@ -339,7 +339,7 @@ var InterventionHelpers = {
}
if (ua_string) {
for (let ua of Array.isArray(ua_string) ? ua_string : [ua_string]) {
- if (!InterventionHelpers.ua_change_functions[ua]) {
+ if (!InterventionHelpers.ua_change_functions[ua.change ?? ua]) {
return true;
}
}
@@ -457,10 +457,7 @@ var InterventionHelpers = {
}
for (let config of changes) {
if (typeof config === "string") {
- config = { change: config, enabled: true };
- }
- if (!config.enabled) {
- continue;
+ config = { change: config };
}
let finalChanges = config.change;
if (!Array.isArray(finalChanges)) {
diff --git a/testing/webcompat/interventions/tests/test_2003815_crea-tv_jp.py b/testing/webcompat/interventions/tests/test_2003815_crea-tv_jp.py
@@ -0,0 +1,26 @@
+import pytest
+
+URL = "https://crea-tv.jp/User/ViComm/man/LoginUser.aspx?loginid=96215817&password=aaaa&bookmark=1&_tid=hUjns&sp_refresh=1"
+LOGIN_CSS = "input[name=cmdSubmit]"
+SUPPORTED_CSS = "#main_doc"
+UNSUPPORTED_TEXT = "このページはモバイル端末専用ページです"
+
+
+@pytest.mark.only_platforms("android")
+@pytest.mark.asyncio
+@pytest.mark.with_interventions
+async def test_enabled(client):
+ await client.navigate(URL, wait="none")
+ client.await_css(LOGIN_CSS, is_displayed=True).click()
+ assert client.await_css(SUPPORTED_CSS, is_displayed=True)
+ assert not client.find_text(UNSUPPORTED_TEXT, is_displayed=True)
+
+
+@pytest.mark.only_platforms("android")
+@pytest.mark.asyncio
+@pytest.mark.without_interventions
+async def test_disabled(client):
+ await client.navigate(URL, wait="none")
+ client.await_css(LOGIN_CSS, is_displayed=True).click()
+ assert client.await_text(UNSUPPORTED_TEXT, is_displayed=True)
+ assert not client.find_css(SUPPORTED_CSS, is_displayed=True)