diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/BrowserContextImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/BrowserContextImpl.java index 6cfd6e68..2a94d730 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/BrowserContextImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/BrowserContextImpl.java @@ -62,7 +62,7 @@ class BrowserContextImpl extends ChannelOwner implements BrowserContext { throw new RuntimeException("Already closing"); } isClosedOrClosing = true; - sendMessage("close", new JsonObject()); + sendMessage("close"); } @Override @@ -136,9 +136,8 @@ class BrowserContextImpl extends ChannelOwner implements BrowserContext { if (ownerPage != null) { throw new RuntimeException("Please use browser.newContext()"); } - JsonObject params = new JsonObject(); - JsonElement result = sendMessage("newPage", params); - return connection.getExistingObject(result.getAsJsonObject().getAsJsonObject("page").get("guid").getAsString()); + JsonObject json = sendMessage("newPage").getAsJsonObject(); + return connection.getExistingObject(json.getAsJsonObject("page").get("guid").getAsString()); } @Override diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/BrowserImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/BrowserImpl.java index 05960bba..5f30ebe7 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/BrowserImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/BrowserImpl.java @@ -46,7 +46,7 @@ class BrowserImpl extends ChannelOwner implements Browser { @Override public void close() { - sendMessage("close", new JsonObject()); + sendMessage("close"); } @Override diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/ChannelOwner.java b/playwright/src/main/java/com/microsoft/playwright/impl/ChannelOwner.java index 21054dbf..5a766e51 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/ChannelOwner.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/ChannelOwner.java @@ -60,15 +60,22 @@ class ChannelOwner { return connection.sendMessageAsync(guid, method, params); } + JsonElement sendMessage(String method) { + return sendMessage(method, new JsonObject()); + } + JsonElement sendMessage(String method, JsonObject params) { return connection.sendMessage(guid, method, params); } + void sendMessageNoWait(String method) { + sendMessageNoWait(method, new JsonObject()); + } + void sendMessageNoWait(String method, JsonObject params) { connection.sendMessageNoWait(guid, method, params); } - @SuppressWarnings("unchecked") Deferred toDeferred(Waitable waitable) { return () -> { while (!waitable.isDone()) { diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/DialogImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/DialogImpl.java index 83de4673..7c8229dd 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/DialogImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/DialogImpl.java @@ -37,7 +37,7 @@ public class DialogImpl extends ChannelOwner implements Dialog { @Override public void dismiss() { handled = true; - sendMessageNoWait("dismiss", new JsonObject()); + sendMessageNoWait("dismiss"); } @Override diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/DownloadImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/DownloadImpl.java index 194046df..8f2f4700 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/DownloadImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/DownloadImpl.java @@ -42,12 +42,12 @@ public class DownloadImpl extends ChannelOwner implements Download { @Override public void delete() { - sendMessage("delete", new JsonObject()); + sendMessage("delete"); } @Override public String failure() { - JsonObject result = sendMessage("failure", new JsonObject()).getAsJsonObject(); + JsonObject result = sendMessage("failure").getAsJsonObject(); if (result.has("error")) { return result.get("error").getAsString(); } @@ -56,8 +56,7 @@ public class DownloadImpl extends ChannelOwner implements Download { @Override public String path() { - JsonObject params = new JsonObject(); - JsonElement result = sendMessage("path", params); + JsonElement result = sendMessage("path"); return result.getAsJsonObject().get("path").getAsString(); } diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/ElementHandleImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/ElementHandleImpl.java index 05bb2716..ba631a7b 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/ElementHandleImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/ElementHandleImpl.java @@ -92,7 +92,7 @@ class ElementHandleImpl extends JSHandleImpl implements ElementHandle { @Override public BoundingBox boundingBox() { - JsonObject json = sendMessage("boundingBox", new JsonObject()).getAsJsonObject(); + JsonObject json = sendMessage("boundingBox").getAsJsonObject(); if (!json.has("value")) { return null; } @@ -129,7 +129,7 @@ class ElementHandleImpl extends JSHandleImpl implements ElementHandle { @Override public Frame contentFrame() { - JsonObject json = sendMessage("contentFrame", new JsonObject()).getAsJsonObject(); + JsonObject json = sendMessage("contentFrame").getAsJsonObject(); if (!json.has("frame")) { return null; } @@ -175,7 +175,7 @@ class ElementHandleImpl extends JSHandleImpl implements ElementHandle { @Override public void focus() { - sendMessage("focus", new JsonObject()); + sendMessage("focus"); } @Override @@ -198,19 +198,19 @@ class ElementHandleImpl extends JSHandleImpl implements ElementHandle { @Override public String innerHTML() { - JsonObject json = sendMessage("innerHTML", new JsonObject()).getAsJsonObject(); + JsonObject json = sendMessage("innerHTML").getAsJsonObject(); return json.get("value").getAsString(); } @Override public String innerText() { - JsonObject json = sendMessage("innerText", new JsonObject()).getAsJsonObject(); + JsonObject json = sendMessage("innerText").getAsJsonObject(); return json.get("value").getAsString(); } @Override public Frame ownerFrame() { - JsonObject json = sendMessage("ownerFrame", new JsonObject()).getAsJsonObject(); + JsonObject json = sendMessage("ownerFrame").getAsJsonObject(); if (!json.has("frame")) { return null; } @@ -263,7 +263,7 @@ class ElementHandleImpl extends JSHandleImpl implements ElementHandle { @Override public String textContent() { - JsonObject json = sendMessage("textContent", new JsonObject()).getAsJsonObject(); + JsonObject json = sendMessage("textContent").getAsJsonObject(); return json.has("value") ? json.get("value").getAsString() : null; } diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/FrameImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/FrameImpl.java index ecf23cfc..09b1ee0c 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/FrameImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/FrameImpl.java @@ -215,7 +215,7 @@ public class FrameImpl extends ChannelOwner implements Frame { @Override public String content() { - return sendMessage("content", new JsonObject()).getAsJsonObject().get("value").getAsString(); + return sendMessage("content").getAsJsonObject().get("value").getAsString(); } @Override @@ -404,7 +404,7 @@ public class FrameImpl extends ChannelOwner implements Frame { @Override public String title() { - JsonElement json = sendMessage("title", new JsonObject()); + JsonElement json = sendMessage("title"); return json.getAsJsonObject().get("value").getAsString(); } diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/JSHandleImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/JSHandleImpl.java index edc4b636..44902f02 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/JSHandleImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/JSHandleImpl.java @@ -64,7 +64,7 @@ public class JSHandleImpl extends ChannelOwner implements JSHandle { @Override public Map getProperties() { - JsonObject json = sendMessage("getPropertyList", new JsonObject()).getAsJsonObject(); + JsonObject json = sendMessage("getPropertyList").getAsJsonObject(); Map result = new HashMap<>(); for (JsonElement e : json.getAsJsonArray("properties")) { JsonObject item = e.getAsJsonObject(); @@ -84,7 +84,7 @@ public class JSHandleImpl extends ChannelOwner implements JSHandle { @Override public Object jsonValue() { - JsonObject json = sendMessage("jsonValue", new JsonObject()).getAsJsonObject(); + JsonObject json = sendMessage("jsonValue").getAsJsonObject(); SerializedValue value = new Gson().fromJson(json.get("value"), SerializedValue.class); return deserialize(value); } diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/PageImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/PageImpl.java index 6a4c5945..cbe7b803 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/PageImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/PageImpl.java @@ -226,7 +226,7 @@ public class PageImpl extends ChannelOwner implements Page { @Override public void bringToFront() { - sendMessage("bringToFront", new JsonObject()); + sendMessage("bringToFront"); } @Override @@ -454,7 +454,7 @@ public class PageImpl extends ChannelOwner implements Page { @Override public Page opener() { - JsonObject result = sendMessage("opener", new JsonObject()).getAsJsonObject(); + JsonObject result = sendMessage("opener").getAsJsonObject(); if (!result.has("page")) { return null; } diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/RequestImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/RequestImpl.java index dd4afcdd..7747a8ae 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/RequestImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/RequestImpl.java @@ -102,7 +102,7 @@ public class RequestImpl extends ChannelOwner implements Request { @Override public Response response() { - JsonObject result = sendMessage("response", new JsonObject()).getAsJsonObject(); + JsonObject result = sendMessage("response").getAsJsonObject(); if (!result.has("response")) { return null; } diff --git a/playwright/src/test/java/com/microsoft/playwright/TestElementHandleBoundingBox.java b/playwright/src/test/java/com/microsoft/playwright/TestElementHandleBoundingBox.java index ddc0e803..0b6ef88f 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestElementHandleBoundingBox.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestElementHandleBoundingBox.java @@ -77,6 +77,7 @@ public class TestElementHandleBoundingBox extends TestBase { ""); ElementHandle element = page.querySelector("#therect"); ElementHandle.BoundingBox pwBoundingBox = element.boundingBox(); + @SuppressWarnings("unchecked") Map webBoundingBox = (Map) page.evaluate("e => {\n" + " const rect = e.getBoundingClientRect();\n" + " return { x: rect.x, y: rect.y, width: rect.width, height: rect.height };\n" + @@ -133,6 +134,7 @@ public class TestElementHandleBoundingBox extends TestBase { "woofdoggo"); ElementHandle handle = page.querySelector("span"); ElementHandle.BoundingBox pwBoundingBox = handle.boundingBox(); + @SuppressWarnings("unchecked") Map webBoundingBox = (Map) handle.evaluate("e => {\n" + " const rect = e.getBoundingClientRect();\n" + " return { x: rect.x, y: rect.y, width: rect.width, height: rect.height };\n" +