changeset 12090:dc12f65d4b6a

8173031: Temporary backout fix #8171952 from 8u131-b03 Reviewed-by: dmarkov
author asaha
date Wed, 18 Jan 2017 22:40:39 -0800
parents 0ccdad186d13
children 06926fc104a2
files src/macosx/native/sun/awt/AWTWindow.m test/java/awt/Frame/ObscuredFrame/ObscuredFrameTest.java
diffstat 2 files changed, 2 insertions(+), 107 deletions(-) [+]
line wrap: on
line diff
--- a/src/macosx/native/sun/awt/AWTWindow.m	Mon Jan 02 17:15:16 2017 +0300
+++ b/src/macosx/native/sun/awt/AWTWindow.m	Wed Jan 18 22:40:39 2017 -0800
@@ -326,44 +326,10 @@
     return [window isKindOfClass: [AWTWindow_Panel class]] || [window isKindOfClass: [AWTWindow_Normal class]];
 }
 
-// Retrieves the list of possible window layers (levels)
-+ (NSArray*) getWindowLayers {
-    static NSArray *windowLayers;
-    static dispatch_once_t token;
-
-    // Initialize the list of possible window layers
-    dispatch_once(&token, ^{
-        // The layers are ordered from front to back, (i.e. the toppest one is the first)
-        windowLayers = [NSArray arrayWithObjects:
-                            [NSNumber numberWithInt:CGWindowLevelForKey(kCGPopUpMenuWindowLevelKey)],
-                            [NSNumber numberWithInt:CGWindowLevelForKey(kCGFloatingWindowLevelKey)],
-                            [NSNumber numberWithInt:CGWindowLevelForKey(kCGNormalWindowLevelKey)],
-                            nil
-                       ];
-        [windowLayers retain];
-    });
-    return windowLayers;
-}
-
-
 // returns id for the topmost window under mouse
 + (NSInteger) getTopmostWindowUnderMouseID {
     NSInteger result = -1;
-
-    NSArray *windowLayers = [AWTWindow getWindowLayers];
-    // Looking for the window under mouse starting from the toppest layer
-    for (NSNumber *layer in windowLayers) {
-        result = [AWTWindow getTopmostWindowUnderMouseIDImpl:[layer integerValue]];
-        if (result != -1) {
-            break;
-        }
-    }
-    return result;
-}
-
-+ (NSInteger) getTopmostWindowUnderMouseIDImpl:(NSInteger)windowLayer {
-    NSInteger result = -1;
-
+    
     NSRect screenRect = [[NSScreen mainScreen] frame];
     NSPoint nsMouseLocation = [NSEvent mouseLocation];
     CGPoint cgMouseLocation = CGPointMake(nsMouseLocation.x, screenRect.size.height - nsMouseLocation.y);
@@ -372,7 +338,7 @@
 
     for (NSDictionary *window in windows) {
         NSInteger layer = [[window objectForKey:(id)kCGWindowLayer] integerValue];
-        if (layer == windowLayer) {
+        if (layer == 0) {
             CGRect rect;
             CGRectMakeWithDictionaryRepresentation((CFDictionaryRef)[window objectForKey:(id)kCGWindowBounds], &rect);
             if (CGRectContainsPoint(rect, cgMouseLocation)) {
--- a/test/java/awt/Frame/ObscuredFrame/ObscuredFrameTest.java	Mon Jan 02 17:15:16 2017 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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.
- *
- * 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.
- */
-
-/*
- * @test
- * @bug 8171952
- * @summary Tests that getMousePosition() returns null for obscured component.
- * @author Dmitry Markov
- * @library ../../regtesthelpers
- * @build Util
- * @run main ObscuredFrameTest
- */
-
-import java.awt.*;
-
-import test.java.awt.regtesthelpers.Util;
-
-public class ObscuredFrameTest {
-    public static void main(String[] args) {
-        Robot robot = Util.createRobot();
-
-        Frame frame = new Frame("Obscured Frame");
-        frame.setSize(200, 200);
-        frame.setLocationRelativeTo(null);
-        Button button = new Button("Button");
-        frame.add(button);
-
-        Dialog dialog = new Dialog(frame, "Visible Dialog", false);
-        dialog.setSize(200, 200);
-        dialog.setLocationRelativeTo(null);
-        dialog.setVisible(true);
-
-        frame.setVisible(true);
-
-        Util.waitForIdle(robot);
-
-        Util.pointOnComp(button, robot);
-        Util.waitForIdle(robot);
-        robot.delay(2000);
-
-        try {
-            if (button.getMousePosition() != null) {
-                throw new RuntimeException("Test Failed! Mouse position is not null for obscured component.");
-            }
-        } finally {
-            frame.dispose();
-            dialog.dispose();
-        }
-    }
-}
-