1
0
mirror of synced 2026-08-05 15:06:54 +00:00

cherry-pick(#1314): fix: NPE after pause (#1315)

This commit is contained in:
Yury Semikhatsky
2023-06-20 12:34:33 -07:00
committed by GitHub
parent ef8656036f
commit 3ef0da1bb3
3 changed files with 14 additions and 6 deletions
@@ -445,6 +445,10 @@ class BrowserContextImpl extends ChannelOwner implements BrowserContext {
@Override
public void setDefaultNavigationTimeout(double timeout) {
setDefaultNavigationTimeoutImpl(timeout);
}
void setDefaultNavigationTimeoutImpl(Double timeout) {
withLogging("BrowserContext.setDefaultNavigationTimeout", () -> {
timeoutSettings.setDefaultNavigationTimeout(timeout);
JsonObject params = new JsonObject();
@@ -455,6 +459,10 @@ class BrowserContextImpl extends ChannelOwner implements BrowserContext {
@Override
public void setDefaultTimeout(double timeout) {
setDefaultTimeoutImpl(timeout);
}
void setDefaultTimeoutImpl(Double timeout) {
withLogging("BrowserContext.setDefaultTimeout", () -> {
timeoutSettings.setDefaultTimeout(timeout);
JsonObject params = new JsonObject();
@@ -938,13 +938,13 @@ public class PageImpl extends ChannelOwner implements Page {
withLogging("Page.pause", () -> {
Double defaultNavigationTimeout = browserContext.timeoutSettings.defaultNavigationTimeout();
Double defaultTimeout = browserContext.timeoutSettings.defaultTimeout();
browserContext.setDefaultNavigationTimeout(0);
browserContext.setDefaultTimeout(0);
browserContext.setDefaultNavigationTimeoutImpl(0.0);
browserContext.setDefaultTimeoutImpl(0.0);
try {
runUntil(() -> {}, new WaitableRace<>(asList(context().pause(), (Waitable<JsonElement>) waitableClosedOrCrashed)));
} finally {
browserContext.setDefaultNavigationTimeout(defaultNavigationTimeout);
browserContext.setDefaultTimeout(defaultTimeout);
browserContext.setDefaultNavigationTimeoutImpl(defaultNavigationTimeout);
browserContext.setDefaultTimeoutImpl(defaultTimeout);
}
});
}
@@ -37,11 +37,11 @@ class TimeoutSettings {
return defaultNavigationTimeout;
}
void setDefaultTimeout(double timeout) {
void setDefaultTimeout(Double timeout) {
defaultTimeout = timeout;
}
void setDefaultNavigationTimeout(double timeout) {
void setDefaultNavigationTimeout(Double timeout) {
defaultNavigationTimeout = timeout;
}