Commit 24f4a248 authored by Rayan Kanso's avatar Rayan Kanso Committed by Commit Bot

[BackgroundSync] Actually apply android network detection finch param

Also disable it for WebLayer since it doesn't work in that context.

Bug: 1051508
Change-Id: I5368d2c803547cccb54e0e981a77b688ec528a84
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2516702
Commit-Queue: Rayan Kanso <rayankans@chromium.org>
Reviewed-by: default avatarMugdha Lakhani <nator@chromium.org>
Cr-Commit-Position: refs/heads/master@{#823997}
parent 1e34e6ec
......@@ -58,6 +58,8 @@ public final class BackgroundSyncTest {
"/chrome/test/data/background_sync/background_sync_test.html";
private static final int TITLE_UPDATE_TIMEOUT_SECONDS = (int) scaleTimeout(10);
private static final long WAIT_TIME_MS = scaleTimeout(5000);
private static final String DISABLE_ANDROID_NETWORK_DETECTION =
"BackgroundSync.RelyOnAndroidNetworkDetection:rely_on_android_network_detection/false";
private CountDownLatch mScheduleLatch;
private CountDownLatch mCancelLatch;
......@@ -95,6 +97,7 @@ public final class BackgroundSyncTest {
@Test
@MediumTest
@Feature({"BackgroundSync"})
@CommandLineFlags.Add({"force-fieldtrial-params=" + DISABLE_ANDROID_NETWORK_DETECTION})
public void onSyncCalledWithNetworkConnectivity() throws Exception {
forceConnectionType(ConnectionType.CONNECTION_NONE);
......
......@@ -107,6 +107,10 @@ bool BackgroundSyncDelegateImpl::ShouldDisableBackgroundSync() {
return BackgroundSyncLauncherAndroid::ShouldDisableBackgroundSync();
}
bool BackgroundSyncDelegateImpl::ShouldDisableAndroidNetworkDetection() {
return false;
}
#endif // defined(OS_ANDROID)
void BackgroundSyncDelegateImpl::OnEngagementEvent(
......
......@@ -47,6 +47,7 @@ class BackgroundSyncDelegateImpl
base::TimeDelta delay) override;
void CancelBrowserWakeup(blink::mojom::BackgroundSyncType sync_type) override;
bool ShouldDisableBackgroundSync() override;
bool ShouldDisableAndroidNetworkDetection() override;
#endif // defined(OS_ANDROID)
// SiteEngagementObserver overrides.
......
......@@ -190,6 +190,18 @@ void BackgroundSyncControllerImpl::GetParameterOverrides(
}
}
#if defined(OS_ANDROID)
// Check if the delegate explicitly disabled this feature.
if (delegate_->ShouldDisableAndroidNetworkDetection()) {
parameters->rely_on_android_network_detection = false;
} else if (base::Contains(field_params, kRelyOnAndroidNetworkDetection)) {
if (base::LowerCaseEqualsASCII(field_params[kRelyOnAndroidNetworkDetection],
"true")) {
parameters->rely_on_android_network_detection = true;
}
}
#endif
return;
}
......
......@@ -67,6 +67,9 @@ class BackgroundSyncDelegate {
// Whether Background Sync should be disabled.
virtual bool ShouldDisableBackgroundSync() = 0;
// Whether to disable Android network detection for connectivity checks.
virtual bool ShouldDisableAndroidNetworkDetection() = 0;
#endif
};
......
......@@ -86,6 +86,12 @@ bool BackgroundSyncDelegateImpl::ShouldDisableBackgroundSync() {
// Android L.
return false;
}
bool BackgroundSyncDelegateImpl::ShouldDisableAndroidNetworkDetection() {
// TODO(crbug.com/1141778): Remove this once waking up the WebLayer
// embedder is supported.
return true;
}
#endif // defined(OS_ANDROID)
} // namespace weblayer
......@@ -37,6 +37,7 @@ class BackgroundSyncDelegateImpl
base::TimeDelta delay) override;
void CancelBrowserWakeup(blink::mojom::BackgroundSyncType sync_type) override;
bool ShouldDisableBackgroundSync() override;
bool ShouldDisableAndroidNetworkDetection() override;
#endif // defined(OS_ANDROID)
private:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment