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 { ...@@ -58,6 +58,8 @@ public final class BackgroundSyncTest {
"/chrome/test/data/background_sync/background_sync_test.html"; "/chrome/test/data/background_sync/background_sync_test.html";
private static final int TITLE_UPDATE_TIMEOUT_SECONDS = (int) scaleTimeout(10); private static final int TITLE_UPDATE_TIMEOUT_SECONDS = (int) scaleTimeout(10);
private static final long WAIT_TIME_MS = scaleTimeout(5000); 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 mScheduleLatch;
private CountDownLatch mCancelLatch; private CountDownLatch mCancelLatch;
...@@ -95,6 +97,7 @@ public final class BackgroundSyncTest { ...@@ -95,6 +97,7 @@ public final class BackgroundSyncTest {
@Test @Test
@MediumTest @MediumTest
@Feature({"BackgroundSync"}) @Feature({"BackgroundSync"})
@CommandLineFlags.Add({"force-fieldtrial-params=" + DISABLE_ANDROID_NETWORK_DETECTION})
public void onSyncCalledWithNetworkConnectivity() throws Exception { public void onSyncCalledWithNetworkConnectivity() throws Exception {
forceConnectionType(ConnectionType.CONNECTION_NONE); forceConnectionType(ConnectionType.CONNECTION_NONE);
......
...@@ -107,6 +107,10 @@ bool BackgroundSyncDelegateImpl::ShouldDisableBackgroundSync() { ...@@ -107,6 +107,10 @@ bool BackgroundSyncDelegateImpl::ShouldDisableBackgroundSync() {
return BackgroundSyncLauncherAndroid::ShouldDisableBackgroundSync(); return BackgroundSyncLauncherAndroid::ShouldDisableBackgroundSync();
} }
bool BackgroundSyncDelegateImpl::ShouldDisableAndroidNetworkDetection() {
return false;
}
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
void BackgroundSyncDelegateImpl::OnEngagementEvent( void BackgroundSyncDelegateImpl::OnEngagementEvent(
......
...@@ -47,6 +47,7 @@ class BackgroundSyncDelegateImpl ...@@ -47,6 +47,7 @@ class BackgroundSyncDelegateImpl
base::TimeDelta delay) override; base::TimeDelta delay) override;
void CancelBrowserWakeup(blink::mojom::BackgroundSyncType sync_type) override; void CancelBrowserWakeup(blink::mojom::BackgroundSyncType sync_type) override;
bool ShouldDisableBackgroundSync() override; bool ShouldDisableBackgroundSync() override;
bool ShouldDisableAndroidNetworkDetection() override;
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
// SiteEngagementObserver overrides. // SiteEngagementObserver overrides.
......
...@@ -190,6 +190,18 @@ void BackgroundSyncControllerImpl::GetParameterOverrides( ...@@ -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; return;
} }
......
...@@ -67,6 +67,9 @@ class BackgroundSyncDelegate { ...@@ -67,6 +67,9 @@ class BackgroundSyncDelegate {
// Whether Background Sync should be disabled. // Whether Background Sync should be disabled.
virtual bool ShouldDisableBackgroundSync() = 0; virtual bool ShouldDisableBackgroundSync() = 0;
// Whether to disable Android network detection for connectivity checks.
virtual bool ShouldDisableAndroidNetworkDetection() = 0;
#endif #endif
}; };
......
...@@ -86,6 +86,12 @@ bool BackgroundSyncDelegateImpl::ShouldDisableBackgroundSync() { ...@@ -86,6 +86,12 @@ bool BackgroundSyncDelegateImpl::ShouldDisableBackgroundSync() {
// Android L. // Android L.
return false; 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) #endif // defined(OS_ANDROID)
} // namespace weblayer } // namespace weblayer
...@@ -37,6 +37,7 @@ class BackgroundSyncDelegateImpl ...@@ -37,6 +37,7 @@ class BackgroundSyncDelegateImpl
base::TimeDelta delay) override; base::TimeDelta delay) override;
void CancelBrowserWakeup(blink::mojom::BackgroundSyncType sync_type) override; void CancelBrowserWakeup(blink::mojom::BackgroundSyncType sync_type) override;
bool ShouldDisableBackgroundSync() override; bool ShouldDisableBackgroundSync() override;
bool ShouldDisableAndroidNetworkDetection() override;
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
private: 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