Project: SWT
Bug 108573 Make Objective-C Runtime APIs public in SWT WebKit.java for MacOS X
Reported: 2005-09-01 10:22:37 | Status: resolved fixed

Currently there are some methods defined to call Objective-C runtime APIs in org.eclipse.swt/Eclipse SWT Browser/carbon/org/eclipse/swt/browser/WebKit.java: static final native int objc_getClass(byte[] className); static final native int objc_msgSend(int object, int selector); static final native int objc_msgSend(int object, int selector, int arg0); static final native int objc_msgSend(int object, int selector, int arg0, int arg1); static final native int objc_msgSend(int object, int selector, int arg0, int arg1, int arg2); static final native int objc_msgSend(int object, int selector, int arg0, int arg1, int arg2, int arg3); static final native int sel_registerName(byte[] selectorName); These APIs are required to call Cocoa Objective-C APIs. But the current problem is these APIs are defined as package private only in org.eclipse.swt.browser. I think these APIs should be public, and move them in OS.java for MacOS X.

Files changed in fix:
bundles/org.eclipse.swt/Eclipse SWT Browser/carbon/org/eclipse/swt/browser/Browser.java bundles/org.eclipse.swt/Eclipse SWT Browser/carbon/org/eclipse/swt/browser/WebKit.java bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/cocoa/Cocoa.java bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/cocoa/NSPoint.java bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/cocoa/NSRect.java bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/cocoa/NSSize.java