Skip to content

Commit 094c5fa

Browse files
authored
Add large script (#7116)
Task/Issue URL: https://app.asana.com/1/137249556945/task/1211935414190419?focus=true ### Description Add support to inject large no-op script behind RC flag ### Steps to test this PR _Feature 1_ - [ ] Open feature flags inventory and set - [ ] `webViewCompat` to enabled - [ ] `jsSendsInitialPing` to enabled - [ ] `useLargeScript` to enabled - [ ] Inspect WebView on a Chromium-based browser - [ ] Check console for `[large script Posting initial ping...` ### UI changes | Before | After | | ------ | ----- | !(Upload before screenshot)|(Upload after screenshot)|
1 parent e3f5dbb commit 094c5fa

File tree

3 files changed

+2120
-0
lines changed

3 files changed

+2120
-0
lines changed

app/src/main/java/com/duckduckgo/app/browser/WebViewCompatTestHelper.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ class RealWebViewCompatTestHelper @Inject constructor(
8080
val sendMessageOnContextMenuOpen: Boolean,
8181
val sendMessagesUsingReplyProxy: Boolean,
8282
val useComplexScript: Boolean,
83+
val useLargeScript: Boolean,
8384
)
8485

8586
private var cachedConfig: WebViewCompatConfig? = null
@@ -100,6 +101,7 @@ class RealWebViewCompatTestHelper @Inject constructor(
100101
sendMessageOnContextMenuOpen = webViewCompatFeature.sendMessageOnContextMenuOpen().isEnabled(),
101102
sendMessagesUsingReplyProxy = webViewCompatFeature.sendMessagesUsingReplyProxy().isEnabled(),
102103
useComplexScript = webViewCompatFeature.useComplexScript().isEnabled(),
104+
useLargeScript = webViewCompatFeature.useLargeScript().isEnabled(),
103105
).also {
104106
cachedConfig = it
105107
}
@@ -115,6 +117,8 @@ class RealWebViewCompatTestHelper @Inject constructor(
115117
if (!webViewCompatFeature.self().isEnabled()) return@withContext null
116118
val scriptResourceId = if (config.useComplexScript) {
117119
R.raw.webviewcompat_complex_test_script
120+
} else if (config.useLargeScript) {
121+
R.raw.webviewcompat_large_test_script
118122
} else {
119123
R.raw.webviewcompat_test_script
120124
}

app/src/main/java/com/duckduckgo/app/browser/webview/WebViewCompatFeature.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ interface WebViewCompatFeature {
5353

5454
@Toggle.DefaultValue(DefaultFeatureValue.FALSE)
5555
fun useComplexScript(): Toggle
56+
57+
@Toggle.DefaultValue(DefaultFeatureValue.FALSE)
58+
fun useLargeScript(): Toggle
5659
}
5760

5861
data class WebViewCompatFeatureSettings(

0 commit comments

Comments
 (0)