summaryrefslogtreecommitdiff
path: root/javascript/jsapi/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'javascript/jsapi/window.c')
-rw-r--r--javascript/jsapi/window.c327
1 files changed, 0 insertions, 327 deletions
diff --git a/javascript/jsapi/window.c b/javascript/jsapi/window.c
deleted file mode 100644
index 72d3837d9..000000000
--- a/javascript/jsapi/window.c
+++ /dev/null
@@ -1,327 +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 "utils/log.h"
-
-#include "javascript/jsapi.h"
-
-/* IDL
-
-[NamedPropertiesObject]
-interface Window : EventTarget {
- // the current browsing context
- [Unforgeable] readonly attribute WindowProxy window;
- [Replaceable] readonly attribute WindowProxy self;
- [Unforgeable] readonly attribute Document document;
- attribute DOMString name;
- [PutForwards=href, Unforgeable] readonly attribute Location location;
- readonly attribute History history;
-
- boolean find(optional DOMString aString, optional boolean aCaseSensitive, optional boolean aBackwards, optional boolean aWrapAround, optional boolean aWholeWord, optional boolean aSearchInFrames, optional boolean aShowDialog);
-
- [Replaceable] readonly attribute BarProp locationbar;
- [Replaceable] readonly attribute BarProp menubar;
- [Replaceable] readonly attribute BarProp personalbar;
- [Replaceable] readonly attribute BarProp scrollbars;
- [Replaceable] readonly attribute BarProp statusbar;
- [Replaceable] readonly attribute BarProp toolbar;
- attribute DOMString status;
- void close();
- void stop();
- void focus();
- void blur();
-
- // other browsing contexts
- [Replaceable] readonly attribute WindowProxy frames;
- [Replaceable] readonly attribute unsigned long length;
- [Unforgeable] readonly attribute WindowProxy top;
- attribute WindowProxy? opener;
- readonly attribute WindowProxy parent;
- readonly attribute Element? frameElement;
- WindowProxy open(optional DOMString url, optional DOMString target, optional DOMString features, optional boolean replace);
- getter WindowProxy (unsigned long index);
- getter object (DOMString name);
-
- // the user agent
- readonly attribute Navigator navigator;
- readonly attribute External external;
- readonly attribute ApplicationCache applicationCache;
-
- // user prompts
- void alert(DOMString message);
- boolean confirm(DOMString message);
- DOMString? prompt(DOMString message, optional DOMString default);
- void print();
- any showModalDialog(DOMString url, optional any argument);
-
- // cross-document messaging
- void postMessage(any message, DOMString targetOrigin, optional sequence<Transferable> transfer);
-
- // event handler IDL attributes
- [TreatNonCallableAsNull] attribute Function? onabort;
- [TreatNonCallableAsNull] attribute Function? onafterprint;
- [TreatNonCallableAsNull] attribute Function? onbeforeprint;
- [TreatNonCallableAsNull] attribute Function? onbeforeunload;
- [TreatNonCallableAsNull] attribute Function? onblur;
- [TreatNonCallableAsNull] attribute Function? oncancel;
- [TreatNonCallableAsNull] attribute Function? oncanplay;
- [TreatNonCallableAsNull] attribute Function? oncanplaythrough;
- [TreatNonCallableAsNull] attribute Function? onchange;
- [TreatNonCallableAsNull] attribute Function? onclick;
- [TreatNonCallableAsNull] attribute Function? onclose;
- [TreatNonCallableAsNull] attribute Function? oncontextmenu;
- [TreatNonCallableAsNull] attribute Function? oncuechange;
- [TreatNonCallableAsNull] attribute Function? ondblclick;
- [TreatNonCallableAsNull] attribute Function? ondrag;
- [TreatNonCallableAsNull] attribute Function? ondragend;
- [TreatNonCallableAsNull] attribute Function? ondragenter;
- [TreatNonCallableAsNull] attribute Function? ondragleave;
- [TreatNonCallableAsNull] attribute Function? ondragover;
- [TreatNonCallableAsNull] attribute Function? ondragstart;
- [TreatNonCallableAsNull] attribute Function? ondrop;
- [TreatNonCallableAsNull] attribute Function? ondurationchange;
- [TreatNonCallableAsNull] attribute Function? onemptied;
- [TreatNonCallableAsNull] attribute Function? onended;
- [TreatNonCallableAsNull] attribute Function? onerror;
- [TreatNonCallableAsNull] attribute Function? onfocus;
- [TreatNonCallableAsNull] attribute Function? onhashchange;
- [TreatNonCallableAsNull] attribute Function? oninput;
- [TreatNonCallableAsNull] attribute Function? oninvalid;
- [TreatNonCallableAsNull] attribute Function? onkeydown;
- [TreatNonCallableAsNull] attribute Function? onkeypress;
- [TreatNonCallableAsNull] attribute Function? onkeyup;
- [TreatNonCallableAsNull] attribute Function? onload;
- [TreatNonCallableAsNull] attribute Function? onloadeddata;
- [TreatNonCallableAsNull] attribute Function? onloadedmetadata;
- [TreatNonCallableAsNull] attribute Function? onloadstart;
- [TreatNonCallableAsNull] attribute Function? onmessage;
- [TreatNonCallableAsNull] attribute Function? onmousedown;
- [TreatNonCallableAsNull] attribute Function? onmousemove;
- [TreatNonCallableAsNull] attribute Function? onmouseout;
- [TreatNonCallableAsNull] attribute Function? onmouseover;
- [TreatNonCallableAsNull] attribute Function? onmouseup;
- [TreatNonCallableAsNull] attribute Function? onmousewheel;
- [TreatNonCallableAsNull] attribute Function? onoffline;
- [TreatNonCallableAsNull] attribute Function? ononline;
- [TreatNonCallableAsNull] attribute Function? onpause;
- [TreatNonCallableAsNull] attribute Function? onplay;
- [TreatNonCallableAsNull] attribute Function? onplaying;
- [TreatNonCallableAsNull] attribute Function? onpagehide;
- [TreatNonCallableAsNull] attribute Function? onpageshow;
- [TreatNonCallableAsNull] attribute Function? onpopstate;
- [TreatNonCallableAsNull] attribute Function? onprogress;
- [TreatNonCallableAsNull] attribute Function? onratechange;
- [TreatNonCallableAsNull] attribute Function? onreset;
- [TreatNonCallableAsNull] attribute Function? onresize;
- [TreatNonCallableAsNull] attribute Function? onscroll;
- [TreatNonCallableAsNull] attribute Function? onseeked;
- [TreatNonCallableAsNull] attribute Function? onseeking;
- [TreatNonCallableAsNull] attribute Function? onselect;
- [TreatNonCallableAsNull] attribute Function? onshow;
- [TreatNonCallableAsNull] attribute Function? onstalled;
- [TreatNonCallableAsNull] attribute Function? onstorage;
- [TreatNonCallableAsNull] attribute Function? onsubmit;
- [TreatNonCallableAsNull] attribute Function? onsuspend;
- [TreatNonCallableAsNull] attribute Function? ontimeupdate;
- [TreatNonCallableAsNull] attribute Function? onunload;
- [TreatNonCallableAsNull] attribute Function? onvolumechange;
- [TreatNonCallableAsNull] attribute Function? onwaiting;
-};
-
-*/
-
-
-static JSBool JSAPI_NATIVE(alert, JSContext *cx, uintN argc, jsval *vp)
-{
- JSString* u16_txt;
- char *txt;
- unsigned long length;
-
- if (!JS_ConvertArguments(cx, argc, JSAPI_ARGV(cx, vp), "S", &u16_txt))
- return JS_FALSE;
-
- JSString_to_char(u16_txt, txt, length);
-
- warn_user(txt, NULL);
-
- JSAPI_SET_RVAL(cx, vp, JSVAL_VOID);
-
- return JS_TRUE;
-}
-
-static JSBool JSAPI_NATIVE(confirm, JSContext *cx, uintN argc, jsval *vp)
-{
- JSString* u16_txt;
- char *txt;
- unsigned long length;
- JSBool result = JS_FALSE;
-
- if (!JS_ConvertArguments(cx, argc, JSAPI_ARGV(cx, vp), "S", &u16_txt))
- return JS_FALSE;
-
- JSString_to_char(u16_txt, txt, length);
-
- warn_user(txt, NULL);
-
- JSAPI_SET_RVAL(cx, vp, BOOLEAN_TO_JSVAL(result));
-
- return JS_TRUE;
-}
-
-static JSBool JSAPI_NATIVE(prompt, JSContext *cx, uintN argc, jsval *vp)
-{
- JSString* u16_txt;
- char *txt;
- unsigned long length;
-
- if (!JS_ConvertArguments(cx, argc, JSAPI_ARGV(cx, vp), "S", &u16_txt))
- return JS_FALSE;
-
- JSString_to_char(u16_txt, txt, length);
-
- warn_user(txt, NULL);
-
- JSAPI_SET_RVAL(cx, vp, JSVAL_VOID);
-
- return JS_TRUE;
-}
-
-static JSBool JSAPI_NATIVE(close, JSContext *cx, uintN argc, jsval *vp)
-{
- JSAPI_SET_RVAL(cx, vp, JSVAL_VOID);
-
- return JS_TRUE;
-}
-
-static JSBool JSAPI_NATIVE(stop, JSContext *cx, uintN argc, jsval *vp)
-{
- JSAPI_SET_RVAL(cx, vp, JSVAL_VOID);
-
- return JS_TRUE;
-}
-
-static JSBool JSAPI_NATIVE(focus, JSContext *cx, uintN argc, jsval *vp)
-{
- JSAPI_SET_RVAL(cx, vp, JSVAL_VOID);
-
- return JS_TRUE;
-}
-
-static JSBool JSAPI_NATIVE(blur, JSContext *cx, uintN argc, jsval *vp)
-{
- JSAPI_SET_RVAL(cx, vp, JSVAL_VOID);
-
- return JS_TRUE;
-}
-
-static JSFunctionSpec jsfunctions_window[] =
-{
- JSAPI_FS(close, 0, 0),
- JSAPI_FS(stop, 0, 0),
- JSAPI_FS(focus, 0, 0),
- JSAPI_FS(blur, 0, 0),
- JSAPI_FS(alert, 1, 0),
- JSAPI_FS(confirm, 1, 0),
- JSAPI_FS(prompt, 1, 0),
- JSAPI_FS_END
-};
-
-
-static JSBool JSAPI_PROPERTYGET(window, JSContext *cx, JSObject *obj, jsval *vp)
-{
- JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj));
- return JS_TRUE;
-}
-
-static JSBool JSAPI_PROPERTYGET(self, JSContext *cx, JSObject *obj, jsval *vp)
-{
- JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj));
- return JS_TRUE;
-}
-
-static JSPropertySpec jsproperties_window[] =
-{
- JSAPI_PS_RO(window, 0, JSPROP_ENUMERATE | JSPROP_SHARED),
- JSAPI_PS_RO(self, 0, JSPROP_ENUMERATE | JSPROP_SHARED),
- JSAPI_PS_END
-};
-
-/* The class of the global object. */
-static JSClass jsclass_window = {
- "window",
- JSCLASS_HAS_PRIVATE | JSCLASS_GLOBAL_FLAGS,
- JS_PropertyStub,
- JS_PropertyStub,
- JS_PropertyStub,
- JS_StrictPropertyStub,
- JS_EnumerateStub,
- JS_ResolveStub,
- JS_ConvertStub,
- JS_FinalizeStub,
- JSCLASS_NO_OPTIONAL_MEMBERS
-};
-
-
-JSObject * jsapi_new_window(JSContext *cx, JSObject *parent, void *win_priv)
-{
- JSObject *window = NULL;
-
- if (parent == NULL) {
- window = JS_NewCompartmentAndGlobalObject(cx, &jsclass_window, NULL);
- if (window == NULL) {
- return NULL;
- }
-
- /** @todo reconsider global object handling. future
- * editions of spidermonkey appear to be removing the
- * idea of a global so we probably need to handle
- * global object references internally
- */
-
- /* set the contexts global */
- JS_SetGlobalObject(cx, window);
-
- /* Populate the global object with the standard globals, like
- * Object and Array.
- */
- if (!JS_InitStandardClasses(cx, window)) {
- return NULL;
- }
-
- } else {
- /* @todo sort out windows that are not globals */
- assert(false);
- }
-
- /* private pointer to browsing context */
- if (!JS_SetPrivate(cx, window, win_priv))
- return NULL;
-
- /* functions */
- if (!JS_DefineFunctions(cx, window, jsfunctions_window)) {
- return NULL;
- }
-
- /* properties */
- if (!JS_DefineProperties(cx, window, jsproperties_window))
- return NULL;
-
- LOG(("Created new window object %p", window));
-
- return window;
-}