8027561: [macosx] Cleanup "may not respond to selector" warnings in native code
Reviewed-by: azvegint, serb
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CWrapper.java Thu Dec 26 21:33:24 2013 +0400
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CWrapper.java Thu Jan 09 12:47:01 2014 +0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
@@ -25,8 +25,6 @@
package sun.lwawt.macosx;
-import java.awt.geom.Rectangle2D;
-
public final class CWrapper {
private CWrapper() { }
@@ -61,8 +59,6 @@
public static native void addChildWindow(long parent, long child, int ordered);
public static native void removeChildWindow(long parent, long child);
- public static native void setFrame(long window, int x, int y, int w, int h, boolean display);
-
public static native void setAlphaValue(long window, float alpha);
public static native void setOpaque(long window, boolean opaque);
public static native void setBackgroundColor(long window, long color);
@@ -80,7 +76,6 @@
public static native void removeFromSuperview(long view);
public static native void setFrame(long view, int x, int y, int w, int h);
- public static native Rectangle2D frame(long view);
public static native long window(long view);
public static native void setHidden(long view, boolean hidden);
@@ -88,10 +83,6 @@
public static native void setToolTip(long view, String msg);
}
- public static final class NSObject {
- public static native void release(long object);
- }
-
public static final class NSColor {
public static native long clearColor();
}
--- a/jdk/src/macosx/native/sun/awt/AWTView.h Thu Dec 26 21:33:24 2013 +0400
+++ b/jdk/src/macosx/native/sun/awt/AWTView.h Thu Jan 09 12:47:01 2014 +0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
@@ -29,7 +29,7 @@
#import "CDragSource.h"
#import "CDropTarget.h"
-@interface AWTView : NSView<NSTextInputClient> {
+@interface AWTView : NSView<NSTextInputClient, CDragSourceHolder, CDropTargetHolder> {
@private
jobject m_cPlatformView;
@@ -61,14 +61,8 @@
- (id) initWithRect:(NSRect) rect platformView:(jobject)cPlatformView windowLayer:(CALayer*)windowLayer;
- (void) deliverJavaMouseEvent: (NSEvent *) event;
-- (void) resetTrackingArea;
-- (void) deliverJavaKeyEventHelper: (NSEvent *) event;
- (jobject) awtComponent:(JNIEnv *)env;
-- (void) setDragSource:(CDragSource *)source;
-- (void) setDropTarget:(CDropTarget *)target;
-
-
// Input method-related events
- (void)setInputMethod:(jobject)inputMethod;
- (void)abandonInput;
--- a/jdk/src/macosx/native/sun/awt/AWTView.m Thu Dec 26 21:33:24 2013 +0400
+++ b/jdk/src/macosx/native/sun/awt/AWTView.m Thu Jan 09 12:47:01 2014 +0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
@@ -42,6 +42,10 @@
@interface AWTView()
@property (retain) CDropTarget *_dropTarget;
@property (retain) CDragSource *_dragSource;
+
+-(void) deliverResize: (NSRect) rect;
+-(void) resetTrackingArea;
+-(void) deliverJavaKeyEventHelper: (NSEvent*) event;
@end
// Uncomment this line to see fprintfs of each InputMethod API being called on this View
--- a/jdk/src/macosx/native/sun/awt/CDragSource.h Thu Dec 26 21:33:24 2013 +0400
+++ b/jdk/src/macosx/native/sun/awt/CDragSource.h Thu Jan 09 12:47:01 2014 +0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
@@ -29,9 +29,15 @@
#import <Cocoa/Cocoa.h>
#include <jni.h>
+@class CDragSource;
+
+@protocol CDragSourceHolder
+- (void) setDragSource:(CDragSource *)source;
+@end
+
@interface CDragSource : NSObject {
@private
- NSView* fView;
+ NSView<CDragSourceHolder>* fView;
jobject fComponent;
jobject fDragSourceContextPeer;
@@ -53,8 +59,6 @@
jint fDragMouseModifiers;
}
-+ (CDragSource *) currentDragSource;
-
// Common methods:
- (id) init:(jobject)jDragSourceContextPeer
component:(jobject)jComponent
@@ -84,13 +88,6 @@
- (void)draggedImage:(NSImage *)image movedTo:(NSPoint)screenPoint;
- (BOOL)ignoreModifierKeysWhileDragging;
-// Updates from the destination to the source
-- (void) postDragEnter;
-- (void) postDragExit;
-
-// Utility
-- (NSPoint) mapNSScreenPointToJavaWithOffset:(NSPoint) point;
-
@end
#endif // CDragSource_h
--- a/jdk/src/macosx/native/sun/awt/CDragSource.m Thu Dec 26 21:33:24 2013 +0400
+++ b/jdk/src/macosx/native/sun/awt/CDragSource.m Thu Jan 09 12:47:01 2014 +0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
@@ -75,15 +75,18 @@
static NSDragOperation sDragOperation;
static NSPoint sDraggingLocation;
-static CDragSource* sCurrentDragSource;
static BOOL sNeedsEnter;
+@interface CDragSource ()
+// Updates from the destination to the source
+- (void) postDragEnter;
+- (void) postDragExit;
+// Utility
+- (NSPoint) mapNSScreenPointToJavaWithOffset:(NSPoint) point;
+@end
+
@implementation CDragSource
-+ (CDragSource *) currentDragSource {
- return sCurrentDragSource;
-}
-
- (id) init:(jobject)jDragSourceContextPeer
component:(jobject)jComponent
control:(id)control
@@ -515,8 +518,6 @@
fDragKeyModifiers = [DnDUtilities extractJavaExtKeyModifiersFromJavaExtModifiers:fModifiers];
fDragMouseModifiers = [DnDUtilities extractJavaExtMouseModifiersFromJavaExtModifiers:fModifiers];
- // Set the current DragSource
- sCurrentDragSource = self;
sNeedsEnter = YES;
@try {
@@ -566,8 +567,6 @@
JNF_MEMBER_CACHE(resetHoveringMethod, CDragSourceContextPeerClass, "resetHovering", "()V");
JNFCallVoidMethod(env, fDragSourceContextPeer, resetHoveringMethod); // Hust reset static variable
} @finally {
- // Clear the current DragSource
- sCurrentDragSource = nil;
sNeedsEnter = NO;
}
--- a/jdk/src/macosx/native/sun/awt/CDropTarget.h Thu Dec 26 21:33:24 2013 +0400
+++ b/jdk/src/macosx/native/sun/awt/CDropTarget.h Thu Jan 09 12:47:01 2014 +0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
@@ -31,9 +31,15 @@
@class ControlModel;
+@class CDropTarget;
+
+@protocol CDropTargetHolder
+- (void) setDropTarget:(CDropTarget *)target;
+@end
+
@interface CDropTarget : NSObject {
@private
- NSView* fView;
+ NSView<CDropTargetHolder>* fView;
jobject fComponent;
jobject fDropTarget;
jobject fDropTargetContextPeer;
--- a/jdk/src/macosx/native/sun/awt/CWrapper.h Thu Dec 26 21:33:24 2013 +0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 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.
- */
--- a/jdk/src/macosx/native/sun/awt/CWrapper.m Thu Dec 26 21:33:24 2013 +0400
+++ b/jdk/src/macosx/native/sun/awt/CWrapper.m Thu Jan 09 12:47:01 2014 +0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
@@ -23,38 +23,11 @@
* questions.
*/
-#import "CWrapper.h"
-
#import <JavaNativeFoundation/JavaNativeFoundation.h>
-
-#import "AWTWindow.h"
-#import "LWCToolkit.h"
-#import "GeomUtilities.h"
#import "ThreadUtilities.h"
-
#import "sun_lwawt_macosx_CWrapper_NSWindow.h"
/*
- * Class: sun_lwawt_macosx_CWrapper$NSObject
- * Method: release
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL
-Java_sun_lwawt_macosx_CWrapper_00024NSObject_release
-(JNIEnv *env, jclass cls, jlong objectPtr)
-{
-JNF_COCOA_ENTER(env);
-
- id obj = (id)jlong_to_ptr(objectPtr);
- [ThreadUtilities performOnMainThreadWaiting:NO block:^(){
- CFRelease(obj);
- }];
-
-JNF_COCOA_EXIT(env);
-}
-
-
-/*
* Class: sun_lwawt_macosx_CWrapper$NSWindow
* Method: makeKeyAndOrderFront
* Signature: (J)V
@@ -309,8 +282,8 @@
{
JNF_COCOA_ENTER(env);
- AWTWindow *parent = (AWTWindow *)jlong_to_ptr(parentPtr);
- AWTWindow *child = (AWTWindow *)jlong_to_ptr(childPtr);
+ NSWindow *parent = (NSWindow *)jlong_to_ptr(parentPtr);
+ NSWindow *child = (NSWindow *)jlong_to_ptr(childPtr);
[ThreadUtilities performOnMainThread:@selector(removeChildWindow:)
on:parent
withObject:child
@@ -321,26 +294,6 @@
/*
* Class: sun_lwawt_macosx_CWrapper$NSWindow
- * Method: setFrame
- * Signature: (JIIIIZ)V
- */
-JNIEXPORT void JNICALL
-Java_sun_lwawt_macosx_CWrapper_00024NSWindow_setFrame
-(JNIEnv *env, jclass cls, jlong windowPtr, jint x, jint y, jint w, jint h, jboolean display)
-{
-JNF_COCOA_ENTER(env);
-
- AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr);
- NSRect frame = NSMakeRect(x, y, w, h);
- [ThreadUtilities performOnMainThreadWaiting:NO block:^(){
- [window setFrame:frame display:display];
- }];
-
-JNF_COCOA_EXIT(env);
-}
-
-/*
- * Class: sun_lwawt_macosx_CWrapper$NSWindow
* Method: setAlphaValue
* Signature: (JF)V
*/
@@ -350,7 +303,7 @@
{
JNF_COCOA_ENTER(env);
- AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr);
+ NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr);
[ThreadUtilities performOnMainThreadWaiting:NO block:^(){
[window setAlphaValue:(CGFloat)alpha];
}];
@@ -369,7 +322,7 @@
{
JNF_COCOA_ENTER(env);
- AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr);
+ NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr);
[ThreadUtilities performOnMainThreadWaiting:NO block:^(){
[window setOpaque:(BOOL)opaque];
}];
@@ -388,7 +341,7 @@
{
JNF_COCOA_ENTER(env);
- AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr);
+ NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr);
NSColor *color = (NSColor *)jlong_to_ptr(colorPtr);
[ThreadUtilities performOnMainThreadWaiting:NO block:^(){
[window setBackgroundColor:color];
@@ -398,6 +351,7 @@
}
/*
+ * Class: sun_lwawt_macosx_CWrapper$NSWindow
* Method: miniaturize
* Signature: (J)V
*/
@@ -561,33 +515,6 @@
/*
* Class: sun_lwawt_macosx_CWrapper$NSView
- * Method: frame
- * Signature: (J)Ljava/awt/Rectangle;
- */
-JNIEXPORT jobject JNICALL
-Java_sun_lwawt_macosx_CWrapper_00024NSView_frame
-(JNIEnv *env, jclass cls, jlong viewPtr)
-{
- jobject jRect = NULL;
-
-JNF_COCOA_ENTER(env);
-
- __block NSRect rect = NSZeroRect;
-
- NSView *view = (NSView *)jlong_to_ptr(viewPtr);
- [ThreadUtilities performOnMainThreadWaiting:YES block:^(){
- rect = [view frame];
- }];
-
- jRect = NSToJavaRect(env, rect);
-
-JNF_COCOA_EXIT(env);
-
- return jRect;
-}
-
-/*
- * Class: sun_lwawt_macosx_CWrapper$NSView
* Method: window
* Signature: (J)J
*/