Compare commits

...

6 Commits
630 ... 635

Author SHA1 Message Date
Artem Bochkarev
ae41b6933c JBR-1794: backport 8234522: [macos] Crash with use of native file dialog
cherry-picked from hg changeset (Node ID e07a60855a7631b5eac32da1f1e71d72986a2c06, Parent  221a47a6f6d335560d9dd532a1ac593e316b5954)

(cherry picked from commit 09eabbd567)
2019-12-11 14:45:08 +03:00
Denis Fokin
c8ad353f45 JBR-1991 Focus problems in Windows with X-Mouse style focus 2019-12-06 12:37:53 +03:00
Vitaly Provodin
57162c91c3 updated JTreg exclude list 2019-12-06 10:04:05 +07:00
Denis Konoplev
cab3f28907 Windows touch screen support 2019-12-04 13:48:56 +03:00
Alexey Ushakov
5d7fd2e1e5 JBR-1997 JetBrainsMono fonts update to v0.22 2019-12-04 12:03:44 +03:00
Vitaly Provodin
623a029e3b updated JTreg exclude list 2019-12-04 10:51:00 +07:00
13 changed files with 208 additions and 57 deletions

View File

@@ -50,7 +50,7 @@ BOOL postEventDuringEventSynthesis = NO;
* Subtypes of NSApplicationDefined, which are used for custom events.
*/
enum {
ExecuteBlockEvent, NativeSyncQueueEvent
ExecuteBlockEvent = 777, NativeSyncQueueEvent
};
@implementation NSApplicationAWT
@@ -366,11 +366,15 @@ untilDate:(NSDate *)expiration inMode:(NSString *)mode dequeue:(BOOL)deqFlag {
{
if ([event type] == NSApplicationDefined
&& TS_EQUAL([event timestamp], dummyEventTimestamp)
&& [event subtype] == NativeSyncQueueEvent) {
&& (short)[event subtype] == NativeSyncQueueEvent
&& [event data1] == NativeSyncQueueEvent
&& [event data2] == NativeSyncQueueEvent) {
[seenDummyEventLock lockWhenCondition:NO];
[seenDummyEventLock unlockWithCondition:YES];
} else if ([event type] == NSApplicationDefined && [event subtype] == ExecuteBlockEvent) {
} else if ([event type] == NSApplicationDefined
&& (short)[event subtype] == ExecuteBlockEvent
&& [event data1] != 0 && [event data2] == ExecuteBlockEvent) {
void (^block)() = (void (^)()) [event data1];
block();
[block release];
@@ -401,7 +405,7 @@ untilDate:(NSDate *)expiration inMode:(NSString *)mode dequeue:(BOOL)deqFlag {
context: nil
subtype: ExecuteBlockEvent
data1: encode
data2: 0];
data2: ExecuteBlockEvent];
[NSApp postEvent: event atStart: NO];
[pool drain];
@@ -419,8 +423,8 @@ untilDate:(NSDate *)expiration inMode:(NSString *)mode dequeue:(BOOL)deqFlag {
windowNumber: 0
context: nil
subtype: NativeSyncQueueEvent
data1: 0
data2: 0];
data1: NativeSyncQueueEvent
data2: NativeSyncQueueEvent];
if (useCocoa) {
[NSApp postEvent:event atStart:NO];
} else {

View File

@@ -224,10 +224,11 @@ BOOL windowMoveLockHeld = FALSE;
AwtComponent::AwtComponent()
{
m_mouseButtonClickAllowed = 0;
m_touchDownOccurred = FALSE;
m_touchUpOccurred = FALSE;
m_touchDownPoint.x = m_touchDownPoint.y = 0;
m_touchUpPoint.x = m_touchUpPoint.y = 0;
m_isTouchScroll = FALSE;
m_touchDownPoint = {0, 0};
m_lastTouchPoint = {0, 0};
m_callbacksEnabled = FALSE;
m_hwnd = NULL;
@@ -1394,6 +1395,10 @@ void SpyWinMessage(HWND hwnd, UINT message, LPCTSTR szComment) {
#endif /* SPY_MESSAGES */
static BOOL IsMouseEventFromTouch()
{
return (::GetMessageExtraInfo() & MOUSEEVENTF_FROMTOUCH) == MOUSEEVENTF_FROMTOUCH;
}
/*
* Dispatch messages for this window class--general component
*/
@@ -1646,7 +1651,7 @@ LRESULT AwtComponent::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
window->AwtSetActiveWindow(TRUE, LOWORD(lParam)/*hittest*/);
}
mr = mrConsume;
retValue = MA_NOACTIVATE;
retValue = AwtToolkit::GetInstance().IsActiveWindowTrackingEnabled() ? MA_ACTIVATE : MA_NOACTIVATE;
break;
}
case WM_CTLCOLORMSGBOX:
@@ -1710,6 +1715,9 @@ LRESULT AwtComponent::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
case WM_MOUSEHWHEEL:
case WM_AWT_MOUSEENTER:
case WM_AWT_MOUSEEXIT:
if (IsMouseEventFromTouch()) {
break;
}
curPos = ::GetMessagePos();
POINT myPos;
myPos.x = GET_X_LPARAM(curPos);
@@ -2385,27 +2393,90 @@ void AwtComponent::WmTouch(WPARAM wParam, LPARAM lParam) {
UINT inputsCount = LOWORD(wParam);
TOUCHINPUT* pInputs = new TOUCHINPUT[inputsCount];
if (pInputs != NULL) {
if (tk.TIGetTouchInputInfo((HTOUCHINPUT)lParam, inputsCount, pInputs,
sizeof(TOUCHINPUT)) != 0) {
for (UINT i = 0; i < inputsCount; i++) {
TOUCHINPUT ti = pInputs[i];
if (ti.dwFlags & TOUCHEVENTF_PRIMARY) {
if (ti.dwFlags & TOUCHEVENTF_DOWN) {
m_touchDownPoint.x = ti.x / 100;
m_touchDownPoint.y = ti.y / 100;
::ScreenToClient(GetHWnd(), &m_touchDownPoint);
m_touchDownOccurred = TRUE;
} else if (ti.dwFlags & TOUCHEVENTF_UP) {
m_touchUpPoint.x = ti.x / 100;
m_touchUpPoint.y = ti.y / 100;
::ScreenToClient(GetHWnd(), &m_touchUpPoint);
m_touchUpOccurred = TRUE;
}
}
}
if (tk.TIGetTouchInputInfo((HTOUCHINPUT)lParam, inputsCount, pInputs,
sizeof(TOUCHINPUT)) != 0) {
for (UINT i = 0; i < inputsCount; i++) {
WmTouchHandler(pInputs[i]);
}
}
delete[] pInputs;
}
BOOL AwtComponent::IsInsideTouchClickBoundaries(POINT p)
{
return abs(p.x - m_touchDownPoint.x) <= TOUCH_MOUSE_COORDS_DELTA &&
abs(p.y - m_touchDownPoint.y) <= TOUCH_MOUSE_COORDS_DELTA;
}
POINT AwtComponent::TouchCoordsToLocal(LONG x, LONG y)
{
POINT p{TOUCH_COORD_TO_PIXEL(x), TOUCH_COORD_TO_PIXEL(y)};
::ScreenToClient(GetHWnd(), &p);
return p;
}
void AwtComponent::SendMouseWheelEventFromTouch(POINT p, jint modifiers, jint scrollType, jint pixels)
{
SendMouseWheelEvent(java_awt_event_MouseEvent_MOUSE_WHEEL, ::JVM_CurrentTimeMillis(NULL, 0),
p.x, p.y, modifiers, 0, 0, scrollType,
/*scrollAmount*/ 1, pixels,
static_cast<double>(pixels), /*msg*/ nullptr);
}
void AwtComponent::SendMouseEventFromTouch(jint id, POINT p, jint modifiers)
{
SendMouseEvent(id, ::JVM_CurrentTimeMillis(NULL, 0), p.x, p.y,
modifiers, /*clickCount*/ 1, JNI_FALSE,
java_awt_event_MouseEvent_BUTTON1,
/*msg*/ nullptr, /*causedByTouchEvent*/ TRUE);
}
void AwtComponent::WmTouchHandler(const TOUCHINPUT& touchInput)
{
// skip multitouch, remove after gesture support
if (!(touchInput.dwFlags & TOUCHEVENTF_PRIMARY)) {
return;
}
jint modifiers = GetJavaModifiers();
// turn off horizontal
modifiers &= ~java_awt_event_InputEvent_SHIFT_DOWN_MASK;
const POINT p = TouchCoordsToLocal(touchInput.x, touchInput.y);
if (touchInput.dwFlags & TOUCHEVENTF_DOWN) {
m_touchDownPoint = p;
m_lastTouchPoint = p;
m_isTouchScroll = FALSE;
} else if (touchInput.dwFlags & TOUCHEVENTF_MOVE) {
if (IsInsideTouchClickBoundaries(p)) {
return;
}
if (!m_isTouchScroll) {
SendMouseWheelEventFromTouch(p, modifiers, TOUCH_BEGIN, 1);
m_isTouchScroll = TRUE;
}
const int deltaY = ScaleDownY(static_cast<int>(m_lastTouchPoint.y - p.y));
if (abs(deltaY) != 0) {
SendMouseWheelEventFromTouch(p, modifiers, TOUCH_UPDATE, deltaY);
}
const int deltaX = ScaleDownX(static_cast<int>(m_lastTouchPoint.x - p.x));
if (abs(deltaX) != 0) {
modifiers |= java_awt_event_InputEvent_SHIFT_DOWN_MASK;
SendMouseWheelEventFromTouch(p, modifiers, TOUCH_UPDATE, deltaX);
}
m_lastTouchPoint = p;
} else if (touchInput.dwFlags & TOUCHEVENTF_UP) {
if (m_isTouchScroll) {
SendMouseWheelEventFromTouch(p, modifiers, TOUCH_END, 1);
} else {
SendMouseEventFromTouch(java_awt_event_MouseEvent_MOUSE_PRESSED, p, modifiers);
SendMouseEventFromTouch(java_awt_event_MouseEvent_MOUSE_RELEASED, p, modifiers);
SendMouseEventFromTouch(java_awt_event_MouseEvent_MOUSE_CLICKED, p, modifiers);
}
delete[] pInputs;
}
}
@@ -2451,14 +2522,6 @@ MsgRouting AwtComponent::WmMouseDown(UINT flags, int x, int y, int button)
m_mouseButtonClickAllowed |= GetButtonMK(button);
lastTime = now;
BOOL causedByTouchEvent = FALSE;
if (m_touchDownOccurred &&
(abs(m_touchDownPoint.x - x) <= TOUCH_MOUSE_COORDS_DELTA) &&
(abs(m_touchDownPoint.y - y) <= TOUCH_MOUSE_COORDS_DELTA)) {
causedByTouchEvent = TRUE;
m_touchDownOccurred = FALSE;
}
MSG msg;
InitMessage(&msg, lastMessage, flags, MAKELPARAM(x, y), x, y);
@@ -2477,7 +2540,7 @@ MsgRouting AwtComponent::WmMouseDown(UINT flags, int x, int y, int button)
SendMouseEvent(java_awt_event_MouseEvent_MOUSE_PRESSED, now, x, y,
GetJavaModifiers(), clickCount, JNI_FALSE,
GetButton(button), &msg, causedByTouchEvent);
GetButton(button), &msg, /*causedByTouchEvent*/ FALSE);
/*
* NOTE: this call is intentionally placed after all other code,
* since AwtComponent::WmMouseDown() assumes that the cached id of the
@@ -2499,21 +2562,13 @@ MsgRouting AwtComponent::WmMouseDown(UINT flags, int x, int y, int button)
MsgRouting AwtComponent::WmMouseUp(UINT flags, int x, int y, int button)
{
BOOL causedByTouchEvent = FALSE;
if (m_touchUpOccurred &&
(abs(m_touchUpPoint.x - x) <= TOUCH_MOUSE_COORDS_DELTA) &&
(abs(m_touchUpPoint.y - y) <= TOUCH_MOUSE_COORDS_DELTA)) {
causedByTouchEvent = TRUE;
m_touchUpOccurred = FALSE;
}
MSG msg;
InitMessage(&msg, lastMessage, flags, MAKELPARAM(x, y), x, y);
SendMouseEvent(java_awt_event_MouseEvent_MOUSE_RELEASED, ::JVM_CurrentTimeMillis(NULL, 0),
x, y, GetJavaModifiers(), clickCount,
(GetButton(button) == java_awt_event_MouseEvent_BUTTON3 ?
TRUE : FALSE), GetButton(button), &msg, causedByTouchEvent);
TRUE : FALSE), GetButton(button), &msg, /*causedByTouchEvent*/ FALSE);
/*
* If no movement, then report a click following the button release.
* When WM_MOUSEUP comes to a window without previous WM_MOUSEDOWN,

View File

@@ -71,6 +71,9 @@ const int X_BUTTONS = MK_XBUTTON1|MK_XBUTTON2;
// corresponding WM_LBUTTONDOWN/WM_LBUTTONUP event letting to associate these
// events, when their coordinates are slightly different.
const int TOUCH_MOUSE_COORDS_DELTA = 10;
const int TOUCH_BEGIN = 2;
const int TOUCH_UPDATE = 3;
const int TOUCH_END = 4;
// Whether to check for embedded frame and adjust location
#define CHECK_EMBEDDED 0
@@ -532,6 +535,11 @@ public:
virtual MsgRouting WmWindowPosChanging(LPARAM windowPos);
virtual MsgRouting WmWindowPosChanged(LPARAM windowPos);
virtual void WmTouch(WPARAM wParam, LPARAM lParam);
void WmTouchHandler(const TOUCHINPUT& touchInput);
BOOL IsInsideTouchClickBoundaries(POINT p);
POINT TouchCoordsToLocal(LONG x, LONG y);
void SendMouseWheelEventFromTouch(POINT p, jint modifiers, jint scrollType, jint pixels);
void SendMouseEventFromTouch(jint id, POINT p, jint modifiers);
// NB: 64-bit: vkey is wParam of the message, but other API's take
// vkey parameters of type UINT, so we do the cast before dispatching.
@@ -781,10 +789,9 @@ private:
*/
UINT m_mouseButtonClickAllowed;
BOOL m_touchDownOccurred;
BOOL m_touchUpOccurred;
BOOL m_isTouchScroll;
POINT m_touchDownPoint;
POINT m_touchUpPoint;
POINT m_lastTouchPoint;
BOOL m_bSubclassed;
BOOL m_bPauseDestroy;

View File

@@ -700,6 +700,13 @@ BOOL AwtToolkit::Initialize(BOOL localPump) {
tk.m_touchKbrdAutoShowIsEnabled = env->CallStaticBooleanMethod(
sunToolkitCls, isTouchKeyboardAutoShowEnabledMID);
BOOL tracking = FALSE;
int result = 0;
result = ::SystemParametersInfo(SPI_GETACTIVEWINDOWTRACKING, 0,
&tracking, 0);
tk.m_active_window_tracking_mode_enabled = (tracking && (result != 0));
CATCH_BAD_ALLOC_RET(FALSE);
if (tk.m_isWin8OrLater && tk.m_touchKbrdAutoShowIsEnabled) {
@@ -803,6 +810,10 @@ BOOL AwtToolkit::IsDynamicLayoutSet() {
return m_isDynamicLayoutSet;
}
BOOL AwtToolkit::IsActiveWindowTrackingEnabled() {
return m_active_window_tracking_mode_enabled;
}
BOOL AwtToolkit::IsDynamicLayoutSupported() {
// SPI_GETDRAGFULLWINDOWS is only supported on Win95 if
// Windows Plus! is installed. Otherwise, box frame resize.

View File

@@ -198,6 +198,13 @@ class CriticalSection {
#define TOUCHEVENTF_NOCOALESCE 0x0020
#define TOUCHEVENTF_PEN 0x0040
#define TOUCHEVENTF_PALM 0x0080
#define MOUSEEVENTF_FROMTOUCH 0xFF515700
/*
* Conversion of touch input coordinates to pixels
*/
#define TOUCH_COORD_TO_PIXEL(l) ((l) / 100)
#endif
/************************************************************************
@@ -233,6 +240,7 @@ public:
void SetDynamicLayout(BOOL dynamic);
BOOL IsDynamicLayoutSet();
BOOL IsDynamicLayoutSupported();
BOOL IsActiveWindowTrackingEnabled();
BOOL IsDynamicLayoutActive();
BOOL areExtraMouseButtonsEnabled();
void setExtraMouseButtonsEnabled(BOOL enable);
@@ -470,6 +478,7 @@ private:
BOOL m_isActive; // set to FALSE at beginning of Dispose
BOOL m_isDisposed; // set to TRUE at end of Dispose
BOOL m_areExtraMouseButtonsEnabled;
BOOL m_active_window_tracking_mode_enabled;
typedef BOOL (WINAPI *RegisterTouchWindowFunc)(HWND hWnd, ULONG ulFlags);
typedef BOOL (WINAPI *GetTouchInputInfoFunc)(HTOUCHINPUT hTouchInput,

View File

@@ -98,6 +98,8 @@ runtime/modules/ModuleStress/ModuleStressGC.java
# :hotspot_serviceability
serviceability/logging/TestQuotedLogOutputs.java 8224505 windows-all
serviceability/sa/ClhsdbAttach.java 8193639 solaris-all
serviceability/sa/ClhsdbCDSCore.java 8207832 linux-all,generic-all crash is the expected behaviour
serviceability/sa/ClhsdbCDSJstackPrintAll.java 8193639 solaris-all

View File

@@ -0,0 +1,62 @@
/*
* Copyright (c) 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
* 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.
*/
import java.awt.EventQueue;
import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.Robot;
import java.awt.event.KeyEvent;
/**
* @test
* @key headful
* @bug 8234522
* @requires (os.family == "mac")
*/
public final class MacOSGoToFolderCrash {
public static void main(final String[] args) throws Exception {
EventQueue.invokeLater(() -> {
FileDialog fd = new FileDialog((Frame) null);
fd.setVisible(true);
});
Robot robot = new Robot();
robot.setAutoDelay(400);
robot.waitForIdle();
// "⌘+Shift+G" Open "Go To Folder" window
robot.keyPress(KeyEvent.VK_META);
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_G);
robot.keyRelease(KeyEvent.VK_G);
robot.keyRelease(KeyEvent.VK_SHIFT);
robot.keyRelease(KeyEvent.VK_META);
// Select something
robot.keyPress(KeyEvent.VK_DOWN);
robot.keyRelease(KeyEvent.VK_DOWN);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
// Close File dialog
robot.keyPress(KeyEvent.VK_ESCAPE);
robot.keyRelease(KeyEvent.VK_ESCAPE);
}
}

View File

@@ -591,7 +591,7 @@ java/awt/Window/8159168/SetShapeTest.java
java/awt/Window/BackgroundIsNotUpdated/BackgroundIsNotUpdated.java 8142536 generic-all
java/awt/Window/Grab/GrabTest.java 8196019 macosx-all,windows-all,linux-all
java/awt/Window/MultiWindowApp/ChildAlwaysOnTopTest.java 8215132,8194941 macosx-all,windows-all,linux-all
java/awt/Window/MultiWindowApp/MultiWindowAppTest.java 8159904 macosx-all,windows-all
java/awt/Window/MultiWindowApp/MultiWindowAppTest.java 8159904 macosx-all,windows-all,linux-all
java/awt/Window/ShapedAndTranslucentWindows/FocusAWTTest.java 8061236 macosx-all,windows-all,linux-all
java/awt/Window/ShapedAndTranslucentWindows/SetShape.java 8208509 macosx-all,windows-all,linux-all
java/awt/Window/ShapedAndTranslucentWindows/SetShapeAndClick.java 8197936 macosx-all,windows-all,linux-4.18.16-200.fc28.x86_64,linux-all (linux-all timeout reproduced with Adopt)
@@ -620,12 +620,13 @@ java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java
java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.html 8215538 windows-all,macosx-all,linux-all (macosx-all,linux-all: commit)
java/awt/dnd/DropTargetEnterExitTest/ExtraDragEnterTest.java 8029680 macosx-all,linux-all,windows-all
java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java 8028998,8159694 macosx-all,windows-all,linux-all
java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html 7124379,7188825 macosx-all,linux-all,windows-all
java/awt/dnd/ImageTransferTest/ImageTransferTest.java 8176556 generic-all
java/awt/dnd/InterJVMGetDropSuccessTest/InterJVMGetDropSuccessTest.html
java/awt/dnd/InterJVMGetDropSuccessTest/InterJVMGetDropSuccessTest.html 8208555 windows-all
java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java 8030121 macosx-all,windows-all,linux-all
java/awt/dnd/MissingEventsOnModalDialog/MissingEventsOnModalDialogTest.java 8164464 linux-all,macosx-all,windows-all
java/awt/dnd/NoFormatsCrashTest/NoFormatsCrashTest.html 8214221 windows-all,linux-all,macosx-all
java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html 8171510 macosx-all
java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html 8171510,7124379 macosx-all,linux-all
java/awt/dnd/URIListToFileListBetweenJVMsTest/URIListToFileListBetweenJVMsTest.html 8194947 generic-all
java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html 6511207 generic-all
java/awt/event/HierarchyEvent/AncestorResized/AncestorResized.java 6618538 generic-all
@@ -771,6 +772,8 @@ java/net/DatagramSocket/SendDatagramToBadAddress.java
java/net/httpclient/ProxyAuthDisabledSchemesSSL.java 8212695 macosx-all
java/net/httpclient/UnknownBodyLengthTest.java 8210130 macosx-all,windows-all
javax/net/ssl/SSLSocket/Tls13PacketSize.java 8224829 windows-all
com/sun/net/httpserver/bugs/B6361557.java 8196070 windows-all
sun/net/www/protocol/jar/jarbug/TestDriver.java nobug windows-6.1 fails on Windows 7 only

View File

@@ -112,11 +112,9 @@ java/awt/datatransfer/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html
java/awt/datatransfer/SystemSelection/SystemSelectionSwingTest.java nobug linux-all
java/awt/dnd/AcceptDropMultipleTimes/AcceptDropMultipleTimes.java nobug macosx-all,windows-all,linux-all
java/awt/dnd/DnDTestWithHIDPI/DragTestWithHIDPI.java nobug macosx-all,windows-all,linux-all
java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html nobug macosx-all,linux-all,windows-all
java/awt/dnd/InterJVMGetDropSuccessTest/InterJVMGetDropSuccessTest.html nobug macosx-all,windows-all,linux-all
java/awt/dnd/RecognizedActionTest/RecognizedActionTest.java nobug macosx-all,windows-all,linux-all
java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java nobug macosx-all,windows-all
java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html nobug macosx-all,linux-all
java/awt/event/KeyEvent/AltCharAcceleratorTest/AltCharAcceleratorTest.java nobug macosx-all,windows-all,linux-all
java/awt/event/KeyEvent/DeadKey/DeadKeyMacOSXInputText.java nobug macosx-all
java/awt/event/KeyEvent/DeadKey/deadKeyMacOSX.java nobug macosx-all