From 62bbb89f02de5b7413032203bee5856fe4bb79c1 Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Mon, 14 Dec 2020 22:46:56 -0800 Subject: [PATCH] fix: return object instead of enum from defaultBrowserType (#129) --- .../java/com/microsoft/playwright/DeviceDescriptor.java | 1 - .../microsoft/playwright/impl/DeviceDescriptorImpl.java | 9 +++++---- .../com/microsoft/playwright/impl/PlaywrightImpl.java | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/playwright/src/main/java/com/microsoft/playwright/DeviceDescriptor.java b/playwright/src/main/java/com/microsoft/playwright/DeviceDescriptor.java index 3f7fdd9c..45472ebe 100644 --- a/playwright/src/main/java/com/microsoft/playwright/DeviceDescriptor.java +++ b/playwright/src/main/java/com/microsoft/playwright/DeviceDescriptor.java @@ -26,6 +26,5 @@ public interface DeviceDescriptor { int deviceScaleFactor(); boolean isMobile(); boolean hasTouch(); - enum BrowserType { CHROMIUM, FIREFOX, WEBKIT} BrowserType defaultBrowserType(); } diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/DeviceDescriptorImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/DeviceDescriptorImpl.java index 09d9e182..f3951a55 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/DeviceDescriptorImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/DeviceDescriptorImpl.java @@ -16,10 +16,12 @@ package com.microsoft.playwright.impl; +import com.microsoft.playwright.BrowserType; import com.microsoft.playwright.DeviceDescriptor; import com.microsoft.playwright.PlaywrightException; class DeviceDescriptorImpl implements DeviceDescriptor { + PlaywrightImpl playwright; private static class ViewportImpl implements Viewport{ private int width; private int height; @@ -39,7 +41,6 @@ class DeviceDescriptorImpl implements DeviceDescriptor { private int deviceScaleFactor; private boolean isMobile; private boolean hasTouch; - // 'chromium' | 'firefox' | 'webkit' private String defaultBrowserType; @Override @@ -70,9 +71,9 @@ class DeviceDescriptorImpl implements DeviceDescriptor { @Override public BrowserType defaultBrowserType() { switch (defaultBrowserType) { - case "chromium": return BrowserType.CHROMIUM; - case "firefox": return BrowserType.FIREFOX; - case "webkit": return BrowserType.WEBKIT; + case "chromium": return playwright.chromium(); + case "firefox": return playwright.firefox(); + case "webkit": return playwright.webkit(); default: throw new PlaywrightException("Unknown type: " + defaultBrowserType); } } diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/PlaywrightImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/PlaywrightImpl.java index 4a0d91f2..625f8c35 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/PlaywrightImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/PlaywrightImpl.java @@ -67,6 +67,7 @@ public class PlaywrightImpl extends ChannelOwner implements Playwright { JsonObject o = item.getAsJsonObject(); String name = o.get("name").getAsString(); DeviceDescriptorImpl descriptor = gson.fromJson(o.get("descriptor"), DeviceDescriptorImpl.class); + descriptor.playwright = this; devices.put(name, descriptor); } }