Merge
authorpsadhukhan
Mon, 22 Jul 2019 11:08:27 +0530
changeset 57924 ce786c3f1f1c
parent 57525 c8ca09de211b (diff)
parent 55752 8ae33203d600 (current diff)
child 57925 e28ccaff2f84
Merge
src/hotspot/share/gc/z/zOopClosures.cpp
src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp
src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp
src/java.base/share/classes/jdk/internal/access/JavaNetSocketAccess.java
src/java.base/share/classes/jdk/internal/access/JavaNetURLClassLoaderAccess.java
test/jdk/ProblemList.txt
test/jdk/sun/misc/ClassLoaderUtil/test.jar
test/jdk/sun/security/tools/keytool/DefaultSignatureAlgorithm.java
test/jdk/sun/security/tools/keytool/pss/PSS.java
test/jdk/sun/security/tools/keytool/pss/java.base/sun/security/rsa/RSAKeyPairGenerator.java
--- a/src/demo/share/jfc/SwingSet2/TreeDemo.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/src/demo/share/jfc/SwingSet2/TreeDemo.java	Mon Jul 22 11:08:27 2019 +0530
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -74,7 +74,7 @@
 
     public JScrollPane createTree() {
         DefaultMutableTreeNode top = new DefaultMutableTreeNode(getString("TreeDemo.music"));
-        DefaultMutableTreeNode catagory = null ;
+        DefaultMutableTreeNode category = null;
         DefaultMutableTreeNode artist = null;
         DefaultMutableTreeNode record = null;
 
@@ -94,12 +94,12 @@
                 char linetype = line.charAt(0);
                 switch(linetype) {
                    case 'C':
-                     catagory = new DefaultMutableTreeNode(line.substring(2));
-                     top.add(catagory);
+                     category = new DefaultMutableTreeNode(line.substring(2));
+                     top.add(category);
                      break;
                    case 'A':
-                     if(catagory != null) {
-                         catagory.add(artist = new DefaultMutableTreeNode(line.substring(2)));
+                     if(category != null) {
+                         category.add(artist = new DefaultMutableTreeNode(line.substring(2)));
                      }
                      break;
                    case 'R':
--- a/src/demo/share/jfc/SwingSet2/resources/tree.txt	Fri Jul 19 16:47:11 2019 -0400
+++ b/src/demo/share/jfc/SwingSet2/resources/tree.txt	Mon Jul 22 11:08:27 2019 +0530
@@ -8,7 +8,7 @@
 # A = Artist    / Composer                                                     #
 # R = Record    / Style                                                        #
 # S = Song Name / Composition                                                  #
-# C = Catagory                                                                 #
+# C = Category                                                                 #
 #                                                                              #
 ################################################################################
 C Classical
@@ -195,49 +195,49 @@
 A The Beatles
 R A Hard Day's Night
 S A Hard Day's Night
-S I Should Have Known Better 
-S If I Fell 
-S I'm Happy Just To Dance With You 
-S And I Love Her 
-S Tell Me Why 
-S Can't Buy Me Love 
-S Any Time At All 
-S I'll Cry Instead 
-S Things We Said Today 
-S When I Get Home 
-S You Can't Do That 
+S I Should Have Known Better
+S If I Fell
+S I'm Happy Just To Dance With You
+S And I Love Her
+S Tell Me Why
+S Can't Buy Me Love
+S Any Time At All
+S I'll Cry Instead
+S Things We Said Today
+S When I Get Home
+S You Can't Do That
 R Beatles For Sale
-S No Reply 
-S I'm a Loser 
-S Baby's In Black 
-S Rock And Roll Music 
-S I'll Follow the Sun 
-S Mr. Moonlight 
-S Kansas City/Hey Hey Hey Hey 
-S Eight Days a Week 
-S Words Of Love 
-S Honey Don't 
-S Every Little Thing 
-S I Don't Want To Spoil the Party 
-S What You're Doing 
-S Everybody's Trying To Be My Baby 
+S No Reply
+S I'm a Loser
+S Baby's In Black
+S Rock And Roll Music
+S I'll Follow the Sun
+S Mr. Moonlight
+S Kansas City/Hey Hey Hey Hey
+S Eight Days a Week
+S Words Of Love
+S Honey Don't
+S Every Little Thing
+S I Don't Want To Spoil the Party
+S What You're Doing
+S Everybody's Trying To Be My Baby
 R Help!
-S Help! 
-S The Night Before 
-S You've Got To Hide Your Love Away 
-S I Need You 
-S Another Girl 
-S You're Going To Lose That Girl 
-S Ticket To Ride 
-S Act Naturally 
-S It's Only Love 
-S You Like Me Too Much 
-S Tell Me What You See 
-S I've Just Seen a Face 
-S Yesterday 
-S Dizzy Miss Lizzie 
+S Help!
+S The Night Before
+S You've Got To Hide Your Love Away
+S I Need You
+S Another Girl
+S You're Going To Lose That Girl
+S Ticket To Ride
+S Act Naturally
+S It's Only Love
+S You Like Me Too Much
+S Tell Me What You See
+S I've Just Seen a Face
+S Yesterday
+S Dizzy Miss Lizzie
 R Rubber Soul
-S Drive My Car 
+S Drive My Car
 S Norwegian Wood
 S You Won't See Me
 S Nowhere Man
@@ -245,27 +245,27 @@
 S The Word
 S Michelle
 S What Goes On?
-S Girl 
-S I'm Looking Through You 
-S In My Life 
-S Wait 
-S If I Needed Someone 
-S Run For Your Life 
+S Girl
+S I'm Looking Through You
+S In My Life
+S Wait
+S If I Needed Someone
+S Run For Your Life
 R Revolver
-S Taxman 
-S Rigby 
-S I'm Only Sleeping 
-S For You To 
-S Here There And Everywhere 
+S Taxman
+S Rigby
+S I'm Only Sleeping
+S For You To
+S Here There And Everywhere
 S Yellow Submarine
-S She Said She Said 
-S Good Day Sunshine 
-S And Your Bird Can Sing 
-S For No One 
-S Doctor Robert 
-S I Want To Tell You 
-S Got To Get You Into My Life 
-S Tomorrow Never Knows 
+S She Said She Said
+S Good Day Sunshine
+S And Your Bird Can Sing
+S For No One
+S Doctor Robert
+S I Want To Tell You
+S Got To Get You Into My Life
+S Tomorrow Never Knows
 R Sgt. Pepper's Lonely Hearts Club Band
 S Sgt. Pepper's Lonely Hearts Club Band
 S With a Little Help From My Friends
@@ -554,35 +554,35 @@
 S What A Life
 A Komeda
 R Plan 714 Till
-S Fuego De La Vida 
-S Herbamore 
-S Som I Fjol 
+S Fuego De La Vida
+S Herbamore
+S Som I Fjol
 S En Spricka I Taket
 R Genius Of
-S More Is More 
-S Fire 
-S Rocket Plane (Music On The Moon) 
-S Boogie Woogie/Rock 'N' Roll 
-S Disko 
-S Top Star 
-S Light O' My Life 
-S If 
-S Frolic 
-S In Orbit 
-S Arbogast 
+S More Is More
+S Fire
+S Rocket Plane (Music On The Moon)
+S Boogie Woogie/Rock 'N' Roll
+S Disko
+S Top Star
+S Light O' My Life
+S If
+S Frolic
+S In Orbit
+S Arbogast
 S New New No
 R What Makes It Go
-S Binario 
-S It's Alright, Baby 
-S Curious 
-S Cul de Sac 
-S Living Things 
-S Flabbergast 
-S Campfire 
-S Happyment 
-S Our Hospitality 
-S Focus 
-S A Simple Formality 
+S Binario
+S It's Alright, Baby
+S Curious
+S Cul de Sac
+S Living Things
+S Flabbergast
+S Campfire
+S Happyment
+S Our Hospitality
+S Focus
+S A Simple Formality
 A Steve Miller Band
 R Circle Of Love
 S Heart Like A Wheel
--- a/src/java.desktop/unix/classes/sun/awt/X11/XFontPeer.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XFontPeer.java	Mon Jul 22 11:08:27 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, 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
@@ -22,31 +22,14 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 package sun.awt.X11;
 
 import sun.awt.PlatformFont;
-import java.awt.GraphicsEnvironment;
-
-public class XFontPeer extends PlatformFont {
-
-    /*
-     * XLFD name for XFontSet.
-     */
-    private String xfsname;
 
-    static {
-        if (!GraphicsEnvironment.isHeadless()) {
-            initIDs();
-        }
-    }
+final class XFontPeer extends PlatformFont {
 
-    /**
-     * Initialize JNI field and method IDs for fields that may be
-       accessed from C.
-     */
-    private static native void initIDs();
-
-    public XFontPeer(String name, int style){
+    XFontPeer(final String name, final int style) {
         super(name, style);
     }
 
--- a/src/java.desktop/unix/native/common/awt/awt_Font.c	Fri Jul 19 16:47:11 2019 -0400
+++ b/src/java.desktop/unix/native/common/awt/awt_Font.c	Mon Jul 22 11:08:27 2019 +0530
@@ -35,7 +35,6 @@
 #include "awt_Font.h"
 
 #include "java_awt_Dimension.h"
-#include "multi_font.h"
 #include "Disposer.h"
 #endif /* !HEADLESS */
 #include <jni.h>
@@ -436,269 +435,6 @@
     return 1;
 }
 
-struct FontData *
-awtJNI_GetFontData(JNIEnv * env, jobject font, char **errmsg)
-{
-    /* We are going to create at most 4 outstanding local refs in this
-     * function. */
-    if ((*env)->EnsureLocalCapacity(env, 4) < 0) {
-        return NULL;
-    }
-
-    if (!JNU_IsNull(env, font) && awtJNI_IsMultiFont(env, font)) {
-        JNU_CHECK_EXCEPTION_RETURN(env, NULL);
-
-        struct FontData *fdata = NULL;
-        int32_t i, size;
-        char *fontsetname = NULL;
-        char *nativename = NULL;
-        Boolean doFree = FALSE;
-        jobjectArray componentFonts = NULL;
-        jobject peer = NULL;
-        jobject fontDescriptor = NULL;
-        jstring fontDescriptorName = NULL;
-        jstring charsetName = NULL;
-
-        fdata = (struct FontData *) JNU_GetLongFieldAsPtr(env,font,
-                                                         fontIDs.pData);
-
-        if (fdata != NULL && fdata->flist != NULL) {
-            return fdata;
-        }
-        size = (*env)->GetIntField(env, font, fontIDs.size);
-        fdata = (struct FontData *) malloc(sizeof(struct FontData));
-
-        peer = (*env)->CallObjectMethod(env, font, fontIDs.getPeer);
-
-        componentFonts =
-          (*env)->GetObjectField(env, peer, platformFontIDs.componentFonts);
-        /* We no longer need peer */
-        (*env)->DeleteLocalRef(env, peer);
-
-        fdata->charset_num = (*env)->GetArrayLength(env, componentFonts);
-
-        fdata->flist = (awtFontList *) malloc(sizeof(awtFontList)
-                                              * fdata->charset_num);
-        fdata->xfont = NULL;
-        for (i = 0; i < fdata->charset_num; i++) {
-            /*
-             * set xlfd name
-             */
-
-            fontDescriptor = (*env)->GetObjectArrayElement(env, componentFonts, i);
-            fontDescriptorName =
-              (*env)->GetObjectField(env, fontDescriptor,
-                                     fontDescriptorIDs.nativeName);
-
-            if (!JNU_IsNull(env, fontDescriptorName)) {
-                nativename = (char *) JNU_GetStringPlatformChars(env, fontDescriptorName, NULL);
-                if (nativename == NULL) {
-                    nativename = "";
-                    doFree = FALSE;
-                } else {
-                    doFree = TRUE;
-                }
-            } else {
-                nativename = "";
-                doFree = FALSE;
-            }
-
-            fdata->flist[i].xlfd = malloc(strlen(nativename)
-                                          + strlen(defaultXLFD));
-            jio_snprintf(fdata->flist[i].xlfd, strlen(nativename) + 10,
-                         nativename, size * 10);
-
-            if (nativename != NULL && doFree)
-                JNU_ReleaseStringPlatformChars(env, fontDescriptorName, (const char *) nativename);
-
-            /*
-             * set charset_name
-             */
-
-            charsetName =
-              (*env)->GetObjectField(env, fontDescriptor,
-                                     fontDescriptorIDs.charsetName);
-
-            fdata->flist[i].charset_name = (char *)
-                JNU_GetStringPlatformChars(env, charsetName, NULL);
-            if (fdata->flist[i].charset_name == NULL) {
-                (*env)->ExceptionClear(env);
-                JNU_ThrowOutOfMemoryError(env, "Could not create charset name");
-                return NULL;
-            }
-
-            /* We are done with the objects. */
-            (*env)->DeleteLocalRef(env, fontDescriptor);
-            (*env)->DeleteLocalRef(env, fontDescriptorName);
-            (*env)->DeleteLocalRef(env, charsetName);
-
-            /*
-             * set load & XFontStruct
-             */
-            fdata->flist[i].load = 0;
-
-            /*
-             * This appears to be a bogus check.  The actual intent appears
-             * to be to find out whether this is the "base" font in a set,
-             * rather than iso8859_1 explicitly.  Note that iso8859_15 will
-             * and must also pass this test.
-             */
-
-            if (fdata->xfont == NULL &&
-                strstr(fdata->flist[i].charset_name, "8859_1")) {
-                fdata->flist[i].xfont =
-                    loadFont(awt_display, fdata->flist[i].xlfd, size * 10);
-                if (fdata->flist[i].xfont != NULL) {
-                    fdata->flist[i].load = 1;
-                    fdata->xfont = fdata->flist[i].xfont;
-                    fdata->flist[i].index_length = 1;
-                } else {
-                    /* Free any already allocated storage and fonts */
-                    int j = i;
-                    for (j = 0; j <= i; j++) {
-                        free((void *)fdata->flist[j].xlfd);
-                        JNU_ReleaseStringPlatformChars(env, NULL,
-                            fdata->flist[j].charset_name);
-                        if (fdata->flist[j].load) {
-                            XFreeFont(awt_display, fdata->flist[j].xfont);
-                        }
-                    }
-                    free((void *)fdata->flist);
-                    free((void *)fdata);
-
-                    if (errmsg != NULL) {
-                        *errmsg = "java/lang" "NullPointerException";
-                    }
-                    (*env)->DeleteLocalRef(env, componentFonts);
-                    return NULL;
-                }
-            }
-        }
-        (*env)->DeleteLocalRef(env, componentFonts);
-        /*
-         * XFontSet will create if the peer of TextField/TextArea
-         * are used.
-         */
-        fdata->xfs = NULL;
-
-        JNU_SetLongFieldFromPtr(env,font,fontIDs.pData,fdata);
-        Disposer_AddRecord(env, font, pDataDisposeMethod, ptr_to_jlong(fdata));
-        return fdata;
-    } else {
-        JNU_CHECK_EXCEPTION_RETURN(env, NULL);
-        Display *display = NULL;
-        struct FontData *fdata = NULL;
-        char fontSpec[1024];
-        int32_t height;
-        int32_t oheight;
-        int32_t above = 0;              /* tries above height */
-        int32_t below = 0;              /* tries below height */
-        char *foundry = NULL;
-        char *name = NULL;
-        char *encoding = NULL;
-        char *style = NULL;
-        XFontStruct *xfont = NULL;
-        jstring family = NULL;
-
-        if (JNU_IsNull(env, font)) {
-            if (errmsg != NULL) {
-                *errmsg = "java/lang" "NullPointerException";
-            }
-            return (struct FontData *) NULL;
-        }
-        display = XDISPLAY;
-
-        fdata = (struct FontData *) JNU_GetLongFieldAsPtr(env,font,fontIDs.pData);
-        if (fdata != NULL && fdata->xfont != NULL) {
-            return fdata;
-        }
-
-        family = (*env)->CallObjectMethod(env, font, fontIDs.getFamily);
-
-        if (!awtJNI_FontName(env, family, &foundry, &name, &encoding)) {
-            if (errmsg != NULL) {
-                *errmsg = "java/lang" "NullPointerException";
-            }
-            (*env)->DeleteLocalRef(env, family);
-            return (struct FontData *) NULL;
-        }
-        style = Style((*env)->GetIntField(env, font, fontIDs.style));
-        oheight = height = (*env)->GetIntField(env, font, fontIDs.size);
-
-        while (1) {
-            jio_snprintf(fontSpec, sizeof(fontSpec), "-%s-%s-%s-*-*-%d-*-*-*-*-*-%s",
-                         foundry,
-                         name,
-                         style,
-                         height,
-                         encoding);
-
-            /*fprintf(stderr,"LoadFont: %s\n", fontSpec); */
-            xfont = XLoadQueryFont(display, fontSpec);
-
-            /* XXX: sometimes XLoadQueryFont returns a bogus font structure */
-            /* with negative ascent. */
-            if (xfont == NULL || xfont->ascent < 0) {
-                if (xfont != NULL) {
-                    XFreeFont(display, xfont);
-                }
-                if (foundry != anyfoundry) {  /* Use ptr comparison here, not strcmp */
-                    /* Try any other foundry before messing with the sizes */
-                    foundry = anyfoundry;
-                    continue;
-                }
-                /* We couldn't find the font. We'll try to find an */
-                /* alternate by searching for heights above and below our */
-                /* preferred height. We try for 4 heights above and below. */
-                /* If we still can't find a font we repeat the algorithm */
-                /* using misc-fixed as the font. If we then fail, then we */
-                /* give up and signal an error. */
-                if (above == below) {
-                    above++;
-                    height = oheight + above;
-                } else {
-                    below++;
-                    if (below > 4) {
-                        if (name != defaultfontname || style != anystyle) {
-                            name = defaultfontname;
-                            foundry = defaultfoundry;
-                            height = oheight;
-                            style = anystyle;
-                            encoding = isolatin1;
-                            above = below = 0;
-                            continue;
-                        } else {
-                            if (errmsg != NULL) {
-                                *errmsg = "java/io/" "FileNotFoundException";
-                            }
-                            (*env)->DeleteLocalRef(env, family);
-                            return (struct FontData *) NULL;
-                        }
-                    }
-                    height = oheight - below;
-                }
-                continue;
-            } else {
-                fdata = ZALLOC(FontData);
-
-                if (fdata == NULL) {
-                    if (errmsg != NULL) {
-                        *errmsg = "java/lang" "OutOfMemoryError";
-                    }
-                } else {
-                    fdata->xfont = xfont;
-                    JNU_SetLongFieldFromPtr(env,font,fontIDs.pData,fdata);
-                    Disposer_AddRecord(env, font, pDataDisposeMethod,
-                                       ptr_to_jlong(fdata));
-                }
-                (*env)->DeleteLocalRef(env, family);
-                return fdata;
-            }
-        }
-        /* not reached */
-    }
-}
-
 /*
  * Registered with the 2D disposer to be called after the Font is GC'd.
  */
--- a/src/java.desktop/unix/native/common/awt/awt_Font.h	Fri Jul 19 16:47:11 2019 -0400
+++ b/src/java.desktop/unix/native/common/awt/awt_Font.h	Mon Jul 22 11:08:27 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2019, 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
@@ -34,11 +34,6 @@
     jmethodID getFamily;
 };
 
-/* fieldIDs for XFontPeer fields that may be accessed from C */
-struct XFontPeerIDs {
-    jfieldID xfsname;
-};
-
 /* fieldIDs for PlatformFont fields that may be accessed from C */
 struct PlatformFontIDs {
     jfieldID componentFonts;
--- a/src/java.desktop/unix/native/common/awt/awt_p.h	Fri Jul 19 16:47:11 2019 -0400
+++ b/src/java.desktop/unix/native/common/awt/awt_p.h	Mon Jul 22 11:08:27 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2019, 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
@@ -119,8 +119,6 @@
     XFontStruct *xfont; /* Latin1 font */
 };
 
-extern struct FontData *awtJNI_GetFontData(JNIEnv *env,jobject font, char **errmsg);
-
 extern AwtGraphicsConfigDataPtr getDefaultConfig(int screen);
 extern AwtScreenDataPtr getScreenData(int screen);
 #endif /* !HEADLESS */
--- a/src/java.desktop/unix/native/libawt_xawt/awt/multi_font.c	Fri Jul 19 16:47:11 2019 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,393 +0,0 @@
-/*
- * Copyright (c) 1996, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-/*
- * These routines are used for display string with multi font.
- */
-
-#ifdef HEADLESS
-    #error This file should not be included in headless library
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <ctype.h>
-#include <jni.h>
-#include <jni_util.h>
-#include <jvm.h>
-#include "awt_Font.h"
-#include "awt_p.h"
-#include "multi_font.h"
-
-extern XFontStruct *loadFont(Display *, char *, int32_t);
-
-extern struct FontIDs fontIDs;
-extern struct PlatformFontIDs platformFontIDs;
-extern struct XFontPeerIDs xFontPeerIDs;
-
-/*
- * make string with str + string representation of num
- * This string is used as tag string of Motif Compound String and FontList.
- */
-static void
-makeTag(char *str, int32_t num, char *buf)
-{
-    int32_t len = strlen(str);
-
-    strcpy(buf, str);
-    buf[len] = '0' + num % 100;
-    buf[len + 1] = '\0';
-}
-
-static int32_t
-awtJNI_GetFontDescriptorNumber(JNIEnv * env
-                               ,jobject font
-                               ,jobject fd)
-{
-    int32_t i = 0, num;
-    /* initialize to NULL so that DeleteLocalRef will work. */
-    jobjectArray componentFonts = NULL;
-    jobject peer = NULL;
-    jobject temp = NULL;
-    jboolean validRet = JNI_FALSE;
-
-    if ((*env)->EnsureLocalCapacity(env, 2) < 0 || (*env)->ExceptionCheck(env))
-        goto done;
-
-    peer = (*env)->CallObjectMethod(env,font,fontIDs.getPeer);
-    if (peer == NULL)
-        goto done;
-
-    componentFonts = (jobjectArray)
-        (*env)->GetObjectField(env,peer,platformFontIDs.componentFonts);
-
-    if (componentFonts == NULL)
-        goto done;
-
-    num = (*env)->GetArrayLength(env, componentFonts);
-
-    for (i = 0; i < num; i++) {
-        temp = (*env)->GetObjectArrayElement(env, componentFonts, i);
-
-        if ((*env)->IsSameObject(env, fd, temp)) {
-            validRet = JNI_TRUE;
-            break;
-        }
-        (*env)->DeleteLocalRef(env, temp);
-    }
-
- done:
-    (*env)->DeleteLocalRef(env, peer);
-    (*env)->DeleteLocalRef(env, componentFonts);
-
-    if (validRet)
-        return i;
-
-    return 0;
-}
-
-jobject
-awtJNI_GetFMFont(JNIEnv * env, jobject this)
-{
-    return JNU_CallMethodByName(env, NULL, this, "getFont_NoClientCode",
-                                "()Ljava/awt/Font;").l;
-}
-
-jboolean
-awtJNI_IsMultiFont(JNIEnv * env, jobject this)
-{
-    jobject peer = NULL;
-    jobject fontConfig = NULL;
-
-    if (this == NULL) {
-        return JNI_FALSE;
-    }
-
-    if ((*env)->EnsureLocalCapacity(env, 2) < 0) {
-        return JNI_FALSE;
-    }
-
-    peer = (*env)->CallObjectMethod(env,this,fontIDs.getPeer);
-    if (peer == NULL) {
-        return JNI_FALSE;
-    }
-
-    fontConfig = (*env)->GetObjectField(env,peer,platformFontIDs.fontConfig);
-    (*env)->DeleteLocalRef(env, peer);
-
-    if (fontConfig == NULL) {
-        return JNI_FALSE;
-    }
-    (*env)->DeleteLocalRef(env, fontConfig);
-
-    return JNI_TRUE;
-}
-
-jboolean
-awtJNI_IsMultiFontMetrics(JNIEnv * env, jobject this)
-{
-    jobject peer = NULL;
-    jobject fontConfig = NULL;
-    jobject font = NULL;
-
-    if (JNU_IsNull(env, this)) {
-        return JNI_FALSE;
-    }
-    if ((*env)->EnsureLocalCapacity(env, 3) < 0) {
-        return JNI_FALSE;
-    }
-
-    font = JNU_CallMethodByName(env, NULL, this, "getFont_NoClientCode",
-                                "()Ljava/awt/Font;").l;
-    if (JNU_IsNull(env, font) || (*env)->ExceptionCheck(env)) {
-        return JNI_FALSE;
-    }
-
-    peer = (*env)->CallObjectMethod(env,font,fontIDs.getPeer);
-    (*env)->DeleteLocalRef(env, font);
-
-    if (peer == NULL) {
-        return JNI_FALSE;
-    }
-
-    fontConfig = (*env)->GetObjectField(env,peer,platformFontIDs.fontConfig);
-    (*env)->DeleteLocalRef(env, peer);
-    if (fontConfig == NULL) {
-        return JNI_FALSE;
-    }
-    (*env)->DeleteLocalRef(env, fontConfig);
-
-    return JNI_TRUE;
-}
-
-/* #define FONT_DEBUG 2 */
-
-XFontSet
-awtJNI_MakeFontSet(JNIEnv * env, jobject font)
-{
-    jstring xlfd = NULL;
-    char *xfontset = NULL;
-    int32_t size;
-    int32_t length = 0;
-    char *realxlfd = NULL, *ptr = NULL, *prev = NULL;
-    char **missing_list = NULL;
-    int32_t missing_count;
-    char *def_string = NULL;
-    XFontSet xfs;
-    jobject peer = NULL;
-    jstring xfsname = NULL;
-#ifdef FONT_DEBUG
-    char xx[1024];
-#endif
-
-    if ((*env)->EnsureLocalCapacity(env, 2) < 0)
-        return 0;
-
-    size = (*env)->GetIntField(env, font, fontIDs.size) * 10;
-
-    peer = (*env)->CallObjectMethod(env,font,fontIDs.getPeer);
-    xfsname = (*env)->GetObjectField(env, peer, xFontPeerIDs.xfsname);
-
-    if (JNU_IsNull(env, xfsname))
-        xfontset = "";
-    else
-        xfontset = (char *)JNU_GetStringPlatformChars(env, xfsname, NULL);
-
-    realxlfd = malloc(strlen(xfontset) + 50);
-
-    prev = ptr = xfontset;
-    while ((ptr = strstr(ptr, "%d"))) {
-        char save = *(ptr + 2);
-
-        *(ptr + 2) = '\0';
-        jio_snprintf(realxlfd + length, strlen(xfontset) + 50 - length,
-                     prev, size);
-        length = strlen(realxlfd);
-        *(ptr + 2) = save;
-
-        prev = ptr + 2;
-        ptr += 2;
-    }
-    strcpy(realxlfd + length, prev);
-
-#ifdef FONT_DEBUG
-    strcpy(xx, realxlfd);
-#endif
-    xfs = XCreateFontSet(awt_display, realxlfd, &missing_list,
-                         &missing_count, &def_string);
-#if FONT_DEBUG >= 2
-    fprintf(stderr, "XCreateFontSet(%s)->0x%x\n", xx, xfs);
-#endif
-
-#if FONT_DEBUG
-    if (missing_count != 0) {
-        int32_t i;
-        fprintf(stderr, "XCreateFontSet missing %d fonts:\n", missing_count);
-        for (i = 0; i < missing_count; ++i) {
-            fprintf(stderr, "\t\"%s\"\n", missing_list[i]);
-        }
-        fprintf(stderr, "  requested \"%s\"\n", xx);
-#if FONT_DEBUG >= 3
-        exit(-1);
-#endif
-    }
-#endif
-
-    free((void *)realxlfd);
-
-    if (xfontset && !JNU_IsNull(env, xfsname))
-        JNU_ReleaseStringPlatformChars(env, xfsname, (const char *) xfontset);
-
-    (*env)->DeleteLocalRef(env, peer);
-    (*env)->DeleteLocalRef(env, xfsname);
-    return xfs;
-}
-
-/*
- * get multi font string width with multiple X11 font
- *
- * ASSUMES: We are not running on a privileged thread
- */
-int32_t
-awtJNI_GetMFStringWidth(JNIEnv * env, jcharArray s, int offset, int sLength, jobject font)
-{
-    char *err = NULL;
-    unsigned char *stringData = NULL;
-    char *offsetStringData = NULL;
-    int32_t stringCount, i;
-    int32_t size;
-    struct FontData *fdata = NULL;
-    jobject fontDescriptor = NULL;
-    jbyteArray data = NULL;
-    int32_t j;
-    int32_t width = 0;
-    int32_t length;
-    XFontStruct *xf = NULL;
-    jobjectArray dataArray = NULL;
-    if ((*env)->EnsureLocalCapacity(env, 3) < 0)
-        return 0;
-
-    if (!JNU_IsNull(env, s) && !JNU_IsNull(env, font))
-    {
-        jobject peer;
-        peer = (*env)->CallObjectMethod(env,font,fontIDs.getPeer);
-
-        dataArray = (*env)->CallObjectMethod(
-                                 env,
-                                 peer,
-                                 platformFontIDs.makeConvertedMultiFontChars,
-                                 s, offset, sLength);
-
-        if ((*env)->ExceptionOccurred(env))
-        {
-            (*env)->ExceptionDescribe(env);
-            (*env)->ExceptionClear(env);
-        }
-
-        (*env)->DeleteLocalRef(env, peer);
-
-        if(dataArray == NULL)
-        {
-            return 0;
-        }
-    } else {
-        return 0;
-    }
-
-    fdata = awtJNI_GetFontData(env, font, &err);
-    if ((*env)->ExceptionCheck(env)) {
-        (*env)->DeleteLocalRef(env, dataArray);
-        return 0;
-    }
-
-    stringCount = (*env)->GetArrayLength(env, dataArray);
-
-    size = (*env)->GetIntField(env, font, fontIDs.size);
-
-    for (i = 0; i < stringCount; i+=2)
-    {
-        fontDescriptor = (*env)->GetObjectArrayElement(env, dataArray, i);
-        data = (*env)->GetObjectArrayElement(env, dataArray, i + 1);
-
-        /* Bail if we've finished */
-        if (fontDescriptor == NULL || data == NULL) {
-            (*env)->DeleteLocalRef(env, fontDescriptor);
-            (*env)->DeleteLocalRef(env, data);
-            break;
-        }
-
-        j = awtJNI_GetFontDescriptorNumber(env, font, fontDescriptor);
-        if ((*env)->ExceptionCheck(env)) {
-            (*env)->DeleteLocalRef(env, fontDescriptor);
-            (*env)->DeleteLocalRef(env, data);
-            break;
-        }
-
-        if (fdata->flist[j].load == 0) {
-            xf = loadFont(awt_display,
-                          fdata->flist[j].xlfd, size * 10);
-            if (xf == NULL) {
-                (*env)->DeleteLocalRef(env, fontDescriptor);
-                (*env)->DeleteLocalRef(env, data);
-                continue;
-            }
-            fdata->flist[j].load = 1;
-            fdata->flist[j].xfont = xf;
-            if (xf->min_byte1 == 0 && xf->max_byte1 == 0)
-                fdata->flist[j].index_length = 1;
-            else
-                fdata->flist[j].index_length = 2;
-        }
-        xf = fdata->flist[j].xfont;
-
-        stringData =
-            (unsigned char *)(*env)->GetPrimitiveArrayCritical(env, data,NULL);
-        if (stringData == NULL) {
-            (*env)->DeleteLocalRef(env, fontDescriptor);
-            (*env)->DeleteLocalRef(env, data);
-            (*env)->ExceptionClear(env);
-            JNU_ThrowOutOfMemoryError(env, "Could not get string data");
-            break;
-        }
-
-        length = (stringData[0] << 24) | (stringData[1] << 16) |
-            (stringData[2] << 8) | stringData[3];
-        offsetStringData = (char *)(stringData + (4 * sizeof(char)));
-
-        if (fdata->flist[j].index_length == 2) {
-            width += XTextWidth16(xf, (XChar2b *)offsetStringData, length/2);
-        } else {
-            width += XTextWidth(xf, offsetStringData, length);
-        }
-
-        (*env)->ReleasePrimitiveArrayCritical(env, data, stringData, JNI_ABORT);
-        (*env)->DeleteLocalRef(env, fontDescriptor);
-        (*env)->DeleteLocalRef(env, data);
-    }
-    (*env)->DeleteLocalRef(env, dataArray);
-
-    return width;
-}
--- a/src/java.desktop/unix/native/libawt_xawt/awt/multi_font.h	Fri Jul 19 16:47:11 2019 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 1996, 2011, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-/*
- * header for Multi Font String
- */
-#ifndef _MULTI_FONT_H_
-#define _MULTI_FONT_H_
-
-#ifndef HEADLESS
-jboolean awtJNI_IsMultiFont(JNIEnv *env,jobject this);
-jboolean awtJNI_IsMultiFontMetrics(JNIEnv *env,jobject this);
-XFontSet awtJNI_MakeFontSet(JNIEnv *env,jobject font);
-struct FontData *awtJNI_GetFontData(JNIEnv *env,jobject font, char **errmsg);
-int32_t awtJNI_GetMFStringWidth(JNIEnv * env, jcharArray s, int32_t offset,
-                                int32_t length, jobject font);
-#endif /* !HEADLESS */
-
-#endif /* _MULTI_FONT_H_ */
--- a/src/java.desktop/unix/native/libawt_xawt/xawt/XToolkit.c	Fri Jul 19 16:47:11 2019 -0400
+++ b/src/java.desktop/unix/native/libawt_xawt/xawt/XToolkit.c	Mon Jul 22 11:08:27 2019 +0530
@@ -79,16 +79,6 @@
 extern Display* awt_init_Display(JNIEnv *env, jobject this);
 extern void freeNativeStringArray(char **array, jsize length);
 extern char** stringArrayToNative(JNIEnv *env, jobjectArray array, jsize * ret_length);
-
-struct XFontPeerIDs xFontPeerIDs;
-
-JNIEXPORT void JNICALL
-Java_sun_awt_X11_XFontPeer_initIDs
-  (JNIEnv *env, jclass cls)
-{
-    xFontPeerIDs.xfsname =
-      (*env)->GetFieldID(env, cls, "xfsname", "Ljava/lang/String;");
-}
 #endif /* !HEADLESS */
 
 /* This function gets called from the static initializer for FileDialog.java
--- a/src/jdk.jsobject/share/classes/jdk/internal/netscape/javascript/spi/JSObjectProvider.java	Fri Jul 19 16:47:11 2019 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2016, 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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.
- */
-
-package jdk.internal.netscape.javascript.spi;
-
-import java.applet.Applet;
-import netscape.javascript.JSException;
-import netscape.javascript.JSObject;
-
-@SuppressWarnings("deprecation")
-public interface JSObjectProvider {
-    /**
-     * Return a JSObject for the window containing the given applet.
-     * Implementations of this class should return null if not connected to a
-     * browser, for example, when running in AppletViewer.
-     *
-     * @param applet The applet.
-     * @return JSObject for the window containing the given applet or null if we
-     * are not connected to a browser.
-     * @throws JSException when an error is encountered.
-     */
-    public JSObject getWindow(Applet applet) throws JSException;
-}
--- a/src/jdk.jsobject/share/classes/module-info.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/src/jdk.jsobject/share/classes/module-info.java	Mon Jul 22 11:08:27 2019 +0530
@@ -30,9 +30,5 @@
  * @since 9
  */
 module jdk.jsobject {
-    requires java.desktop;
-
     exports netscape.javascript;
-
-    uses jdk.internal.netscape.javascript.spi.JSObjectProvider;
 }
--- a/src/jdk.jsobject/share/classes/netscape/javascript/JSObject.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/src/jdk.jsobject/share/classes/netscape/javascript/JSObject.java	Mon Jul 22 11:08:27 2019 +0530
@@ -25,8 +25,6 @@
 
 package netscape.javascript;
 
-import jdk.internal.netscape.javascript.spi.JSObjectProvider;
-import java.applet.Applet;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.Iterator;
@@ -139,52 +137,4 @@
      */
     public abstract void setSlot(int index, Object value) throws JSException;
 
-    /**
-     * Returns a JSObject for the window containing the given applet. This
-     * method only works when the Java code is running in a browser as an
-     * applet. The object returned may be used to access the HTML DOM directly.
-     *
-     * @param applet The applet.
-     * @return JSObject representing the window containing the given applet or
-     * {@code null} if we are not connected to a browser.
-     * @throws JSException when an error is reported from the browser or
-     * JavaScript engine or if applet is {@code null}
-     *
-     * @deprecated The Applet API is deprecated, no replacement. See the
-     * <a href="{@docRoot}/java.desktop/java/applet/package-summary.html">
-     * java.applet package documentation</a> for further information.
-     */
-
-    @Deprecated(since="9", forRemoval=true)
-    @SuppressWarnings("exports")
-    public static JSObject getWindow(Applet applet) throws JSException {
-        return ProviderLoader.callGetWindow(applet);
-    }
-
-    private static class ProviderLoader {
-        private static final JSObjectProvider provider;
-
-        static {
-            provider = AccessController.doPrivileged(
-                new PrivilegedAction<>() {
-                    @Override
-                    public JSObjectProvider run() {
-                        Iterator<JSObjectProvider> providers =
-                            ServiceLoader.loadInstalled(JSObjectProvider.class).iterator();
-                        if (providers.hasNext()) {
-                            return providers.next();
-                        }
-                        return null;
-                    }
-                }
-            );
-        }
-
-        private static JSObject callGetWindow(Applet applet) {
-            if (provider != null) {
-                return provider.getWindow(applet);
-            }
-            return null;
-        }
-    }
 }
--- a/test/jdk/ProblemList.txt	Fri Jul 19 16:47:11 2019 -0400
+++ b/test/jdk/ProblemList.txt	Mon Jul 22 11:08:27 2019 +0530
@@ -185,7 +185,7 @@
 java/awt/Mixing/AWT_Mixing/JTextFieldInGlassPaneOverlapping.java 8158801 windows-all
 java/awt/Mixing/AWT_Mixing/JTextFieldOverlapping.java 8158801 windows-all
 java/awt/Mixing/AWT_Mixing/JToggleButtonInGlassPaneOverlapping.java 8158801 windows-all
-java/awt/Mixing/AWT_Mixing/JToggleButtonOverlapping.java 8158801 windows-all	
+java/awt/Mixing/AWT_Mixing/JToggleButtonOverlapping.java 8158801 windows-all
 java/awt/Mixing/NonOpaqueInternalFrame.java 7124549 macosx-all
 java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowRetaining.java 6829264 generic-all
 java/awt/datatransfer/DragImage/MultiResolutionDragImageTest.java 8080982 generic-all
@@ -283,7 +283,6 @@
 java/awt/PrintJob/PrinterException.java 8196301 windows-all,macosx-all
 java/awt/Choice/PopupPosTest/PopupPosTest.java  8197811 windows-all
 java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java 7100044 macosx-all,linux-all
-java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.java 8214469 macosx-all
 java/awt/Component/CreateImage/CreateImage.java 8198334  windows-all
 java/awt/Component/GetScreenLocTest/GetScreenLocTest.java 4753654 generic-all
 java/awt/Component/SetEnabledPerformance/SetEnabledPerformance.java 8165863 macosx-all
@@ -480,7 +479,6 @@
 java/awt/Modal/OnTop/OnTopModal4Test.java 8198666 macosx-all
 java/awt/Modal/OnTop/OnTopModal5Test.java 8198666 macosx-all
 java/awt/Modal/OnTop/OnTopModal6Test.java 8198666 macosx-all
-java/awt/Modal/OnTop/OnTopModal6Test.java 8198666 macosx-all
 java/awt/Modal/OnTop/OnTopModeless1Test.java 8198666 macosx-all
 java/awt/Modal/OnTop/OnTopModeless2Test.java 8198666 macosx-all
 java/awt/Modal/OnTop/OnTopModeless3Test.java 8198666 macosx-all
@@ -507,7 +505,6 @@
 java/awt/datatransfer/ConstructFlavoredObjectTest/ConstructFlavoredObjectTest.java 8202860 linux-all
 java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java 8202790 macosx-all,linux-all
 java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.java 8202882 linux-all
-java/awt/Frame/FramesGC/FramesGC.java 8079069 macosx-all
 java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java 8030121 macosx-all,linux-all
 java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java 8202931 macosx-all,linux-all
 java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.java 7124275 macosx-all
@@ -722,7 +719,7 @@
 javax/swing/AbstractButton/6711682/bug6711682.java 8060765 windows-all,macosx-all
 javax/swing/Action/8133039/bug8133039.java 8196089 windows-all,macosx-all
 javax/swing/JComboBox/6559152/bug6559152.java 8196090 windows-all,macosx-all
-javax/swing/JComboBox/8032878/bug8032878.java 8196092 windows-all,macosx-all
+javax/swing/JComboBox/8032878/bug8032878.java 8196092,8196439 windows-all,macosx-all,linux-all
 javax/swing/JComboBox/8057893/bug8057893.java 8169953 windows-all,macosx-all
 javax/swing/JComboBox/8072767/bug8072767.java 8196093 windows-all,macosx-all
 javax/swing/JComponent/4337267/bug4337267.java 8146451 windows-all
@@ -745,12 +742,11 @@
 javax/swing/text/DefaultCaret/HidingSelection/MultiSelectionTest.java 8213562 linux-all
 javax/swing/text/JTextComponent/5074573/bug5074573.java 8196100 windows-all
 javax/swing/JFileChooser/6798062/bug6798062.java 8146446 windows-all
-javax/swing/JComboBox/8032878/bug8032878.java 8196439 linux-all
 javax/swing/JComboBox/8182031/ComboPopupTest.java 8196465 linux-all,macosx-all
 javax/swing/JFileChooser/6738668/bug6738668.java 8194946 generic-all
 javax/swing/JFileChooser/8021253/bug8021253.java 8169954 windows-all,linux-all,macosx-all
 javax/swing/JFileChooser/8062561/bug8062561.java 8196466 linux-all,macosx-all
-javax/swing/JInternalFrame/Test6325652.java 8196467 linux-all,macosx-all
+javax/swing/JInternalFrame/Test6325652.java 8224977 macosx-all
 javax/swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java 8194944 macosx-all
 javax/swing/JLabel/6596966/bug6596966.java 8040914 macosx-all
 javax/swing/JPopupMenu/4870644/bug4870644.java 8194130 macosx-all,linux-all
@@ -769,7 +765,6 @@
 javax/swing/text/AbstractDocument/DocumentInsert/DocumentInsertAtWrongPositionTest.java 8198396 generic-all
 javax/swing/JFileChooser/6868611/bug6868611.java 7059834 windows-all
 javax/swing/SwingWorker/6493680/bug6493680.java 8198410 windows-all
-javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java 8042383 macosx-all
 javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java 8065099 macosx-all
 javax/swing/DataTransfer/8059739/bug8059739.java 8199074 generic-all
 javax/swing/JCheckBox/8032667/bug8032667_image_diff.java 8199063 macosx-all
--- a/test/jdk/com/sun/java/swing/plaf/gtk/4928019/bug4928019.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/test/jdk/com/sun/java/swing/plaf/gtk/4928019/bug4928019.java	Mon Jul 22 11:08:27 2019 +0530
@@ -24,6 +24,7 @@
 /*
  * @test
  * @bug 4928019
+ * @key headful
  * @summary Makes sure all the basic classes can be created with GTK.
  * @author Scott Violet
  */
--- a/test/jdk/com/sun/java/swing/plaf/gtk/Test6635110.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/test/jdk/com/sun/java/swing/plaf/gtk/Test6635110.java	Mon Jul 22 11:08:27 2019 +0530
@@ -23,6 +23,7 @@
 
 /* @test
    @bug 6635110
+   @key headful
    @summary GTK icons should not throw NPE when called by non-GTK UI
    @author Peter Zhelezniakov
    @run main Test6635110
--- a/test/jdk/com/sun/java/swing/plaf/gtk/Test6963870.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/test/jdk/com/sun/java/swing/plaf/gtk/Test6963870.java	Mon Jul 22 11:08:27 2019 +0530
@@ -23,6 +23,7 @@
 
 /* @test
    @bug 6963870
+   @key headful
    @summary Tests that GTKPainter.ListTableFocusBorder.getBorderInsets()
             doesn't return null
    @author Peter Zhelezniakov
--- a/test/jdk/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/test/jdk/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.java	Mon Jul 22 11:08:27 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2019, 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
@@ -30,18 +30,18 @@
  * @run main ChoiceKeyEventReaction
  */
 
-import java.awt.Robot;
 import java.awt.Choice;
-import java.awt.Point;
-import java.awt.Toolkit;
-import java.awt.TextField;
 import java.awt.FlowLayout;
+import java.awt.Frame;
+import java.awt.Point;
+import java.awt.Robot;
+import java.awt.TextField;
+import java.awt.Toolkit;
 import java.awt.event.InputEvent;
-import java.awt.event.KeyEvent;
 import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
 import java.awt.event.KeyAdapter;
-import java.awt.event.ItemListener;
-import java.awt.Frame;
+import java.awt.event.KeyEvent;
 
 public class ChoiceKeyEventReaction
 {
@@ -60,6 +60,7 @@
         try {
             robot = new Robot();
             robot.setAutoDelay(100);
+            robot.waitForIdle();
 
             moveFocusToTextField();
             testKeyOnChoice(InputEvent.BUTTON1_MASK, KeyEvent.VK_UP);
@@ -99,6 +100,7 @@
         frame.add(choice1);
         frame.setLayout (new FlowLayout());
         frame.setSize (200,200);
+        frame.setLocationRelativeTo(null);
         frame.setVisible(true);
     }
 
@@ -108,33 +110,31 @@
 
         robot.mousePress(button);
         robot.mouseRelease(button);
+        robot.waitForIdle();
 
         robot.keyPress(key);
         robot.keyRelease(key);
+        robot.waitForIdle();
 
         System.out.println("keyTypedOnTextField = "+keyTypedOnTextField +": itemChanged = " + itemChanged);
         if (itemChanged) {
             throw new RuntimeException("Test failed. ItemChanged event occur on Choice.");
         }
 
-       // We may just write
-       // if (toolkit.equals("sun.awt.windows.WToolkit") == keyTypedOnTextField) {fail;}
-       // but  must report differently in these cases so put two separate if statements for simplicity.
-       if (toolkit.equals("sun.awt.windows.WToolkit") &&
-           !keyTypedOnTextField) {
-           throw new RuntimeException("Test failed. (Win32) KeyEvent wasn't addressed to TextField. ");
-       }
+        // We may just write
+        // if (toolkit.equals("sun.awt.windows.WToolkit") == keyTypedOnTextField) {fail;}
+        // but  must report differently in these cases so put two separate if statements for simplicity.
+        if (!toolkit.equals("sun.awt.X11.XToolkit") &&
+               !keyTypedOnTextField) {
+           throw new RuntimeException("Test failed. (Win32/MacOS) KeyEvent wasn't addressed to TextField. ");
+        }
 
-       if (!toolkit.equals("sun.awt.windows.WToolkit") &&
-          keyTypedOnTextField) {
-           throw new RuntimeException("Test failed. (XToolkit/MToolkit). KeyEvent was addressed to TextField.");
+        if (toolkit.equals("sun.awt.X11.XToolkit") &&
+                keyTypedOnTextField) {
+            throw new RuntimeException("Test failed. (XToolkit/MToolkit). KeyEvent was addressed to TextField.");
         }
 
         System.out.println("Test passed. Unfocusable Choice doesn't react on keys.");
-
-        //close opened choice
-        robot.keyPress(KeyEvent.VK_ESCAPE);
-        robot.keyRelease(KeyEvent.VK_ESCAPE);
     }
 
     public static void moveFocusToTextField() {
--- a/test/jdk/java/awt/GraphicsDevice/IncorrectDisplayModeExitFullscreen.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/test/jdk/java/awt/GraphicsDevice/IncorrectDisplayModeExitFullscreen.java	Mon Jul 22 11:08:27 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, 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
@@ -46,6 +46,7 @@
                 GraphicsEnvironment.getLocalGraphicsEnvironment()
                                    .getScreenDevices();
         if (devices.length < 2 || devices[0].getDisplayModes().length < 2
+                || !devices[0].isDisplayChangeSupported()
                 || !devices[0].isFullScreenSupported()
                 || !devices[1].isFullScreenSupported()) {
             System.err.println("Testcase is not applicable");
--- a/test/jdk/javax/swing/JInternalFrame/Test6325652.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/test/jdk/javax/swing/JInternalFrame/Test6325652.java	Mon Jul 22 11:08:27 2019 +0530
@@ -63,6 +63,7 @@
 
     public static void stepFirst() throws AWTException {
         robot = new Robot(); // initialize shared static field first time
+        robot.setAutoDelay(50);
         click(KeyEvent.VK_CONTROL, KeyEvent.VK_F9); // iconify internal frame
     }
 
--- a/test/jdk/javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/test/jdk/javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java	Mon Jul 22 11:08:27 2019 +0530
@@ -78,10 +78,11 @@
         });
 
         Robot robot = new Robot();
+        robot.setAutoDelay(50);
         robot.waitForIdle();
         Util.hitMnemonics(robot, KeyEvent.VK_F);
         robot.waitForIdle();
-        robot.delay(1000);
+        robot.delay(200);
 
         if (!bMenuSelected) {
             throw new RuntimeException("shortcuts on menus do not work");
--- a/test/jdk/jdk/modules/etc/JdkQualifiedExportTest.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/test/jdk/jdk/modules/etc/JdkQualifiedExportTest.java	Mon Jul 22 11:08:27 2019 +0530
@@ -73,8 +73,7 @@
                "jdk.internal.vm.ci/jdk.vm.ci.runtime",
                "jdk.internal.vm.ci/jdk.vm.ci.hotspot",
                "jdk.internal.vm.ci/jdk.vm.ci.meta",
-               "jdk.internal.vm.ci/jdk.vm.ci.code",
-               "jdk.jsobject/jdk.internal.netscape.javascript.spi");
+               "jdk.internal.vm.ci/jdk.vm.ci.code");
 
     static void checkExports(ModuleDescriptor md) {
         // build a map of upgradeable module to Exports that are qualified to it
--- a/test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tree/TreeDemo.java	Fri Jul 19 16:47:11 2019 -0400
+++ b/test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tree/TreeDemo.java	Mon Jul 22 11:08:27 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2019, 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
@@ -83,7 +83,7 @@
 
     private JTree createTree() {
         DefaultMutableTreeNode top = new DefaultMutableTreeNode(resourceManager.getString("TreeDemo.music"));
-        DefaultMutableTreeNode catagory = null;
+        DefaultMutableTreeNode category = null;
         DefaultMutableTreeNode artist = null;
         DefaultMutableTreeNode record = null;
 
@@ -103,12 +103,12 @@
                 char linetype = line.charAt(0);
                 switch (linetype) {
                     case 'C':
-                        catagory = new DefaultMutableTreeNode(line.substring(2));
-                        top.add(catagory);
+                        category = new DefaultMutableTreeNode(line.substring(2));
+                        top.add(category);
                         break;
                     case 'A':
-                        if (catagory != null) {
-                            catagory.add(artist = new DefaultMutableTreeNode(line.substring(2)));
+                        if (category != null) {
+                            category.add(artist = new DefaultMutableTreeNode(line.substring(2)));
                         }
                         break;
                     case 'R':
--- a/test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tree/resources/tree.txt	Fri Jul 19 16:47:11 2019 -0400
+++ b/test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/tree/resources/tree.txt	Mon Jul 22 11:08:27 2019 +0530
@@ -8,7 +8,7 @@
 # A = Artist    / Composer                                                     #
 # R = Record    / Style                                                        #
 # S = Song Name / Composition                                                  #
-# C = Catagory                                                                 #
+# C = Category                                                                 #
 #                                                                              #
 ################################################################################
 C Classical
@@ -195,49 +195,49 @@
 A The Beatles
 R A Hard Day's Night
 S A Hard Day's Night
-S I Should Have Known Better 
-S If I Fell 
-S I'm Happy Just To Dance With You 
-S And I Love Her 
-S Tell Me Why 
-S Can't Buy Me Love 
-S Any Time At All 
-S I'll Cry Instead 
-S Things We Said Today 
-S When I Get Home 
-S You Can't Do That 
+S I Should Have Known Better
+S If I Fell
+S I'm Happy Just To Dance With You
+S And I Love Her
+S Tell Me Why
+S Can't Buy Me Love
+S Any Time At All
+S I'll Cry Instead
+S Things We Said Today
+S When I Get Home
+S You Can't Do That
 R Beatles For Sale
-S No Reply 
-S I'm a Loser 
-S Baby's In Black 
-S Rock And Roll Music 
-S I'll Follow the Sun 
-S Mr. Moonlight 
-S Kansas City/Hey Hey Hey Hey 
-S Eight Days a Week 
-S Words Of Love 
-S Honey Don't 
-S Every Little Thing 
-S I Don't Want To Spoil the Party 
-S What You're Doing 
-S Everybody's Trying To Be My Baby 
+S No Reply
+S I'm a Loser
+S Baby's In Black
+S Rock And Roll Music
+S I'll Follow the Sun
+S Mr. Moonlight
+S Kansas City/Hey Hey Hey Hey
+S Eight Days a Week
+S Words Of Love
+S Honey Don't
+S Every Little Thing
+S I Don't Want To Spoil the Party
+S What You're Doing
+S Everybody's Trying To Be My Baby
 R Help!
-S Help! 
-S The Night Before 
-S You've Got To Hide Your Love Away 
-S I Need You 
-S Another Girl 
-S You're Going To Lose That Girl 
-S Ticket To Ride 
-S Act Naturally 
-S It's Only Love 
-S You Like Me Too Much 
-S Tell Me What You See 
-S I've Just Seen a Face 
-S Yesterday 
-S Dizzy Miss Lizzie 
+S Help!
+S The Night Before
+S You've Got To Hide Your Love Away
+S I Need You
+S Another Girl
+S You're Going To Lose That Girl
+S Ticket To Ride
+S Act Naturally
+S It's Only Love
+S You Like Me Too Much
+S Tell Me What You See
+S I've Just Seen a Face
+S Yesterday
+S Dizzy Miss Lizzie
 R Rubber Soul
-S Drive My Car 
+S Drive My Car
 S Norwegian Wood
 S You Won't See Me
 S Nowhere Man
@@ -245,27 +245,27 @@
 S The Word
 S Michelle
 S What Goes On?
-S Girl 
-S I'm Looking Through You 
-S In My Life 
-S Wait 
-S If I Needed Someone 
-S Run For Your Life 
+S Girl
+S I'm Looking Through You
+S In My Life
+S Wait
+S If I Needed Someone
+S Run For Your Life
 R Revolver
-S Taxman 
-S Rigby 
-S I'm Only Sleeping 
-S For You To 
-S Here There And Everywhere 
+S Taxman
+S Rigby
+S I'm Only Sleeping
+S For You To
+S Here There And Everywhere
 S Yellow Submarine
-S She Said She Said 
-S Good Day Sunshine 
-S And Your Bird Can Sing 
-S For No One 
-S Doctor Robert 
-S I Want To Tell You 
-S Got To Get You Into My Life 
-S Tomorrow Never Knows 
+S She Said She Said
+S Good Day Sunshine
+S And Your Bird Can Sing
+S For No One
+S Doctor Robert
+S I Want To Tell You
+S Got To Get You Into My Life
+S Tomorrow Never Knows
 R Sgt. Pepper's Lonely Hearts Club Band
 S Sgt. Pepper's Lonely Hearts Club Band
 S With a Little Help From My Friends
@@ -554,35 +554,35 @@
 S What A Life
 A Komeda
 R Plan 714 Till
-S Fuego De La Vida 
-S Herbamore 
-S Som I Fjol 
+S Fuego De La Vida
+S Herbamore
+S Som I Fjol
 S En Spricka I Taket
 R Genius Of
-S More Is More 
-S Fire 
-S Rocket Plane (Music On The Moon) 
-S Boogie Woogie/Rock 'N' Roll 
-S Disko 
-S Top Star 
-S Light O' My Life 
-S If 
-S Frolic 
-S In Orbit 
-S Arbogast 
+S More Is More
+S Fire
+S Rocket Plane (Music On The Moon)
+S Boogie Woogie/Rock 'N' Roll
+S Disko
+S Top Star
+S Light O' My Life
+S If
+S Frolic
+S In Orbit
+S Arbogast
 S New New No
 R What Makes It Go
-S Binario 
-S It's Alright, Baby 
-S Curious 
-S Cul de Sac 
-S Living Things 
-S Flabbergast 
-S Campfire 
-S Happyment 
-S Our Hospitality 
-S Focus 
-S A Simple Formality 
+S Binario
+S It's Alright, Baby
+S Curious
+S Cul de Sac
+S Living Things
+S Flabbergast
+S Campfire
+S Happyment
+S Our Hospitality
+S Focus
+S A Simple Formality
 A Steve Miller Band
 R Circle Of Love
 S Heart Like A Wheel