mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
cdad9adf19
Add session_class, which defines a JSObject wrapper for struct session. Add location_array_class, which defines a JSObject wrapper for struct ses_history. The "history" member of struct session is a struct ses_history, which is a linked list of struct location. Add a pointer from struct session to the session_class object and the location_array object. Add smjs_get_session_object to return a session_class JSObject wrapper for a given struct session. Add smjs_get_session_location_array_object to return a location_array_class JSObject wrapper for a given struct session. Add "session" property to the "elinks" object, which uses smjs_get_session_object to get a JSObject wrapper for smjs_ses. Add smjs_location_array_get_property, which allows indexing a location_array object using a positive number for history forward or a negative number for history backward. Add session_props, session_get_property, session_set_property, session_funcs, smjs_session_goto_url (which implements the "goto" method), and smjs_init_session_interface for session_class. Add session_construct, which creates a new tab and returns the JSObject session_class wrapper. Add session_finalize and smjs_location_array_finalize, which clear the pointers between struct session and the JSObject wrappers in question. Add smjs_detach_session_object, which clears the pointers between a given struct session and the corresponding JSObject wrappers. In destroy_session, call smjs_detach_session_object. Add jsval_to_object helper in ecmascript/spidermonkey/util.h; jsval_to_object is used in smjs_session_goto_url. Modify delayed_goto_uri_frame to allow the target to be NULL. smjs_session_goto_url needs this modification.
17 lines
400 B
C
17 lines
400 B
C
#ifndef EL__SCRIPTING_SMJS_SESSION_OBJECT_H
|
|
#define EL__SCRIPTING_SMJS_SESSION_OBJECT_H
|
|
|
|
#include "ecmascript/spidermonkey-shared.h"
|
|
|
|
struct session;
|
|
struct terminal;
|
|
|
|
JSObject *smjs_get_session_object(struct session *ses);
|
|
JSObject *smjs_get_session_array_object(struct terminal *term);
|
|
|
|
void smjs_detach_session_array_object(struct terminal *term);
|
|
|
|
void smjs_init_session_interface(void);
|
|
|
|
#endif
|