diff --git a/lib/PuppeteerSharp.Nunit/TestExpectations/TestExpectations.upstream.json b/lib/PuppeteerSharp.Nunit/TestExpectations/TestExpectations.upstream.json index 87ec9bb77..ee5163067 100644 --- a/lib/PuppeteerSharp.Nunit/TestExpectations/TestExpectations.upstream.json +++ b/lib/PuppeteerSharp.Nunit/TestExpectations/TestExpectations.upstream.json @@ -679,7 +679,7 @@ { "testIdPattern": "[page.spec] Page Page.newPage should open pages in a new window at the specified position", "platforms": ["darwin", "linux", "win32"], - "parameters": ["webDriverBiDi"], + "parameters": ["firefox"], "expectations": ["FAIL"], "comment": "Not supported by WebDriver BiDi" }, @@ -693,7 +693,7 @@ { "testIdPattern": "[page.spec] Page Page.newPage should open pages in a new window in maximized state", "platforms": ["darwin", "linux", "win32"], - "parameters": ["webDriverBiDi"], + "parameters": ["firefox"], "expectations": ["FAIL"], "comment": "Not supported by WebDriver BiDi" }, diff --git a/lib/PuppeteerSharp/Bidi/BidiBrowserContext.cs b/lib/PuppeteerSharp/Bidi/BidiBrowserContext.cs index d21c5d8c9..88ed27211 100644 --- a/lib/PuppeteerSharp/Bidi/BidiBrowserContext.cs +++ b/lib/PuppeteerSharp/Bidi/BidiBrowserContext.cs @@ -40,12 +40,14 @@ public class BidiBrowserContext : BrowserContext private readonly ConcurrentDictionary _pages = []; private readonly ConcurrentDictionary _targets = new(); private readonly List<(string Origin, OverridePermission Permission)> _overrides = []; + private readonly ILogger _logger; private BidiBrowserContext(BidiBrowser browser, UserContext userContext, BidiBrowserContextOptions options) { UserContext = userContext; Browser = browser; DefaultViewport = options.DefaultViewport; + _logger = browser.LoggerFactory?.CreateLogger(); } internal ViewPortOptions DefaultViewport { get; set; } @@ -144,16 +146,25 @@ public override async Task NewPageAsync(CreatePageOptions options = null) { await page.SetViewportAsync(DefaultViewport).ConfigureAwait(false); } - catch + catch (Exception ex) { - // No support for setViewport in Firefox. + // Tolerate not supporting browsingContext.setViewport. Only log it. + _logger?.LogDebug(ex, "Failed to set viewport"); } } if (options?.Type == CreatePageType.Window && options?.WindowBounds != null) { - var windowId = await page.WindowIdAsync().ConfigureAwait(false); - await Browser.SetWindowBoundsAsync(windowId, options.WindowBounds).ConfigureAwait(false); + try + { + var windowId = await page.WindowIdAsync().ConfigureAwait(false); + await Browser.SetWindowBoundsAsync(windowId, options.WindowBounds).ConfigureAwait(false); + } + catch (Exception ex) + { + // Tolerate not supporting browser.setClientWindowState. Only log it. + _logger?.LogDebug(ex, "Failed to set window bounds"); + } } return page;