| /******************************************************************************* |
| * Copyright (c) 2000, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| // Modified by Google |
| package org.eclipse.swt.browser; |
| |
| import org.eclipse.swt.internal.*; |
| |
| // GOOGLE: make this public |
| public class WebKit { |
| |
| static { |
| Library.loadLibrary("swt-webkit"); //$NON-NLS-1$ |
| WebInitForCarbon(); |
| } |
| |
| /* Objective-C class ids */ |
| static final int C_NSHTTPCookieStorage = WebKit.objc_getClass("NSHTTPCookieStorage"); //$NON-NLS-1$ |
| static final int C_NSNotificationCenter = WebKit.objc_getClass("NSNotificationCenter"); //$NON-NLS-1$ |
| static final int C_NSNumber = WebKit.objc_getClass("NSNumber"); //$NON-NLS-1$ |
| static final int C_NSURL = WebKit.objc_getClass("NSURL"); //$NON-NLS-1$ |
| static final int C_NSURLRequest = WebKit.objc_getClass("NSURLRequest"); //$NON-NLS-1$ |
| static final int C_WebKitDelegate = WebKit.objc_getClass("WebKitDelegate"); //$NON-NLS-1$ |
| static final int C_WebDownload = WebKit.objc_getClass("WebDownload"); //$NON-NLS-1$ |
| static final int C_WebView = WebKit.objc_getClass("WebView"); //$NON-NLS-1$ |
| |
| /* Objective-C method selectors */ |
| static final int S_absoluteString = WebKit.sel_registerName("absoluteString"); //$NON-NLS-1$ |
| static final int S_addObserver_selector_name_object = WebKit.sel_registerName("addObserver:selector:name:object:"); //$NON-NLS-1$ |
| static final int S_alloc = WebKit.sel_registerName("alloc"); //$NON-NLS-1$ |
| static final int S_autorelease = WebKit.sel_registerName("autorelease"); //$NON-NLS-1$ |
| static final int S_cancel = WebKit.sel_registerName("cancel"); //$NON-NLS-1$ |
| static final int S_canGoBack = WebKit.sel_registerName("canGoBack"); //$NON-NLS-1$ |
| static final int S_canGoForward = WebKit.sel_registerName("canGoForward"); //$NON-NLS-1$ |
| static final int S_canShowMIMEType = WebKit.sel_registerName("canShowMIMEType:"); //$NON-NLS-1$ |
| static final int S_chooseFilename = WebKit.sel_registerName("chooseFilename:"); //$NON-NLS-1$ |
| static final int S_cookies = WebKit.sel_registerName("cookies"); //$NON-NLS-1$ |
| static final int S_count = WebKit.sel_registerName("count"); //$NON-NLS-1$ |
| static final int S_dataSource = WebKit.sel_registerName("dataSource"); //$NON-NLS-1$ |
| static final int S_defaultCenter = WebKit.sel_registerName("defaultCenter"); //$NON-NLS-1$ |
| static final int S_deleteCookie = WebKit.sel_registerName("deleteCookie:"); //$NON-NLS-1$ |
| static final int S_download = WebKit.sel_registerName("download"); //$NON-NLS-1$ |
| static final int S_goBack = WebKit.sel_registerName("goBack:"); //$NON-NLS-1$ |
| static final int S_goForward = WebKit.sel_registerName("goForward:"); //$NON-NLS-1$ |
| static final int S_handleNotification = WebKit.sel_registerName("handleNotification:"); //$NON-NLS-1$ |
| static final int S_ignore = WebKit.sel_registerName("ignore"); //$NON-NLS-1$ |
| static final int S_initialRequest = WebKit.sel_registerName("initialRequest"); //$NON-NLS-1$ |
| static final int S_initWithProc = WebKit.sel_registerName("initWithProc:user_data:"); //$NON-NLS-1$ |
| static final int S_isSessionOnly = WebKit.sel_registerName("isSessionOnly"); //$NON-NLS-1$ |
| static final int S_loadHTMLStringbaseURL = WebKit.sel_registerName("loadHTMLString:baseURL:"); //$NON-NLS-1$ |
| static final int S_loadRequest = WebKit.sel_registerName("loadRequest:"); //$NON-NLS-1$ |
| static final int S_mainFrame = WebKit.sel_registerName("mainFrame"); //$NON-NLS-1$ |
| static final int S_name = WebKit.sel_registerName("name"); //$NON-NLS-1$ |
| static final int S_numberWithInt = WebKit.sel_registerName("numberWithInt:"); //$NON-NLS-1$ |
| static final int S_objectAtIndex = WebKit.sel_registerName("objectAtIndex:"); //$NON-NLS-1$ |
| static final int S_provisionalDataSource = WebKit.sel_registerName("provisionalDataSource"); //$NON-NLS-1$ |
| static final int S_release = WebKit.sel_registerName("release"); //$NON-NLS-1$ |
| static final int S_reload = WebKit.sel_registerName("reload:"); //$NON-NLS-1$ |
| static final int S_retain = WebKit.sel_registerName("retain"); //$NON-NLS-1$ |
| static final int S_removeObserver_name_object = WebKit.sel_registerName("removeObserver:name:object:"); //$NON-NLS-1$ |
| static final int S_removeObserver = WebKit.sel_registerName("removeObserver:"); //$NON-NLS-1$ |
| static final int S_requestWithURL = WebKit.sel_registerName("requestWithURL:"); //$NON-NLS-1$ |
| static final int S_request = WebKit.sel_registerName("request"); //$NON-NLS-1$ |
| static final int S_retainCount = WebKit.sel_registerName("retainCount"); //$NON-NLS-1$ |
| static final int S_setDestinationAllowOverwrite = WebKit.sel_registerName("setDestination:allowOverwrite:"); //$NON-NLS-1$ |
| static final int S_setDownloadDelegate = WebKit.sel_registerName("setDownloadDelegate:"); //$NON-NLS-1$ |
| static final int S_setFrameLoadDelegate = WebKit.sel_registerName("setFrameLoadDelegate:"); //$NON-NLS-1$ |
| static final int S_setGroupName = WebKit.sel_registerName("setGroupName:"); //$NON-NLS-1$ |
| static final int S_setPolicyDelegate = WebKit.sel_registerName("setPolicyDelegate:"); //$NON-NLS-1$ |
| static final int S_setResourceLoadDelegate = WebKit.sel_registerName("setResourceLoadDelegate:"); //$NON-NLS-1$ |
| static final int S_setStatusText = WebKit.sel_registerName("setStatusText:"); //$NON-NLS-1$ |
| static final int S_setUIDelegate = WebKit.sel_registerName("setUIDelegate:"); //$NON-NLS-1$ |
| static final int S_sharedHTTPCookieStorage = WebKit.sel_registerName("sharedHTTPCookieStorage"); //$NON-NLS-1$ |
| static final int S_stopLoading = WebKit.sel_registerName("stopLoading:"); //$NON-NLS-1$ |
| static final int S_stringByEvaluatingJavaScriptFromString = WebKit.sel_registerName("stringByEvaluatingJavaScriptFromString:"); //$NON-NLS-1$ |
| static final int S_takeStringURLFrom = WebKit.sel_registerName("takeStringURLFrom:"); //$NON-NLS-1$ |
| static final int S_use = WebKit.sel_registerName("use"); //$NON-NLS-1$ |
| static final int S_webFrame = WebKit.sel_registerName("webFrame"); //$NON-NLS-1$ |
| static final int S_URL = WebKit.sel_registerName("URL"); //$NON-NLS-1$ |
| static final int S_URLWithString = WebKit.sel_registerName("URLWithString:"); //$NON-NLS-1$ |
| |
| /* WebKit */ |
| static final native int HIWebViewCreate(int[] outView); |
| static final native int HIWebViewGetWebView(int inView); |
| static final native void WebInitForCarbon(); |
| |
| /* OBJ-C runtime primitives */ |
| static final native int objc_getClass(byte[] className); |
| //GOOGLE: make this public |
| public 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); |
| |
| static byte [] ascii (String name) { |
| int length = name.length (); |
| char [] chars = new char [length]; |
| name.getChars (0, length, chars, 0); |
| byte [] buffer = new byte [length + 1]; |
| for (int i=0; i<length; i++) { |
| buffer [i] = (byte) chars [i]; |
| } |
| return buffer; |
| } |
| |
| // GOOGLE: make this public |
| public static int sel_registerName(String selector) { |
| return WebKit.sel_registerName(ascii(selector)); |
| } |
| |
| static int objc_getClass(String className) { |
| return WebKit.objc_getClass(ascii(className)); |
| } |
| } |