diff options
author | Vincent Sanders <vince@kyllikki.org> | 2012-11-01 23:29:01 +0000 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2012-11-01 23:29:01 +0000 |
commit | b34cbc5e8303fba36712d48af65d8eefb1097890 (patch) | |
tree | 69b70a50b4e19c78842dac61547f8b6e7f338a3c /javascript/jsapi/navigator.c | |
parent | 2b8cdf1f295cc65c5f6935f067289fdb35e3349d (diff) | |
download | netsurf-b34cbc5e8303fba36712d48af65d8eefb1097890.tar.gz netsurf-b34cbc5e8303fba36712d48af65d8eefb1097890.tar.bz2 |
remove old handmade binding code
Diffstat (limited to 'javascript/jsapi/navigator.c')
-rw-r--r-- | javascript/jsapi/navigator.c | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/javascript/jsapi/navigator.c b/javascript/jsapi/navigator.c deleted file mode 100644 index 88fc5351a..000000000 --- a/javascript/jsapi/navigator.c +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright 2012 Vincent Sanders <vince@netsurf-browser.org> - * - * This file is part of NetSurf, http://www.netsurf-browser.org/ - * - * NetSurf is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * NetSurf 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 for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include <assert.h> -#include <stdlib.h> - -#include "desktop/netsurf.h" -#include "desktop/options.h" - -#include "utils/config.h" -#include "utils/useragent.h" -#include "utils/log.h" -#include "utils/utsname.h" - -#include "javascript/jsapi.h" - -/* - * navigator properties for netsurf - * - * Property | Everyone else | NetSurf | Notes - * ------------+-----------------+--------------+------------------------------ - * appCodeName | "Mozilla" | "NetSurf" | This is kinda a pointless - * | | | constant as everyone returns - * | | | "Mozilla" which is dumb - * ------------+-----------------+--------------+------------------------------ - * appName | "<Browsername>" | "NetSurf" | Browsers named other than - * | | | "Netscape", "Mozilla", - * | | | "Netscape Navigator", - * | | | "Microsoft Internet Explorer" - * | | | often other browser have - * | | | "(compatible with Netscape)" - * | | | append. - * ------------+-----------------+--------------+------------------------------ - * appVersion | "<ver> (<type>)"| "<ver>" | Actually just the version - * | | | number e.g "3.0". - * ------------+-----------------+--------------+------------------------------ - * language | "<lang>" | "<lang>" | The language the frontend is - * | | | configured for - * ------------+-----------------+--------------+------------------------------ - * platform | "<krn> <hw>" | "<krn> <hw>" | Efectively uname -s -i, - * | | | eg "Linux x86_64" - * ------------+-----------------+--------------+------------------------------ - * userAgent | "Mozilla/5.0 (" | "NetSurf" | The usual useragent string - * | | | with excessive lies - * ------------+-----------------+--------------+------------------------------ - */ - -static JSFunctionSpec jsfunctions_navigator[] = { - JS_FS_END -}; - -#define NAVIGATOR_APPNAME "NetSurf" -#define NAVIGATOR_APPCODENAME "NetSurf" - -static JSBool JSAPI_PROPERTYGET(appName, JSContext *cx, JSObject *obj, jsval *vp) -{ - JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(JS_NewStringCopyZ(cx, NAVIGATOR_APPNAME))); - return JS_TRUE; -} - -static JSBool JSAPI_PROPERTYSET(appName, JSContext *cx, JSObject *obj, jsval *vp) -{ - assert(false); - return JS_FALSE; -} - -static JSBool JSAPI_PROPERTYGET(appCodeName, JSContext *cx, JSObject *obj, jsval *vp) -{ - JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(JS_NewStringCopyZ(cx, NAVIGATOR_APPCODENAME))); - return JS_TRUE; -} - -static JSBool JSAPI_PROPERTYSET(appCodeName, JSContext *cx, JSObject *obj, jsval *vp) -{ - assert(false); - return JS_FALSE; -} - -static JSBool JSAPI_PROPERTYGET(appVersion, JSContext *cx, JSObject *obj, jsval *vp) -{ - JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(JS_NewStringCopyZ(cx, netsurf_version))); - return JS_TRUE; -} - -static JSBool JSAPI_PROPERTYSET(appVersion, JSContext *cx, JSObject *obj, jsval *vp) -{ - assert(false); - return JS_FALSE; -} - -static JSBool JSAPI_PROPERTYGET(language, JSContext *cx, JSObject *obj, jsval *vp) -{ - const char *alang = nsoption_charp(accept_language); - - if (alang != NULL) { - JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(JS_NewStringCopyZ(cx, alang))); - } else { - JS_SET_RVAL(cx, vp, JSVAL_VOID); - } - return JS_TRUE; -} - -static JSBool JSAPI_PROPERTYSET(language, JSContext *cx, JSObject *obj, jsval *vp) -{ - assert(false); - return JS_FALSE; -} - -static JSBool JSAPI_PROPERTYGET(platform, JSContext *cx, JSObject *obj, jsval *vp) -{ - struct utsname *cutsname; - - cutsname = malloc(sizeof(struct utsname)); - - if ((cutsname == NULL) || uname(cutsname) < 0) { - JS_SET_RVAL(cx, vp, JSVAL_VOID); - } else { - char *platstr; - int platstrlen; - platstrlen = strlen(cutsname->sysname) + strlen(cutsname->machine) + 2; - platstr = malloc(platstrlen); - if (platstr != NULL) { - snprintf(platstr, platstrlen, "%s %s", cutsname->sysname, cutsname->machine); - JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(JS_NewStringCopyN(cx, platstr, platstrlen - 1))); - free(platstr); - } else { - JS_SET_RVAL(cx, vp, JSVAL_VOID); - } - } - return JS_TRUE; -} - -static JSBool JSAPI_PROPERTYSET(platform, JSContext *cx, JSObject *obj, jsval *vp) -{ - assert(false); - return JS_FALSE; -} - -static JSBool JSAPI_PROPERTYGET(userAgent, JSContext *cx, JSObject *obj, jsval *vp) -{ - JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(JS_NewStringCopyZ(cx, user_agent_string()))); - return JS_TRUE; -} - -static JSBool JSAPI_PROPERTYSET(userAgent, JSContext *cx, JSObject *obj, jsval *vp) -{ - assert(false); - return JS_FALSE; -} - - -static JSPropertySpec jsproperties_navigator[] = -{ - JSAPI_PS(appName, 0, JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_SHARED), - JSAPI_PS(appCodeName, 0, JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_SHARED), - JSAPI_PS(appVersion, 0, JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_SHARED), - JSAPI_PS(language, 0, JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_SHARED), - JSAPI_PS(platform, 0, JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_SHARED), - JSAPI_PS(userAgent, 0, JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_SHARED), - JSAPI_PS_END -}; - -static JSClass jsclass_navigator = -{ - "navigator", - JSCLASS_HAS_PRIVATE, - JS_PropertyStub, - JS_PropertyStub, - JS_PropertyStub, - JS_StrictPropertyStub, - JS_EnumerateStub, - JS_ResolveStub, - JS_ConvertStub, - JS_FinalizeStub, - JSCLASS_NO_OPTIONAL_MEMBERS -}; - - -JSObject *jsapi_new_navigator(JSContext *cx, JSObject *parent) -{ - return JS_InitClass(cx, - parent, - NULL, - &jsclass_navigator, - NULL, - 0, - jsproperties_navigator, - jsfunctions_navigator, - NULL, - NULL); -} |