From 11b4356c3e59843bf22fd6051e736795d472c00f Mon Sep 17 00:00:00 2001
From: "t.ogata" <ogata.toshitaka@fujitsu.com>
Date: Fri, 18 Oct 2024 16:12:46 +0900
Subject: [PATCH 1/2] Backport fbeac98c84078a566c572abeba07c49e94bbf26b

---
 .../dnd/{URLDragTest => }/URLDragTest.java    | 74 ++++++++++---------
 .../java/awt/dnd/URLDragTest/URLDragTest.html | 45 -----------
 2 files changed, 40 insertions(+), 79 deletions(-)
 rename test/jdk/java/awt/dnd/{URLDragTest => }/URLDragTest.java (56%)
 delete mode 100644 test/jdk/java/awt/dnd/URLDragTest/URLDragTest.html

diff --git a/test/jdk/java/awt/dnd/URLDragTest/URLDragTest.java b/test/jdk/java/awt/dnd/URLDragTest.java
similarity index 56%
rename from test/jdk/java/awt/dnd/URLDragTest/URLDragTest.java
rename to test/jdk/java/awt/dnd/URLDragTest.java
index 98933327c1a..cf80339c861 100644
--- a/test/jdk/java/awt/dnd/URLDragTest/URLDragTest.java
+++ b/test/jdk/java/awt/dnd/URLDragTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2024, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -21,20 +21,8 @@
  * questions.
  */
 
-/*
-  test
-  @bug 8031964
-  @summary Dragging images from the browser does not work
-  @author Petr Pchelko : area=dnd
-  @library ../../regtesthelpers
-  @build Sysout
-  @run applet/manual=yesno URLDragTest.html
-*/
-
-import test.java.awt.regtesthelpers.Sysout;
-
-import java.applet.Applet;
-import java.awt.*;
+import java.awt.Color;
+import java.awt.Frame;
 import java.awt.datatransfer.DataFlavor;
 import java.awt.dnd.DnDConstants;
 import java.awt.dnd.DropTarget;
@@ -42,13 +30,41 @@
 import java.awt.dnd.DropTargetDragEvent;
 import java.awt.dnd.DropTargetDropEvent;
 
-public class URLDragTest extends Applet {
+/*
+ * @test
+ * @bug 8031964
+ * @summary Dragging images from the browser does not work.
+ * @library /java/awt/regtesthelpers
+ * @build PassFailJFrame
+ * @run main/manual URLDragTest
+*/
+
+public class URLDragTest {
+    private static final String INSTRUCTIONS = """
+            1) When the test starts, open any browser.
+            2) Drag any image from the browser page onto the RED window.
+            3) When the image is dropped you should see the list of available
+               DataFlavors in the log area below the instruction window.
+            4) If you see application/x-java-url and text/uri-list flavors in
+               the logs then please press PASS, else FAIL.
+            """;
 
+    public static void main(String[] args) throws Exception {
+        PassFailJFrame.builder()
+                .title("Test Instructions")
+                .instructions(INSTRUCTIONS)
+                .rows((int) INSTRUCTIONS.lines().count() + 2)
+                .columns(40)
+                .logArea(8)
+                .testUI(URLDragTest::createUI)
+                .build()
+                .awaitAndCheck();
+    }
 
-    @Override
-    public void init() {
-        setBackground(Color.red);
-        setDropTarget(new DropTarget(this,
+    private static Frame createUI() {
+        Frame frame = new Frame("Browser Image DnD Test");
+        frame.setBackground(Color.RED);
+        frame.setDropTarget(new DropTarget(frame,
                 DnDConstants.ACTION_COPY,
                 new DropTargetAdapter() {
                     @Override
@@ -67,22 +83,12 @@ public void drop(DropTargetDropEvent dtde) {
                         dtde.getCurrentDataFlavorsAsList()
                                 .stream()
                                 .map(DataFlavor::toString)
-                                .forEach(Sysout::println);
+                                .forEach(PassFailJFrame::log);
                     }
                 }));
 
-        String[] instructions = {
-                "1) Open the browser.",
-                "2) Drag any image from the browser page to the red square",
-                "3) When the image is dropped you should se the list of available DataFlavors",
-                "4) If you see application/x-java-url and text/uri-list flavors - test PASSED",
-                "5) Otherwise the test is FAILED"};
-        Sysout.createDialogWithInstructions(instructions);
-    }
-
-    @Override
-    public void start() {
-        setSize(200, 200);
-        setVisible(true);
+        frame.setSize(400, 200);
+        frame.setAlwaysOnTop(true);
+        return frame;
     }
 }
diff --git a/test/jdk/java/awt/dnd/URLDragTest/URLDragTest.html b/test/jdk/java/awt/dnd/URLDragTest/URLDragTest.html
deleted file mode 100644
index 0ff497ae233..00000000000
--- a/test/jdk/java/awt/dnd/URLDragTest/URLDragTest.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
- Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- This code is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License version 2 only, as
- published by the Free Software Foundation.
-
- This code is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- version 2 for more details (a copy is included in the LICENSE file that
- accompanied this code).
-
- You should have received a copy of the GNU General Public License version
- 2 along with this work; if not, write to the Free Software Foundation,
- Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- or visit www.oracle.com if you need additional information or have any
- questions.
--->
-
-<html>
-<!--  
-  @test
-  @bug 8031964
-  @summary Dragging images from the browser does not work
-  @author Petr Pchelko : area=dnd
-  @library ../../regtesthelpers
-  @build Sysout
-  @run applet/manual=yesno URLDragTest.html
--->
-<head>
-<title> DnD of URL across JVM </title>
-</head>
-<body>
-
-<h1>URLDragTest<br>Bug ID: 8031964</h1>
-
-<p> This is an AUTOMATIC test, simply wait for completion </p>
-
-<APPLET CODE="URLDragTest.class" WIDTH=200 HEIGHT=200></APPLET>
-</body>
-</html>

From 9086c76b194dd2787cb300212ae0ba12598467d5 Mon Sep 17 00:00:00 2001
From: "t.ogata" <ogata.toshitaka@fujitsu.com>
Date: Fri, 18 Oct 2024 16:43:48 +0900
Subject: [PATCH 2/2] Replace a text block with string literals

---
 test/jdk/java/awt/dnd/URLDragTest.java | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/test/jdk/java/awt/dnd/URLDragTest.java b/test/jdk/java/awt/dnd/URLDragTest.java
index cf80339c861..99d85fe5dad 100644
--- a/test/jdk/java/awt/dnd/URLDragTest.java
+++ b/test/jdk/java/awt/dnd/URLDragTest.java
@@ -40,14 +40,13 @@
 */
 
 public class URLDragTest {
-    private static final String INSTRUCTIONS = """
-            1) When the test starts, open any browser.
-            2) Drag any image from the browser page onto the RED window.
-            3) When the image is dropped you should see the list of available
-               DataFlavors in the log area below the instruction window.
-            4) If you see application/x-java-url and text/uri-list flavors in
-               the logs then please press PASS, else FAIL.
-            """;
+    private static final String INSTRUCTIONS =
+            "1) When the test starts, open any browser.\n" +
+            "2) Drag any image from the browser page onto the RED window.\n" +
+            "3) When the image is dropped you should see the list of available\n" +
+            "   DataFlavors in the log area below the instruction window.\n" +
+            "4) If you see application/x-java-url and text/uri-list flavors in\n" +
+            "   the logs then please press PASS, else FAIL.\n";
 
     public static void main(String[] args) throws Exception {
         PassFailJFrame.builder()