Removing obsolete headers. Bug 38061. r/sr=cls.
git-svn-id: svn://10.0.0.236/trunk@84088 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
8a49aa69ad
commit
a106ac63fb
@ -7,7 +7,6 @@ abdefn.h
|
||||
client.h
|
||||
csid.h
|
||||
ctxtfunc.h
|
||||
cvactive.h
|
||||
dirprefs.h
|
||||
edt.h
|
||||
edttypes.h
|
||||
@ -16,10 +15,8 @@ glhist.h
|
||||
gui.h
|
||||
intl_csi.h
|
||||
libc_r.h
|
||||
libevent.h
|
||||
libi18n.h
|
||||
libmime.h
|
||||
libmocha.h
|
||||
lo_ele.h
|
||||
merrors.h
|
||||
mime.h
|
||||
@ -32,9 +29,7 @@ msgtypes.h
|
||||
m_cvstrm.h
|
||||
ncompat.h
|
||||
net.h
|
||||
np.h
|
||||
npapi.h
|
||||
npassoc.h
|
||||
npupp.h
|
||||
ntypes.h
|
||||
platform.h
|
||||
|
||||
@ -1,45 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
#ifndef CV_ACTIVE
|
||||
#define CV_ACTIVE
|
||||
|
||||
#include "net.h"
|
||||
|
||||
/* define a constant to be passed to CV_MakeMultipleDocumentStream
|
||||
* as the data_object to signify that it should return
|
||||
* MK_END_OF_MULTIPART_MESSAGE when it gets to the end
|
||||
* of the multipart instead of waiting for the complete
|
||||
* function to be called
|
||||
*/
|
||||
#define CVACTIVE_SIGNAL_AT_END_OF_MULTIPART 999
|
||||
|
||||
XP_BEGIN_PROTOS
|
||||
|
||||
extern NET_StreamClass *
|
||||
CV_MakeMultipleDocumentStream (int format_out,
|
||||
void *data_object,
|
||||
URL_Struct *URL_s,
|
||||
MWContext *window_id);
|
||||
XP_END_PROTOS
|
||||
|
||||
#endif /* CV_ACTIVE */
|
||||
@ -1,789 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
/*
|
||||
* Header file for event passing between the mozilla thread and
|
||||
* the mocha thread
|
||||
*/
|
||||
|
||||
#ifndef libevent_h___
|
||||
#define libevent_h___
|
||||
|
||||
#include "libmocha.h"
|
||||
#include "prtypes.h"
|
||||
#include "plevent.h"
|
||||
#include "shist.h"
|
||||
#include "fe_proto.h"
|
||||
#include "lo_ele.h"
|
||||
|
||||
NSPR_BEGIN_EXTERN_C
|
||||
|
||||
extern PREventQueue * mozilla_event_queue;
|
||||
|
||||
typedef struct WindowGroup LMWindowGroup;
|
||||
|
||||
/*
|
||||
* XXX - should we use the same event values as layer events?
|
||||
*/
|
||||
|
||||
/* Event bits stored in the low end of decoder->event_mask. */
|
||||
#define EVENT_MOUSEDOWN 0x00000001
|
||||
#define EVENT_MOUSEUP 0x00000002
|
||||
#define EVENT_MOUSEOVER 0x00000004 /* user is mousing over a link */
|
||||
#define EVENT_MOUSEOUT 0x00000008 /* user is mousing out of a link */
|
||||
#define EVENT_MOUSEMOVE 0x00000010
|
||||
#define EVENT_MOUSEDRAG 0x00000020
|
||||
#define EVENT_CLICK 0x00000040 /* input element click in progress */
|
||||
#define EVENT_DBLCLICK 0x00000080
|
||||
#define EVENT_KEYDOWN 0x00000100
|
||||
#define EVENT_KEYUP 0x00000200
|
||||
#define EVENT_KEYPRESS 0x00000400
|
||||
#define EVENT_DRAGDROP 0x00000800 /* not yet implemented */
|
||||
#define EVENT_FOCUS 0x00001000 /* input focus event in progress */
|
||||
#define EVENT_BLUR 0x00002000 /* loss of focus event in progress */
|
||||
#define EVENT_SELECT 0x00004000 /* input field selection in progress */
|
||||
#define EVENT_CHANGE 0x00008000 /* field value change in progress */
|
||||
#define EVENT_RESET 0x00010000 /* form submit in progress */
|
||||
#define EVENT_SUBMIT 0x00020000 /* form submit in progress */
|
||||
#define EVENT_SCROLL 0x00040000 /* window is being scrolled */
|
||||
#define EVENT_LOAD 0x00080000 /* layout parsed a loaded document */
|
||||
#define EVENT_UNLOAD 0x00100000
|
||||
#define EVENT_XFER_DONE 0x00200000 /* document has loaded */
|
||||
#define EVENT_ABORT 0x00400000
|
||||
#define EVENT_ERROR 0x00800000
|
||||
#define EVENT_LOCATE 0x01000000
|
||||
#define EVENT_MOVE 0x02000000
|
||||
#define EVENT_RESIZE 0x04000000
|
||||
#define EVENT_FORWARD 0x08000000
|
||||
#define EVENT_HELP 0x10000000 /* for handling of help events */
|
||||
#define EVENT_BACK 0x20000000
|
||||
|
||||
/* #define EVENT_PRINT 0x20000000 *//* To be removed per joki */
|
||||
|
||||
#define STATUS_STOP 0x00000001 /* stop processing */
|
||||
#define STATUS_IGNORE 0x00000002 /* no new messages */
|
||||
|
||||
#define EVENT_ALT_MASK 0x00000001
|
||||
#define EVENT_CONTROL_MASK 0x00000002
|
||||
#define EVENT_SHIFT_MASK 0x00000004
|
||||
#define EVENT_META_MASK 0x00000008
|
||||
|
||||
#define ARGTYPE_NULL 0x00000001
|
||||
#define ARGTYPE_INT32 0x00000002
|
||||
#define ARGTYPE_BOOL 0x00000004
|
||||
#define ARGTYPE_STRING 0x00000008
|
||||
|
||||
/*
|
||||
* When the event has been processed by the backend, there will be
|
||||
* a front-end callback that gets called. If the event processed
|
||||
* successfully, the callback will be passed EVENT_OK. If the
|
||||
* event wasn't successful (i.e. the user canceled it) the return
|
||||
* status will be EVENT_CANCEL. If something radical happened
|
||||
* and the front-end should do nothing (i.e. mocha changed the
|
||||
* underlying context) the status will be EVENT_PANIC and the
|
||||
* front end should treat the context and element passed to the
|
||||
* exit routine as bogus
|
||||
*/
|
||||
typedef enum {
|
||||
EVENT_OK,
|
||||
EVENT_CANCEL,
|
||||
EVENT_PANIC
|
||||
} ETEventStatus;
|
||||
|
||||
/*
|
||||
* When a given event gets processed we may need to tell the front
|
||||
* end about it so that they can update the UI / continue the
|
||||
* operation. The context, lo_element, lType and whatever
|
||||
* field are all supplied by the original ET_SendEvent() call.
|
||||
* See ET_SendEvent() for a description of the values for
|
||||
* the status parameter
|
||||
*/
|
||||
typedef void
|
||||
(*ETClosureFunc)(MWContext * pContext, LO_Element * lo_element,
|
||||
int32 lType, void * whatever, ETEventStatus status);
|
||||
|
||||
/*
|
||||
* Someone has initiated a call to LM_EvaluateBuffer(). This function
|
||||
* gets called back with the result
|
||||
*/
|
||||
typedef void
|
||||
(*ETEvalAckFunc)(void * data, char * result_string, size_t result_length,
|
||||
char * wysiwyg_url, char * base_href, Bool valid);
|
||||
|
||||
/*
|
||||
* This function is called back after a layer's state has been restored
|
||||
* in a resize_relayout.
|
||||
*/
|
||||
typedef void
|
||||
(*ETRestoreAckFunc)(void * data, void *param);
|
||||
|
||||
/*
|
||||
* Typedef for a function taking a void pointer and
|
||||
* returning nothing
|
||||
*/
|
||||
typedef void
|
||||
(*ETVoidPtrFunc)(void * data);
|
||||
|
||||
/*
|
||||
* Typedef for a function taking a void pointer and
|
||||
* returning a bool
|
||||
*/
|
||||
typedef PRBool
|
||||
(*ETBoolPtrFunc)(void * data);
|
||||
|
||||
/*
|
||||
* Typedef for a function taking a void pointer and
|
||||
* returning a int32
|
||||
*/
|
||||
typedef int32
|
||||
(*ETIntPtrFunc)(void * data);
|
||||
|
||||
/*
|
||||
* Typedef for a function taking a void pointer and
|
||||
* returning a char *
|
||||
*/
|
||||
typedef char *
|
||||
(*ETStringPtrFunc)(void * data);
|
||||
|
||||
/*
|
||||
* Struct for passing JS typed variable info through C interface calls
|
||||
*/
|
||||
typedef union ArgVal {
|
||||
int32 intArg;
|
||||
XP_Bool boolArg;
|
||||
char * stringArg;
|
||||
} ArgVal;
|
||||
|
||||
typedef struct {
|
||||
uint8 type; /* arg type as defined at top of file */
|
||||
ArgVal value;
|
||||
} JSCompArg;
|
||||
|
||||
/*
|
||||
* Typedef for a function used to verify installed components and
|
||||
* get back components utility functions.
|
||||
*/
|
||||
typedef PRBool
|
||||
(*ETVerifyComponentFunc)(void **active_callback, void **startup_callback);
|
||||
|
||||
/*
|
||||
* Generic function for JS setting values with native calls.
|
||||
*/
|
||||
typedef void
|
||||
(*ETCompPropSetterFunc)(char *name, void *value);
|
||||
|
||||
/*
|
||||
* Generic function for JS getting values from native calls.
|
||||
*/
|
||||
typedef void*
|
||||
(*ETCompPropGetterFunc)(char *name);
|
||||
|
||||
/*
|
||||
* Generic function for JS calling native methods.
|
||||
*/
|
||||
typedef void*
|
||||
(*ETCompMethodFunc)(int32 argc, JSCompArg *argv);
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
* Common prologue for talking between the mocha thread and the mozilla
|
||||
* thread
|
||||
*/
|
||||
typedef struct {
|
||||
PREvent event; /* the PREvent structure */
|
||||
MWContext* context; /* context */
|
||||
int32 doc_id; /* doc id of context when event launched */
|
||||
PRPackedBool handle_eagerly;
|
||||
} ETEvent;
|
||||
|
||||
/*
|
||||
* Struct to send back from front end in order to get additional
|
||||
* event information without having to initialize event object
|
||||
* until necessary. Yow, there is a lot of junk in here now
|
||||
* can we make a union out of some of these or are they always
|
||||
* needed?
|
||||
*/
|
||||
typedef struct {
|
||||
ETEvent ce;
|
||||
MochaDecoder * decoder;
|
||||
JSObject * object;
|
||||
int32 type;
|
||||
int32 layer_id;
|
||||
int32 id;
|
||||
LO_Element * lo_element;
|
||||
ETClosureFunc fnClosure; /* event sender closure */
|
||||
void * whatever; /* anything other state */
|
||||
int32 x,y;
|
||||
int32 docx,docy;
|
||||
int32 screenx,screeny;
|
||||
uint32 which;
|
||||
uint32 modifiers;
|
||||
void * data;
|
||||
uint32 dataSize;
|
||||
PRPackedBool saved;
|
||||
PRPackedBool event_handled;
|
||||
} JSEvent;
|
||||
|
||||
/*
|
||||
* Tell the backend about a new event.
|
||||
* The event is placed onto an event queue, it is not processed
|
||||
* immediately. If the event is the type that can be cancelled
|
||||
* by the backend (i.e. a button click or a submit) the front
|
||||
* end must wait until the callback routine gets called before
|
||||
* continuing with the operation. The ETEventStatus will be
|
||||
* EVENT_OK if the operation is to continue or EVENT_CANCEL
|
||||
* if it got cancelled.
|
||||
*
|
||||
* The processing of the event may cause the document to change
|
||||
* or even the whole window to close. In those cases the callback
|
||||
* will still get called in case there is any front-end cleanup
|
||||
* to do but the ETEventStatus will be set to EVENT_PANIC
|
||||
*
|
||||
*/
|
||||
|
||||
extern JSBool
|
||||
ET_SendEvent(MWContext * pContext, LO_Element *pElement, JSEvent *pEvent,
|
||||
ETClosureFunc fnClosure, void * whatever);
|
||||
|
||||
/*
|
||||
* Tell the backend about a new document load event. We need a
|
||||
* closure so that libparse/layout knows when its safe to discard
|
||||
* the old document when they were waiting for onunload events to
|
||||
* finish processing
|
||||
*/
|
||||
extern void
|
||||
ET_SendLoadEvent(MWContext * pContext, int32 type, ETVoidPtrFunc fnClosure,
|
||||
NET_StreamClass *stream, int32 layer_id, Bool resize_reload);
|
||||
|
||||
/*
|
||||
* Tell the backend about a new image event. Async. No closure
|
||||
*/
|
||||
extern void
|
||||
ET_SendImageEvent(MWContext * pContext, LO_ImageStruct *image_data,
|
||||
LM_ImageEvent event);
|
||||
|
||||
/*
|
||||
* Send an interrupt event to the current context
|
||||
* Remove all pending events for the event queue of the given context.
|
||||
*/
|
||||
extern void
|
||||
ET_InterruptContext(MWContext * pContext);
|
||||
|
||||
extern JSBool
|
||||
ET_ContinueProcessing(MWContext * pContext);
|
||||
|
||||
/*
|
||||
* Tell mocha to destroy the given context's data. The callback
|
||||
* function gets called when mocha is done with all of its data
|
||||
* that was associated with the context
|
||||
*/
|
||||
extern void
|
||||
ET_RemoveWindowContext(MWContext * context, ETVoidPtrFunc fn,
|
||||
void * data);
|
||||
|
||||
typedef struct {
|
||||
uint len, line_no;
|
||||
char * scope_to;
|
||||
void * data;
|
||||
JSVersion version;
|
||||
JSPrincipals * principals;
|
||||
JSBool want_result;
|
||||
JSBool unicode;
|
||||
} ETEvalStuff;
|
||||
|
||||
/*
|
||||
* Evaluate the mocha code in the given buffer
|
||||
*/
|
||||
extern void
|
||||
ET_EvaluateBuffer(MWContext * context, char * buffer, uint buflen,
|
||||
uint line_no, char * scope_to, JSBool want_result,
|
||||
ETEvalAckFunc fn, void * data,
|
||||
JSVersion ver, struct JSPrincipals *);
|
||||
|
||||
extern void
|
||||
ET_EvaluateScript(MWContext * context, char * buffer, ETEvalStuff * stuff,
|
||||
ETEvalAckFunc fn);
|
||||
|
||||
/*
|
||||
* Ask Mocha to reflect the given object into JavaScript
|
||||
*/
|
||||
extern void
|
||||
ET_ReflectObject(MWContext * pContext, void * lo_ele, void * tag,
|
||||
int32 layer_id, uint index, ReflectedObject type);
|
||||
|
||||
void
|
||||
ET_ReflectFormElement(MWContext * pContext, void * form,
|
||||
LO_FormElementStruct * form_element, PA_Tag * tag);
|
||||
|
||||
extern void
|
||||
ET_ReflectWindow(MWContext * pContext,
|
||||
PA_Block onLoad, PA_Block onUnload,
|
||||
PA_Block onFocus, PA_Block onBlur, PA_Block onHelp,
|
||||
PA_Block onMouseOver, PA_Block onMouseOut, PA_Block onDragDrop,
|
||||
PA_Block onMove, PA_Block onResize,
|
||||
PA_Block id, char *all,
|
||||
Bool bDelete, int newline_count);
|
||||
|
||||
/*
|
||||
* Tell mocha we are processing a form
|
||||
*/
|
||||
extern void
|
||||
ET_SetActiveForm(MWContext * pContext, struct lo_FormData_struct * loElement);
|
||||
|
||||
/*
|
||||
* Tell mocha which layer we are processing
|
||||
*/
|
||||
void
|
||||
ET_SetActiveLayer(MWContext * pContext, int32 layer_id);
|
||||
|
||||
/*
|
||||
** Tell mocha where to send its output
|
||||
*/
|
||||
extern void
|
||||
ET_ClearDecoderStream(MWContext * context, NET_StreamClass * old_stream);
|
||||
|
||||
extern void
|
||||
ET_SetDecoderStream(MWContext * context, NET_StreamClass *stream,
|
||||
URL_Struct *url_struct, JSBool free_stream_on_close);
|
||||
|
||||
/*
|
||||
** Remember the current nesting URL in the MochaDecoder
|
||||
*/
|
||||
extern void
|
||||
ET_SetNestingUrl(MWContext * context, char * szUrl);
|
||||
|
||||
/*
|
||||
** Set up the principals for an upcoming softupdate script.
|
||||
*/
|
||||
extern void
|
||||
ET_StartSoftUpdate(MWContext * pContext, char *codebase);
|
||||
|
||||
/*
|
||||
** Remember the current language version in the MochaDecoder
|
||||
*/
|
||||
extern void
|
||||
ET_SetVersion(MWContext * context, JSVersion version);
|
||||
|
||||
/*
|
||||
* Tell mocha to trash the current document. around and around...
|
||||
*/
|
||||
extern void
|
||||
ET_ReleaseDocument(MWContext * pContext, JSBool resize_reload);
|
||||
|
||||
/*
|
||||
* Tell mocha to trash the layer's document.
|
||||
*/
|
||||
extern void
|
||||
ET_DestroyLayer(MWContext * pContext, JSObject *layer_obj);
|
||||
|
||||
extern void
|
||||
ET_MochaStreamComplete(MWContext * context, void * buf, int len,
|
||||
char * content_type, Bool isUnicode);
|
||||
|
||||
extern void
|
||||
ET_MochaStreamAbort(MWContext * context, int status);
|
||||
|
||||
/*
|
||||
* Called when a layer's contents are changing and we want to create
|
||||
* a new layer document.
|
||||
*/
|
||||
extern void
|
||||
ET_NewLayerDocument(MWContext *pContext, int32 layer_id);
|
||||
|
||||
extern void
|
||||
ET_DocWriteAck(MWContext *pContext, int status);
|
||||
|
||||
extern void
|
||||
ET_RegisterComponent(char *name, void *active_callback, void *startup_callback);
|
||||
|
||||
extern void
|
||||
ET_RegisterComponentProp(char *comp, char *name, uint8 retType, void *setter,
|
||||
void *getter);
|
||||
|
||||
extern void
|
||||
ET_RegisterComponentMethod(char *comp, char *name, uint8 retType, void *method,
|
||||
int32 argc);
|
||||
|
||||
/* =============================================================== */
|
||||
|
||||
/*
|
||||
* This event can be sent to both the mozilla thread and the moacha thread
|
||||
*/
|
||||
typedef struct {
|
||||
ETEvent ce;
|
||||
TimeoutCallbackFunction fnCallback;
|
||||
void* pClosure;
|
||||
uint32 ulTime;
|
||||
void* pTimerId;
|
||||
} MozillaEvent_Timeout;
|
||||
|
||||
|
||||
/* =============================================================== */
|
||||
|
||||
/*
|
||||
* Busy loop waiting for events to come along
|
||||
*/
|
||||
extern void PR_CALLBACK
|
||||
lm_wait_for_events(void *);
|
||||
|
||||
/*
|
||||
* global mocha event queues. It would be nice to not have these
|
||||
* exported this globally
|
||||
*/
|
||||
extern PREventQueue *lm_InterpretQueue;
|
||||
extern PREventQueue *lm_PriorityQueue;
|
||||
|
||||
/*
|
||||
* Ways to send events to the front end
|
||||
*/
|
||||
extern JSBool
|
||||
ET_PostMessageBox(MWContext* context, char* szMessage,
|
||||
JSBool bConfirm);
|
||||
|
||||
JSBool
|
||||
ET_PostCheckConfirmBox(MWContext* context,
|
||||
char* szMainMessage, char* szCheckMessage,
|
||||
char* szOKMessage, char* szCancelMessage,
|
||||
XP_Bool *bChecked);
|
||||
|
||||
extern void
|
||||
ET_PostProgress(MWContext* context, const char* szMessage);
|
||||
|
||||
/* --- timeout routines --- */
|
||||
|
||||
/*
|
||||
* Set (or clear) a timeout to go off. The timeout will go off in the
|
||||
* mozilla thread so we will use the routine ET_FireTimeoutCallBack()
|
||||
* to get back into our thread to actually run the closure
|
||||
*/
|
||||
extern void *
|
||||
ET_PostSetTimeout(TimeoutCallbackFunction fnCallback,
|
||||
void * pClosure, uint32 ulTime, int32 doc_id);
|
||||
|
||||
extern void
|
||||
ET_PostClearTimeout(void * stuff);
|
||||
|
||||
extern void
|
||||
ET_FireTimeoutCallBack(void *);
|
||||
|
||||
/* --- end of timeout routines --- */
|
||||
|
||||
extern void
|
||||
ET_PostDestroyWindow(MWContext * context);
|
||||
|
||||
extern void
|
||||
ET_PostManipulateForm(MWContext * context, LO_Element * pForm, int32 action);
|
||||
|
||||
extern void
|
||||
ET_PostClearView(MWContext * context);
|
||||
|
||||
extern void
|
||||
ET_PostFreeImageElement(MWContext * context, void * stuff);
|
||||
|
||||
extern void
|
||||
ET_PostFreeImageContext(MWContext *context, IL_GroupContext *img_cx);
|
||||
|
||||
extern void
|
||||
ET_PostFreeAnonImages(MWContext *context, IL_GroupContext *img_cx);
|
||||
|
||||
extern void
|
||||
ET_PostDisplayImage(MWContext *, int, LO_ImageStruct *);
|
||||
|
||||
extern void
|
||||
ET_PostGetUrl(MWContext *, URL_Struct * pUrl);
|
||||
|
||||
extern char *
|
||||
ET_PostPrompt(MWContext* context, const char* szMessage,
|
||||
const char * szDefault);
|
||||
|
||||
extern MWContext *
|
||||
ET_PostNewWindow(MWContext* context, URL_Struct * pUrl,
|
||||
char * szName, Chrome * pChrome, LMWindowGroup *grp);
|
||||
|
||||
extern void
|
||||
ET_PostUpdateChrome(MWContext* context, Chrome * pChrome);
|
||||
|
||||
extern void
|
||||
ET_PostQueryChrome(MWContext* context, Chrome * pChrome);
|
||||
|
||||
extern void
|
||||
ET_PostGetScreenSize(MWContext* context, int32 *pX, int32 *pY);
|
||||
|
||||
extern void
|
||||
ET_PostGetAvailScreenRect(MWContext* context, int32 *pX, int32 *pY,
|
||||
int32 *pLeft, int32 *pTop);
|
||||
|
||||
extern void
|
||||
ET_PostGetColorDepth(MWContext* context, int32 *pPixel, int32 *pPallette);
|
||||
|
||||
extern char *
|
||||
ET_PostGetSelectedText(MWContext* context);
|
||||
|
||||
extern void
|
||||
ET_PostScrollDocTo(MWContext* context, int loc, int32 x, int32 y);
|
||||
|
||||
extern void
|
||||
ET_PostScrollDocBy(MWContext* context, int loc, int32 x, int32 y);
|
||||
|
||||
extern void
|
||||
ET_PostBackCommand(MWContext* context);
|
||||
|
||||
extern void
|
||||
ET_PostForwardCommand(MWContext* context);
|
||||
|
||||
extern void
|
||||
ET_PostHomeCommand(MWContext* context);
|
||||
|
||||
extern JSBool
|
||||
ET_PostFindCommand(MWContext* context, char * szName, JSBool matchCase,
|
||||
JSBool searchBackward);
|
||||
extern void
|
||||
ET_PostPrintCommand(MWContext* context);
|
||||
|
||||
extern void
|
||||
ET_PostOpenFileCommand(MWContext* context);
|
||||
|
||||
extern void
|
||||
ET_MakeHTMLAlert(MWContext * context, const char * szString);
|
||||
|
||||
/* respond to events sent to the mocha thread by the mozilla thread */
|
||||
|
||||
extern void
|
||||
ET_PostJsEventAck(MWContext* context, LO_Element * pEle, int type,
|
||||
ETClosureFunc fnClosure, void * pStuff,
|
||||
ETEventStatus status);
|
||||
|
||||
|
||||
|
||||
extern void
|
||||
ET_PostEvalAck(MWContext * context, int doc_id, void * data,
|
||||
char * str, size_t len, char * wysiwyg_url,
|
||||
char * base_href, Bool valid, ETEvalAckFunc fn);
|
||||
|
||||
extern void
|
||||
ET_PostRestoreAck(void *data, void *param,
|
||||
ETRestoreAckFunc fn);
|
||||
|
||||
/* netlib events */
|
||||
|
||||
extern char *
|
||||
ET_net_GetCookie(MWContext* context, int32 doc_id);
|
||||
|
||||
extern char *
|
||||
ET_net_SetCookieString(MWContext* context, char * szCookie, int32 doc_id);
|
||||
|
||||
extern NET_StreamClass *
|
||||
ET_net_CacheConverter(FO_Present_Types format, void * obj,
|
||||
URL_Struct *pUrl, MWContext * pContext);
|
||||
|
||||
extern void
|
||||
ET_net_FindURLInCache(URL_Struct * pUrl, MWContext * pContext);
|
||||
|
||||
extern NET_StreamClass *
|
||||
ET_net_StreamBuilder(FO_Present_Types format, URL_Struct *pUrl,
|
||||
MWContext * pContext);
|
||||
|
||||
/* layout events */
|
||||
|
||||
extern void
|
||||
ET_lo_ResetForm(MWContext * pContext, LO_Element * ele);
|
||||
|
||||
void
|
||||
ET_fe_SubmitInputElement(MWContext * pContext, LO_Element * ele);
|
||||
|
||||
/*
|
||||
* Synchronously shove the given text down the parser's processing
|
||||
* queue. If the currently loaded document is not equal to
|
||||
* doc_id, this message should be ignored since it arrived too
|
||||
* late for the intended document
|
||||
*/
|
||||
extern int
|
||||
ET_lo_DoDocWrite(JSContext *cx, MWContext * context, NET_StreamClass * stream,
|
||||
char * str, size_t len, int32 doc_id);
|
||||
|
||||
|
||||
extern void
|
||||
ET_il_GetImage(const char * str, MWContext * pContext, IL_GroupContext *img_cx,
|
||||
LO_ImageStruct * image_data, NET_ReloadMethod how);
|
||||
|
||||
extern void
|
||||
ET_il_SetGroupObserver(MWContext * pContext, IL_GroupContext *pImgCX, void *pDpyCX,
|
||||
JSBool bAddObserver);
|
||||
|
||||
extern void
|
||||
ET_InterruptImgCX(MWContext * pContext);
|
||||
|
||||
/*
|
||||
* Tell layout to trash the current document.
|
||||
*/
|
||||
extern void
|
||||
ET_lo_DiscardDocument(MWContext * pContext);
|
||||
|
||||
/*
|
||||
* Tell layout to prepare a layer for writing.
|
||||
*/
|
||||
extern Bool
|
||||
ET_lo_PrepareLayerForWriting(MWContext *context, int32 layer_id,
|
||||
const char *referer);
|
||||
|
||||
/*
|
||||
* Return a copy of the current history element. Caller must free
|
||||
*/
|
||||
extern History_entry *
|
||||
ET_shist_GetCurrent(MWContext * pContext);
|
||||
|
||||
/*
|
||||
* Return the current security status.
|
||||
*/
|
||||
extern int
|
||||
ET_GetSecurityStatus(MWContext * pContext);
|
||||
|
||||
/*
|
||||
* Make sure Mocha/Java glue is ready. Returns the same return code as
|
||||
* LM_InitMoja.
|
||||
*/
|
||||
extern int
|
||||
ET_InitMoja(MWContext * pContext);
|
||||
|
||||
/*
|
||||
* Pack up toys and go home
|
||||
*/
|
||||
extern void
|
||||
ET_FinishMocha(void);
|
||||
|
||||
/*
|
||||
* Used to call a stream completion function in the mozilla
|
||||
* thread
|
||||
*/
|
||||
extern void
|
||||
ET_moz_CallFunction(ETVoidPtrFunc fn, void * data);
|
||||
|
||||
extern void
|
||||
ET_moz_CallFunctionAsync(ETVoidPtrFunc fn, void * data);
|
||||
|
||||
extern PRBool
|
||||
ET_moz_CallFunctionBool(ETBoolPtrFunc fn, void * data);
|
||||
|
||||
extern int32
|
||||
ET_moz_CallFunctionInt(ETIntPtrFunc fn, void * data);
|
||||
|
||||
extern char *
|
||||
ET_moz_CallFunctionString(ETStringPtrFunc fn, void * data);
|
||||
|
||||
extern void
|
||||
ET_moz_CallAsyncAndSubEventLoop(ETVoidPtrFunc fn, void *data,
|
||||
MWContext *context);
|
||||
|
||||
extern void
|
||||
ET_moz_Abort(MKStreamAbortFunc fn, void * data, int status);
|
||||
|
||||
extern void
|
||||
ET_moz_SetMochaWriteStream(MochaDecoder * decoder);
|
||||
|
||||
extern NET_StreamClass *
|
||||
ET_moz_DocCacheConverter(MWContext * context, URL_Struct * pUrl,
|
||||
char * wysiwyg_url, int32 layer_id);
|
||||
|
||||
extern PRBool
|
||||
ET_moz_VerifyComponentFunction(ETVerifyComponentFunc fn, ETBoolPtrFunc *pActive_callback,
|
||||
ETVoidPtrFunc *pStartup_callback);
|
||||
|
||||
extern void
|
||||
ET_moz_CompSetterFunction(ETCompPropSetterFunc fn, char *name, void *data);
|
||||
|
||||
extern void *
|
||||
ET_moz_CompGetterFunction(ETCompPropGetterFunc fn, char *name);
|
||||
|
||||
extern void *
|
||||
ET_moz_CompMethodFunction(ETCompMethodFunc fn, int32 argc, JSCompArg *argv);
|
||||
|
||||
typedef enum {
|
||||
CL_Move,
|
||||
CL_MoveX,
|
||||
CL_MoveY,
|
||||
CL_Offset,
|
||||
CL_Resize,
|
||||
CL_SetBboxWidth,
|
||||
CL_SetBboxHeight,
|
||||
CL_SetBboxTop,
|
||||
CL_SetBboxLeft,
|
||||
CL_SetBboxBottom,
|
||||
CL_SetBboxRight,
|
||||
CL_SetHidden,
|
||||
CL_MoveInZ,
|
||||
CL_SetSrc,
|
||||
CL_SetSrcWidth,
|
||||
CL_SetZ,
|
||||
CL_SetBgColor,
|
||||
CL_SetBackdrop
|
||||
} ETLayerOp;
|
||||
|
||||
extern int
|
||||
ET_TweakLayer(MWContext * context, void * layer, int32 x, int32 y,
|
||||
void *param_ptr, int32 param_val, ETLayerOp op,
|
||||
const char *referer, int32 doc_id);
|
||||
|
||||
extern void
|
||||
ET_RestoreLayerState(MWContext *context, int32 layer_id,
|
||||
void *param, ETRestoreAckFunc fn,
|
||||
void *data);
|
||||
|
||||
extern int32
|
||||
ET_npl_RefreshPluginList(MWContext* context, XP_Bool refreshInstances);
|
||||
|
||||
extern JSCFResult
|
||||
ET_JSCFExecute(MWContext *context, const char *script_name,
|
||||
JSCFCookieData *data, Bool *data_changed);
|
||||
|
||||
extern JSBool
|
||||
ET_HandlePref(JSContext * cx, uint argc, jsval * argv, jsval * rval);
|
||||
|
||||
extern void
|
||||
ET_SetPluginWindow(MWContext * pContext, void * app);
|
||||
|
||||
#ifdef DOM
|
||||
typedef enum {
|
||||
SP_SetColor,
|
||||
SP_SetBackground,
|
||||
SP_SetFontWeight,
|
||||
SP_SetFontFamily,
|
||||
SP_SetFontSize,
|
||||
SP_SetFontSlant
|
||||
} ETSpanOp;
|
||||
|
||||
extern int
|
||||
ET_TweakSpan(MWContext * context, void *name_rec, void *param_ptr,
|
||||
int32 param_val, ETSpanOp op, int32 doc_id);
|
||||
|
||||
typedef enum {
|
||||
TR_SetHref,
|
||||
TR_SetVisibility,
|
||||
TR_SetData
|
||||
} ETTransclusionOp;
|
||||
|
||||
extern int
|
||||
ET_TweakTransclusion(MWContext * context, void *xmlFile, void *param_ptr,
|
||||
int32 param_val, ETTransclusionOp op, int32 doc_id);
|
||||
#endif
|
||||
|
||||
NSPR_END_EXTERN_C
|
||||
|
||||
#endif /* libevent_h___ */
|
||||
@ -1,614 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
/*
|
||||
* Header file for Mocha in the Navigator (libmocha).
|
||||
*/
|
||||
|
||||
#ifndef libmocha_h___
|
||||
#define libmocha_h___
|
||||
|
||||
#include "ntypes.h"
|
||||
#include "il_types.h"
|
||||
#include "prtypes.h"
|
||||
#include "plhash.h"
|
||||
#include "prthread.h"
|
||||
#include "jsapi.h"
|
||||
|
||||
/* enable JavaScript Debugger support */
|
||||
#if defined (_WIN32) || defined(XP_UNIX) || defined(powerc) || defined(__powerc) || defined(XP_OS2) || defined(XP_BEOS)
|
||||
#ifdef JAVA
|
||||
#define JSDEBUGGER 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
NSPR_BEGIN_EXTERN_C
|
||||
|
||||
typedef struct JSTimeout JSTimeout;
|
||||
typedef struct JSPrincipalsList JSPrincipalsList;
|
||||
typedef struct JSNestingUrl JSNestingUrl;
|
||||
|
||||
/*
|
||||
* There exists one MochaDecoder per top-level MWContext that decodes Mocha,
|
||||
* either from an HTML page or from a "mocha:[expr]" URL.
|
||||
*/
|
||||
typedef struct MochaDecoder {
|
||||
int32 forw_count; /* forward reference count */
|
||||
int32 back_count; /* back (up the tree) count */
|
||||
JSContext *js_context;
|
||||
MWContext *window_context;
|
||||
JSObject *window_object;
|
||||
NET_StreamClass *stream;
|
||||
int32 stream_owner; /* id of layer that's loading the stream */
|
||||
URL_Struct *url_struct;
|
||||
JSTimeout *timeouts;
|
||||
JSTimeout *saved_timeouts;
|
||||
uint16 signature_ordinal;
|
||||
PRPackedBool replace_location;
|
||||
PRPackedBool resize_reload;
|
||||
PRPackedBool load_event_sent;
|
||||
PRPackedBool visited;
|
||||
PRPackedBool writing_input;
|
||||
PRPackedBool free_stream_on_close;
|
||||
PRPackedBool in_window_quota;
|
||||
PRPackedBool called_win_close;
|
||||
PRPackedBool principals_compromised;
|
||||
const char *source_url;
|
||||
JSNestingUrl *nesting_url;
|
||||
uint32 error_count;
|
||||
uint32 event_mask;
|
||||
int32 active_layer_id;
|
||||
uint32 active_form_id;
|
||||
uint32 event_bit;
|
||||
int32 doc_id;
|
||||
|
||||
/*
|
||||
* Class prototype objects, in alphabetical order. Must be CLEARed (set
|
||||
* to null) in LM_PutMochaDecoder, HELD (GC roots added) in lm_NewWindow,
|
||||
* and DROPped (removed as GC roots) in lm_DestroyWindow.
|
||||
* XXXbe clean up, clear via bzero, using a sub-structure.
|
||||
*/
|
||||
JSObject *anchor_prototype;
|
||||
JSObject *bar_prototype;
|
||||
JSObject *document_prototype;
|
||||
JSObject *event_prototype;
|
||||
JSObject *event_capturer_prototype;
|
||||
JSObject *event_receiver_prototype;
|
||||
JSObject *form_prototype;
|
||||
JSObject *image_prototype;
|
||||
JSObject *input_prototype;
|
||||
JSObject *layer_prototype;
|
||||
JSObject *option_prototype;
|
||||
JSObject *rect_prototype;
|
||||
JSObject *url_prototype;
|
||||
#ifdef DOM
|
||||
JSObject *span_prototype;
|
||||
JSObject *transclusion_prototype;
|
||||
#endif
|
||||
JSObject *builtin_prototype;
|
||||
JSObject *builtin_element_prototype;
|
||||
JSObject *builtin_node_prototype;
|
||||
|
||||
/*
|
||||
* Window sub-objects. These must also follow the CLEAR/HOLD/DROP
|
||||
* protocol mentioned above.
|
||||
*/
|
||||
JSObject *document;
|
||||
JSObject *history;
|
||||
JSObject *location;
|
||||
JSObject *navigator;
|
||||
JSObject *components;
|
||||
JSObject *screen;
|
||||
#ifdef NAV_HARDWARE
|
||||
JSObject *hardware;
|
||||
#endif
|
||||
JSObject *environment;
|
||||
JSObject *crypto;
|
||||
JSObject *pkcs11;
|
||||
JSObject *background_update;
|
||||
|
||||
/*
|
||||
* Ad-hoc GC roots.
|
||||
*/
|
||||
JSObject *event_receiver;
|
||||
JSObject *opener;
|
||||
|
||||
JSVersion firstVersion; /* First JS script tag version. */
|
||||
|
||||
/*
|
||||
* Security info for all of this decoder's scripts, except those
|
||||
* contained in layers.
|
||||
*/
|
||||
JSPrincipals *principals;
|
||||
JSPrincipalsList*early_access_list;
|
||||
|
||||
IL_GroupContext *image_context; /* Image context for anonymous images */
|
||||
|
||||
/*
|
||||
* Table that maintains an id to JS object mapping for reflected
|
||||
* elements. This is used during resize to reestablish the connection
|
||||
* between layout elements and their corresponding JS object.
|
||||
* Form elements are special, since they can't use the same keying
|
||||
*/
|
||||
PRHashTable *id_to_object_map;
|
||||
} MochaDecoder;
|
||||
|
||||
/*
|
||||
* Number of buckets for the id-to-object hash table.
|
||||
*/
|
||||
#define LM_ID_TO_OBJ_MAP_SIZE 20
|
||||
#define LM_FORM_ELEMENT_MAP_SIZE 10
|
||||
|
||||
/*
|
||||
* Types of objects reflected into Mocha
|
||||
*/
|
||||
typedef enum {
|
||||
LM_APPLETS = 0,
|
||||
LM_FORMS,
|
||||
LM_LINKS,
|
||||
LM_NAMEDANCHORS,
|
||||
LM_EMBEDS,
|
||||
LM_IMAGES,
|
||||
LM_FORMELEMENTS,
|
||||
LM_LAYERS
|
||||
#ifdef DOM
|
||||
, LM_SPANS
|
||||
, LM_TRANSCLUSIONS
|
||||
#endif
|
||||
} ReflectedObject;
|
||||
|
||||
#ifdef DOM
|
||||
/*
|
||||
* Construct a DOM_Node for the given tag and add it to the tree.
|
||||
*/
|
||||
void /* DOM_Node */ *
|
||||
LM_ReflectTagNode(PA_Tag *tag, void /*lo_TopState*/ *top_state,
|
||||
MWContext *context);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Generates an id-to-object mapping key from the ReflectedObject
|
||||
* type, the containing layer id and the id of the object itself.
|
||||
* The key is 4 bits type, 14 bits layer_id and 14 bits id.
|
||||
*/
|
||||
#define LM_GET_MAPPING_KEY(obj_type, layer_id, id) \
|
||||
(void *)(((((uint32)obj_type) << 28) & 0xF0000000UL) | \
|
||||
((((uint32)layer_id) << 14) & 0x0FFFC000UL) | \
|
||||
(((uint32)id) & 0x00003FFFUL))
|
||||
|
||||
/*
|
||||
* Public, well-known string constants.
|
||||
*/
|
||||
extern char js_language_name[]; /* "JavaScript" */
|
||||
extern char js_content_type[]; /* "application/x-javascript" */
|
||||
|
||||
/*
|
||||
* Initialize and finalize Mocha-in-the-client.
|
||||
*/
|
||||
extern void LM_InitMocha(void);
|
||||
extern void LM_FinishMocha(void);
|
||||
|
||||
/*
|
||||
* Force mocha on in the given context, even if the user pref is set to
|
||||
* disable mocha.
|
||||
*/
|
||||
extern void LM_ForceJSEnabled(MWContext *cx);
|
||||
|
||||
/*
|
||||
* Initialize and finalize Mocha-Java connection
|
||||
*/
|
||||
#define LM_MOJA_UNINITIALIZED 0
|
||||
#define LM_MOJA_OK 1
|
||||
#define LM_MOJA_JAVA_FAILED 2
|
||||
#define LM_MOJA_OUT_OF_MEMORY 3
|
||||
extern int LM_InitMoja(void);
|
||||
extern void LM_FinishMoja(void);
|
||||
extern int LM_IsMojaInitialized(void);
|
||||
|
||||
/*
|
||||
* Enter or leave the big mocha lock. Any thread which wants to
|
||||
* preserve JavaScript run-to-completion semantics must bracket
|
||||
* JavaScript evaluation with these calls.
|
||||
*/
|
||||
typedef void
|
||||
(PR_CALLBACK *JSLockReleaseFunc)(void * data);
|
||||
|
||||
|
||||
extern JSBool PR_CALLBACK LM_LockJS(MWContext *mwc, char **errp);
|
||||
extern void PR_CALLBACK LM_UnlockJS(MWContext *mwc);
|
||||
extern JSBool PR_CALLBACK LM_AttemptLockJS(MWContext *mwc,
|
||||
JSLockReleaseFunc fn, void * data);
|
||||
extern JSBool PR_CALLBACK LM_ClearAttemptLockJS(MWContext *mwc,
|
||||
JSLockReleaseFunc fn,
|
||||
void * data);
|
||||
|
||||
extern PRBool PR_CALLBACK
|
||||
LM_HandOffJSLock(PRThread * oldOwner, PRThread *newOwner);
|
||||
|
||||
/*
|
||||
* For interruption purposes we will sometimes need to know the
|
||||
* context who is holding the JS lock
|
||||
*/
|
||||
extern void LM_JSLockSetContext(MWContext * context);
|
||||
extern MWContext * LM_JSLockGetContext(MWContext *mwc);
|
||||
|
||||
/*
|
||||
* Enable/disable for Mocha-in-the-client.
|
||||
*/
|
||||
#define LM_SwitchMocha(toggle) LM_SetMochaEnabled(toggle)
|
||||
|
||||
extern JSBool
|
||||
LM_GetMochaEnabled(void);
|
||||
|
||||
/*
|
||||
* Get (create if necessary) a MochaDecoder for context, adding a reference
|
||||
* to its window_object. Put drops the reference, destroying window_object
|
||||
* when the count reaches zero. These functions should only be called in
|
||||
* the mocha thread or while holding the JS-lock
|
||||
*/
|
||||
extern MochaDecoder *
|
||||
LM_GetMochaDecoder(MWContext *context);
|
||||
|
||||
extern void
|
||||
LM_PutMochaDecoder(MochaDecoder *decoder);
|
||||
|
||||
/*
|
||||
* Get the source URL for script being loaded by document. This URL will be
|
||||
* the document's URL for inline script, or the SRC= URL for included script.
|
||||
* The returned pointer is safe only within the extent of the function that
|
||||
* calls LM_GetSourceURL().
|
||||
*/
|
||||
extern const char *
|
||||
LM_GetSourceURL(MochaDecoder *decoder);
|
||||
|
||||
/*
|
||||
* Set the current layer and hence the current scope for script evaluation.
|
||||
*/
|
||||
extern void
|
||||
LM_SetActiveLayer(MWContext * context, int32 layer_id);
|
||||
|
||||
/*
|
||||
* Get the current layer and hence the current scope for script evaluation.
|
||||
*/
|
||||
extern int32
|
||||
LM_GetActiveLayer(MWContext * context);
|
||||
|
||||
/*
|
||||
* Evaluate the contents of a SCRIPT tag. You can specify the JSObject
|
||||
* to use as the base scope. Pass NULL to use the default window_object
|
||||
*/
|
||||
extern JSBool
|
||||
LM_EvaluateBuffer(MochaDecoder *decoder, void *base, size_t length,
|
||||
uint lineno, char * scope_to, struct JSPrincipals *principals,
|
||||
JSBool unicode, jsval *result);
|
||||
|
||||
/*
|
||||
* Evaluate an expression entity in an HTML attribute (WIDTH="&{height/2};").
|
||||
* Returns null on error, otherwise a pointer to the malloc'd string result.
|
||||
* The caller is responsible for freeing the string result.
|
||||
*/
|
||||
extern char *
|
||||
LM_EvaluateAttribute(MWContext *context, char *expr, uint lineno);
|
||||
|
||||
/*
|
||||
* Remove any MochaDecoder window_context pointer to an MWContext that's
|
||||
* being destroyed.
|
||||
*/
|
||||
extern void
|
||||
LM_RemoveWindowContext(MWContext *context, History_entry * he);
|
||||
|
||||
extern void
|
||||
LM_DropSavedWindow(MWContext *context, void *window);
|
||||
|
||||
/*
|
||||
* Set and clear the HTML stream and URL for the MochaDecoder
|
||||
* associated with the given context
|
||||
*/
|
||||
extern JSBool
|
||||
LM_SetDecoderStream(MWContext * context, NET_StreamClass *stream,
|
||||
URL_Struct *url_struct, JSBool free_stream_on_close);
|
||||
|
||||
/*
|
||||
* Start caching HTML or plain text generated by document.write() where the
|
||||
* script is running on mc, the document is being generated into decoder's
|
||||
* window, and url_struct tells about the generator.
|
||||
*/
|
||||
extern NET_StreamClass *
|
||||
LM_WysiwygCacheConverter(MWContext *context, URL_Struct *url_struct,
|
||||
const char * wysiwyg_url, const char * base_href);
|
||||
|
||||
/*
|
||||
* Skip over the "wysiwyg://docid/" in url_string and return a pointer to the
|
||||
* real URL hidden after the prefix. If url_string is not of "wysiwyg:" type,
|
||||
* just return url_string. Never returns null.
|
||||
*/
|
||||
extern const char *
|
||||
LM_StripWysiwygURLPrefix(const char *url_string);
|
||||
|
||||
/*
|
||||
* This function works only on "wysiwyg:" type URLs -- don't call it unless
|
||||
* you know that NET_URL_Type(url_string) is WYSIWYG_TYPE_URL. It'll return
|
||||
* null if url_string seems too short, or if it can't find the third slash.
|
||||
*/
|
||||
extern const char *
|
||||
LM_SkipWysiwygURLPrefix(const char *url_string);
|
||||
|
||||
/*
|
||||
* Return a pointer to a malloc'd string of the form "<BASE HREF=...>" where
|
||||
* the "..." URL is the directory of cx's origin URL. Such a base URL is the
|
||||
* default base for relative URLs in generated HTML.
|
||||
*/
|
||||
extern char *
|
||||
LM_GetBaseHrefTag(JSContext *cx, JSPrincipals *principals);
|
||||
|
||||
/*
|
||||
* XXX Make these public LO_... typedefs in lo_ele.h/ntypes.h?
|
||||
*/
|
||||
struct lo_FormData_struct;
|
||||
struct lo_NameList_struct;
|
||||
|
||||
extern struct lo_FormData_struct *
|
||||
LO_GetFormDataByID(MWContext *context, int32 layer_id, intn form_id);
|
||||
|
||||
extern uint
|
||||
LO_EnumerateForms(MWContext *context, int32 layer_id);
|
||||
|
||||
extern struct LO_ImageStruct_struct *
|
||||
LO_GetImageByIndex(MWContext *context, int32 layer_id, intn image_id);
|
||||
|
||||
extern uint
|
||||
LO_EnumerateImages(MWContext *context, int32 layer_id);
|
||||
|
||||
/*
|
||||
* Reflect display layers into Mocha.
|
||||
*/
|
||||
extern JSObject *
|
||||
LM_ReflectLayer(MWContext *context, int32 layer_id, int32 parent_layer_id,
|
||||
PA_Tag *tag);
|
||||
|
||||
extern LO_FormElementStruct *
|
||||
LO_GetFormElementByIndex(struct lo_FormData_struct *form_data, int32 index);
|
||||
|
||||
extern uint
|
||||
LO_EnumerateFormElements(MWContext *context,
|
||||
struct lo_FormData_struct *form_data);
|
||||
|
||||
/*
|
||||
* Layout helper function to find a named anchor by its index in the
|
||||
* document.anchors[] array.
|
||||
*/
|
||||
extern struct lo_NameList_struct *
|
||||
LO_GetNamedAnchorByIndex(MWContext *context, int32 layer_id, uint index);
|
||||
|
||||
extern uint
|
||||
LO_EnumerateNamedAnchors(MWContext *context, int32 layer_id);
|
||||
|
||||
#ifdef DOM
|
||||
/*
|
||||
* Layout helper function to find a span by its index in the
|
||||
* document.spans[] array.
|
||||
*/
|
||||
extern struct lo_NameList_struct *
|
||||
LO_GetSpanByIndex(MWContext *context, int32 layer_id, uint index);
|
||||
|
||||
extern uint
|
||||
LO_EnumerateSpans(MWContext *context, int32 layer_id);
|
||||
|
||||
extern JSObject *
|
||||
LO_GetMochaObjectOfParentSpan( LO_Element *ele);
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Layout Mocha helper function to find an HREF Anchor by its index in the
|
||||
* document.links[] array.
|
||||
*/
|
||||
extern LO_AnchorData *
|
||||
LO_GetLinkByIndex(MWContext *context, int32 layer_id, uint index);
|
||||
|
||||
extern uint
|
||||
LO_EnumerateLinks(MWContext *context, int32 layer_id);
|
||||
|
||||
extern LO_JavaAppStruct *
|
||||
LO_GetAppletByIndex(MWContext *context, int32 layer_id, uint index);
|
||||
|
||||
extern uint
|
||||
LO_EnumerateApplets(MWContext *context, int32 layer_id);
|
||||
|
||||
extern LO_EmbedStruct *
|
||||
LO_GetEmbedByIndex(MWContext *context, int32 layer_id, uint index);
|
||||
|
||||
extern LO_BuiltinStruct *
|
||||
LO_GetBuiltinByIndex(MWContext *context, int32 layer_id, uint index);
|
||||
|
||||
extern uint
|
||||
LO_EnumerateEmbeds(MWContext *context, int32 layer_id);
|
||||
|
||||
/*
|
||||
* Get and set a color attribute in the current document state.
|
||||
*/
|
||||
extern void
|
||||
LO_GetDocumentColor(MWContext *context, int type, LO_Color *color);
|
||||
|
||||
extern void
|
||||
LO_SetDocumentColor(MWContext *context, int type, LO_Color *color);
|
||||
|
||||
/*
|
||||
* Layout function to reallocate the lo_FormElementOptionData array pointed at
|
||||
* by lo_FormElementSelectData's options member to include space for the number
|
||||
* of options given by selectData->option_cnt.
|
||||
*/
|
||||
extern XP_Bool
|
||||
LO_ResizeSelectOptions(lo_FormElementSelectData *selectData);
|
||||
|
||||
/*
|
||||
* Discard the current document and all its subsidiary objects.
|
||||
*/
|
||||
extern void
|
||||
LM_ReleaseDocument(MWContext *context, JSBool resize_reload);
|
||||
|
||||
/*
|
||||
* Search if a the event is being captured in the frame hierarchy.
|
||||
*/
|
||||
extern XP_Bool
|
||||
LM_EventCaptureCheck(MWContext *context, uint32 current_event);
|
||||
|
||||
/*
|
||||
* Scroll a window to the given point.
|
||||
*/
|
||||
extern void LM_SendOnScroll(MWContext *context, int32 x, int32 y);
|
||||
|
||||
/*
|
||||
* Display a help topic.
|
||||
*/
|
||||
extern void LM_SendOnHelp(MWContext *context);
|
||||
|
||||
/*
|
||||
* Send a load or abort event for an image to a callback.
|
||||
*/
|
||||
typedef enum LM_ImageEvent {
|
||||
LM_IMGUNBLOCK = 0,
|
||||
LM_IMGLOAD = 1,
|
||||
LM_IMGABORT = 2,
|
||||
LM_IMGERROR = 3,
|
||||
LM_LASTEVENT = 3
|
||||
} LM_ImageEvent;
|
||||
|
||||
extern void
|
||||
LM_ProcessImageEvent(MWContext *context, LO_ImageStruct *image_data,
|
||||
LM_ImageEvent event);
|
||||
|
||||
/* This should be called when a named anchor is located. */
|
||||
extern JSBool
|
||||
LM_SendOnLocate(MWContext *context, struct lo_NameList_struct *name_rec);
|
||||
|
||||
extern JSObject *
|
||||
LM_ReflectApplet(MWContext *context, LO_JavaAppStruct *applet_data,
|
||||
PA_Tag * tag, int32 layer_id, uint index);
|
||||
|
||||
extern JSObject *
|
||||
LM_ReflectEmbed(MWContext *context, LO_EmbedStruct *lo_embed,
|
||||
PA_Tag * tag, int32 layer_id, uint index);
|
||||
|
||||
extern JSObject *
|
||||
LM_ReflectBuiltin(MWContext *context, LO_BuiltinStruct *lo_embed,
|
||||
PA_Tag * tag, int32 layer_id, uint index);
|
||||
|
||||
struct lo_FormData_struct;
|
||||
struct lo_NameList_struct;
|
||||
|
||||
extern JSObject *
|
||||
LM_ReflectForm(MWContext *context, struct lo_FormData_struct *form_data,
|
||||
PA_Tag * tag, int32 layer_id, uint index);
|
||||
|
||||
extern JSObject *
|
||||
LM_ReflectFormElement(MWContext *context, int32 layer_id, int32 form_id,
|
||||
int32 element_id, PA_Tag * tag);
|
||||
|
||||
extern JSObject *
|
||||
LM_ReflectLink(MWContext *context, LO_AnchorData *anchor_data, PA_Tag * tag,
|
||||
int32 layer_id, uint index);
|
||||
|
||||
extern JSObject *
|
||||
LM_ReflectNamedAnchor(MWContext *context, struct lo_NameList_struct *name_rec,
|
||||
PA_Tag * tag, int32 layer_id, uint index);
|
||||
|
||||
extern JSObject *
|
||||
LM_ReflectImage(MWContext *context, LO_ImageStruct *image_data,
|
||||
PA_Tag * tag, int32 layer_id, uint index);
|
||||
|
||||
#ifdef DOM
|
||||
/* Function prototype to make JS know about <SPAN> elements */
|
||||
extern JSObject *
|
||||
LM_ReflectSpan(MWContext *context, struct lo_NameList_struct *name_rec,
|
||||
PA_Tag *tag, int32 layer_id, uint index);
|
||||
|
||||
extern JSObject *
|
||||
LM_ReflectTransclusion(MWContext *context, void *ele, int32 layer_id, uint index);
|
||||
#endif
|
||||
|
||||
extern JSBool
|
||||
LM_CanDoJS(MWContext *context);
|
||||
|
||||
extern JSBool
|
||||
LM_IsActive(MWContext *context);
|
||||
|
||||
/*
|
||||
* Security.
|
||||
*/
|
||||
|
||||
extern JSPrincipals *
|
||||
LM_NewJSPrincipals(URL_Struct *archive, char *name, const char *codebase);
|
||||
|
||||
extern char *
|
||||
LM_ExtractFromPrincipalsArchive(JSPrincipals *principals, char *name,
|
||||
uint *length);
|
||||
|
||||
extern JSBool
|
||||
LM_SetUntransformedSource(JSPrincipals *principals, char *original,
|
||||
char *transformed);
|
||||
|
||||
extern JSPrincipals * PR_CALLBACK
|
||||
LM_GetJSPrincipalsFromJavaCaller(JSContext *cx, void *principalsArray, void *pNSISecurityContext);
|
||||
|
||||
extern JSBool
|
||||
LM_CanAccessTargetStr(JSContext *cx, const char *target);
|
||||
|
||||
/*
|
||||
* LM_RegisterPrincipals will verify and register a set of principals
|
||||
* in the decoder, modifying decoder->principals in the process. It
|
||||
* returns the modified decoder.
|
||||
*
|
||||
* The "name" parameter may be NULL if "principals" was created with a name.
|
||||
*/
|
||||
|
||||
extern JSPrincipals *
|
||||
LM_RegisterPrincipals(MochaDecoder *decoder, JSPrincipals *principals,
|
||||
char *name, char *src);
|
||||
|
||||
extern JSContext *LM_GetCrippledContext(void);
|
||||
|
||||
/*
|
||||
* JavaScript Debugger support
|
||||
*/
|
||||
#ifdef JSDEBUGGER
|
||||
|
||||
extern NET_StreamClass*
|
||||
LM_StreamBuilder( int format_out,
|
||||
void *data_obj,
|
||||
URL_Struct *URL_s,
|
||||
MWContext *mwcontext );
|
||||
|
||||
extern JSBool
|
||||
LM_GetJSDebugActive(void);
|
||||
|
||||
extern void
|
||||
LM_JamSourceIntoJSDebug( const char *filename,
|
||||
const char *str,
|
||||
int32 len,
|
||||
MWContext *mwcontext );
|
||||
|
||||
#endif
|
||||
|
||||
NSPR_END_EXTERN_C
|
||||
|
||||
#endif /* libmocha_h___ */
|
||||
@ -1,151 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Prototypes for functions exported by libplugin and called by the FEs or other XP libs.
|
||||
* Prototypes for functions exported by the FEs and called by libplugin are in nppg.h.
|
||||
*/
|
||||
|
||||
#ifndef _NP_H
|
||||
#define _NP_H
|
||||
|
||||
#include "lo_ele.h"
|
||||
#include "npapi.h"
|
||||
#include "net.h"
|
||||
|
||||
#ifdef XP_UNIX
|
||||
/* Aaagh. npapi.h include Xlib.h. Bool is being #defined by Xlib and
|
||||
we are typedeffing it in the navigator. */
|
||||
#ifdef Bool
|
||||
#undef Bool
|
||||
#endif /* Bool */
|
||||
#endif
|
||||
|
||||
typedef enum { NP_Untyped = 0, NP_OLE, NP_Plugin } NPAppType;
|
||||
typedef enum { NP_FullPage = 1, NP_Embedded } NPPageType;
|
||||
|
||||
typedef void* NPReference;
|
||||
#define NPRefFromStart ((NPReference)NULL)
|
||||
|
||||
/* it's lame that this is supposed to support more than plugins but
|
||||
it has plugin specific junk (wdata) in it -jg */
|
||||
|
||||
struct _NPEmbeddedApp {
|
||||
struct _NPEmbeddedApp *next;
|
||||
NPAppType type;
|
||||
void *fe_data;
|
||||
void *np_data;
|
||||
NPWindow *wdata;
|
||||
NPPageType pagePluginType;
|
||||
};
|
||||
|
||||
/* Uncomment this to enable ANTHRAX. .c files affected: npglue.c, layembed.c, layobj.c */
|
||||
/* amusil 1.8.98 */
|
||||
/* #define ANTHRAX */
|
||||
|
||||
XP_BEGIN_PROTOS
|
||||
|
||||
extern void NPL_Init(void);
|
||||
extern void NPL_Shutdown(void);
|
||||
|
||||
extern void NPL_RegisterDefaultConverters(void);
|
||||
extern NPError NPL_RegisterPluginFile(const char* pluginname, const char* filename,
|
||||
const char* description, void* pd);
|
||||
extern NPError NPL_RegisterPluginType(NPMIMEType type, const char *extentstring,
|
||||
const char* description, void* fileType, void* pd, XP_Bool enabled);
|
||||
extern NPError NPL_RefreshPluginList(XP_Bool reloadPages);
|
||||
|
||||
extern NPBool NPL_IteratePluginFiles(NPReference* ref, char** name, char** filename, char** description);
|
||||
extern NPBool NPL_IteratePluginTypes(NPReference* ref, NPReference plugin, NPMIMEType* type,
|
||||
char*** extents, char** description, void** fileType);
|
||||
PR_EXTERN(char**) NPL_FindPluginsForType(const char* typeToFind);
|
||||
extern char* NPL_FindPluginEnabledForType(const char* typeToFind);
|
||||
|
||||
extern NPError NPL_EnablePlugin(NPMIMEType type,
|
||||
const char* pluginname,
|
||||
XP_Bool enabled);
|
||||
extern NPError NPL_EnablePluginType(NPMIMEType type, void* pdesc, XP_Bool enabled);
|
||||
extern NPError NPL_DisablePlugin(NPMIMEType type);
|
||||
|
||||
extern NPEmbeddedApp* NPL_EmbedCreate(MWContext *context, LO_EmbedStruct *embed_struct);
|
||||
extern NPError NPL_EmbedStart(MWContext* cx, LO_EmbedStruct* embed_struct, NPEmbeddedApp* app);
|
||||
|
||||
extern void NPL_EmbedSize(NPEmbeddedApp *app);
|
||||
|
||||
/* ~~av the following is used in CGenericDoc::FreeEmbedElement */
|
||||
extern int32 NPL_GetEmbedReferenceCount(NPEmbeddedApp *app);
|
||||
|
||||
extern void NPL_EmbedDelete(MWContext *context, LO_EmbedStruct *embed_struct);
|
||||
|
||||
extern XP_Bool NPL_IsLiveConnected(LO_EmbedStruct *embed);
|
||||
|
||||
extern int NPL_HandleEvent(NPEmbeddedApp *app, void *event, void* window); /* window may be NULL */
|
||||
extern void NPL_Print(NPEmbeddedApp *app, void *printData);
|
||||
extern void NPL_SamePage(MWContext *context);
|
||||
extern void NPL_SameElement(LO_EmbedStruct *embed);
|
||||
extern void NPL_DeleteSessionData(MWContext* context, void* sessionData);
|
||||
extern XP_Bool NPL_HandleURL(MWContext *pContext, FO_Present_Types iFormatOut, URL_Struct *pURL,
|
||||
Net_GetUrlExitFunc *pExitFunc);
|
||||
#ifndef XP_MAC
|
||||
extern void NPL_DisplayPluginsAsHTML(FO_Present_Types format_out, URL_Struct *urls, MWContext *cx);
|
||||
#endif
|
||||
extern void NPL_PreparePrint(MWContext* context, SHIST_SavedData* savedData);
|
||||
|
||||
extern NET_StreamClass* NPL_NewEmbedStream(FO_Present_Types format_out, void *type, URL_Struct *urls, MWContext *cx);
|
||||
extern NET_StreamClass* NPL_NewPresentStream(FO_Present_Types format_out, void *type, URL_Struct *urls, MWContext *cx);
|
||||
extern unsigned int NPL_WriteReady(NET_StreamClass *stream);
|
||||
extern int NPL_Write(NET_StreamClass *stream, const unsigned char *str, int32 len);
|
||||
extern void NPL_Complete(NET_StreamClass *stream);
|
||||
extern void NPL_Abort(NET_StreamClass *stream, int status);
|
||||
extern XP_Bool NPL_IsEmbedWindowed(NPEmbeddedApp *app);
|
||||
extern void NPL_URLExit(URL_Struct *urls, int status, MWContext *cx);
|
||||
|
||||
#ifdef XP_MAC
|
||||
extern XP_Bool NPL_IsForcingRedraw();
|
||||
#endif
|
||||
|
||||
#ifdef ANTHRAX
|
||||
extern char** NPL_FindAppletsForType(const char* typeToFind);
|
||||
extern char* NPL_FindAppletEnabledForMimetype(const char* mimetype);
|
||||
extern NPError NPL_RegisterAppletType(NPMIMEType type, char* filename);
|
||||
extern void NPL_InstallAppletHandler(char* appletName, char* mimetype, char* extension);
|
||||
#endif /* ANTHRAX */
|
||||
|
||||
PR_EXTERN(void) NPL_SetPluginWindow(void *data);
|
||||
PR_EXTERN(struct nsIPlugin*) NPL_LoadPluginByType(const char* typeAttribute);
|
||||
|
||||
/*
|
||||
* This callback is installed by the FE to handle the nsIPluginManager2::ProcessNextEvent
|
||||
* operation. The result parameter should return PR_TRUE if called on the mozilla thread
|
||||
* (unlike the old nsn_TickleHookProcPtr which returned false (I think)).
|
||||
*/
|
||||
typedef PRBool (PR_CALLBACK* NPL_ProcessNextEventProc)(void* data);
|
||||
|
||||
PR_EXTERN(void)
|
||||
NPL_InstallProcessNextEventProc(NPL_ProcessNextEventProc proc, void* data);
|
||||
|
||||
XP_END_PROTOS
|
||||
|
||||
#endif /* _NP_H */
|
||||
|
||||
|
||||
@ -1,56 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* npassoc.h $Revision: 3.2 $
|
||||
* xp filetype associations
|
||||
*/
|
||||
|
||||
#ifndef _NPASSOC_H
|
||||
#define _NPASSOC_H
|
||||
|
||||
#include "xp_core.h"
|
||||
|
||||
typedef struct _NPFileTypeAssoc {
|
||||
char* type; /* a MIME type */
|
||||
char* description; /* Intelligible description */
|
||||
char** extentlist; /* a NULL-terminated list of file extensions */
|
||||
char* extentstring; /* the same extensions, as a single string */
|
||||
void* fileType; /* platform-specific file selector magic */
|
||||
struct _NPFileTypeAssoc* pNext;
|
||||
} NPFileTypeAssoc;
|
||||
|
||||
|
||||
XP_BEGIN_PROTOS
|
||||
|
||||
extern NPFileTypeAssoc* NPL_NewFileAssociation(const char *type, const char *extensions,
|
||||
const char *description, void *fileType);
|
||||
extern void* NPL_DeleteFileAssociation(NPFileTypeAssoc *fassoc);
|
||||
extern void NPL_RegisterFileAssociation(NPFileTypeAssoc *fassoc);
|
||||
extern NPFileTypeAssoc* NPL_RemoveFileAssociation(NPFileTypeAssoc *fassoc);
|
||||
extern NPFileTypeAssoc* NPL_GetFileAssociation(const char *type);
|
||||
|
||||
XP_END_PROTOS
|
||||
|
||||
#endif /* _NPASSOC_H */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user