This commit is contained in:
rhp%netscape.com 1999-01-25 22:31:18 +00:00
Родитель a81e72bdef
Коммит d1c1e0748f
4 изменённых файлов: 48 добавлений и 19 удалений

Просмотреть файл

@ -89,6 +89,10 @@
#define MIME_PLUGIN_PREFIX "mimect-"
#define MIME_PLUGIN_DIR "mimeplugins"
typedef struct {
PRBool force_inline_display;
} contentTypeHandlerInitStruct;
extern int MIME_MimeObject_write(MimeObject *, char *data,
PRInt32 length,
PRBool user_visible_p);

Просмотреть файл

@ -27,8 +27,10 @@
* HTML in mimehdrs.c
*/
#define MHTML_BLOCKQUOTE_BEGIN "<BLOCKQUOTE TYPE=CITE>"
#define MHTML_STYLE_IMPORT "<HTML><HEAD><LINK REL=\"stylesheet\" HREF=\"resource:/res/mail.css\">"
#define MHTML_JS_IMPORT "<SCRIPT LANGUAGE=\"JavaScript1.2\" SRC=\"resource:/res/mail.js\"></SCRIPT></HEAD>"
#define RICHIE_BROKE_NOW_MHTML_STYLE_IMPORT "<HTML><HEAD><LINK REL=\"stylesheet\" HREF=\"resource:/res/mail.css\">"
#define RICHIE_BROKE_NOW_MHTML_JS_IMPORT "<SCRIPT LANGUAGE=\"JavaScript1.2\" SRC=\"resource:/res/mail.js\"></SCRIPT></HEAD>"
#define MHTML_STYLE_IMPORT "<HTML><LINK REL=\"stylesheet\" HREF=\"resource:/res/mail.css\">"
#define MHTML_JS_IMPORT "<SCRIPT LANGUAGE=\"JavaScript1.2\" SRC=\"resource:/res/mail.js\"></SCRIPT>"
#define MHTML_HEADER_TABLE "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>"
#define MHTML_TABLE_BEGIN "<TABLE><TR><TD>"
#define MHTML_TABLE_COLUMN_BEGIN "<TR><TD><B><I>"

Просмотреть файл

@ -93,18 +93,33 @@ find_plugin_directory(char *path, PRInt32 size)
char *ptr;
if (!GetModuleFileName(NULL, path, size))
return FALSE;
return PR_FALSE;
ptr = PL_strrchr(path, '\\');
if (ptr)
*ptr = '\0';
PL_strcat(path, "\\");
PL_strcat(path, MIME_PLUGIN_DIR);
return PR_TRUE;
#else
printf("Don't know how to locate plugins directory on Unix/Mac yet...\n");
return FALSE;
return PR_FALSE;
#endif
}
return TRUE;
PRBool
create_file_name(const char *path, const char *name, char *fullName)
{
if ((!path) || (!name))
return PR_FALSE;
#ifdef XP_PC
PL_strcpy(fullName, path);
PL_strcat(fullName, "\\");
PL_strcat(fullName, name);
return PR_TRUE;
#else
return PR_FALSE;
#endif
}
/*
@ -158,17 +173,23 @@ get_content_type(cthandler_struct *ct)
MimeObjectClass *
create_content_type_handler_class(cthandler_struct *ct)
{
typedef MimeObjectClass * (*mime_create_class_fn_type)(const char *, PRBool *);
mime_create_class_fn_type class_fn;
typedef MimeObjectClass * (*mime_create_class_fn_type)
(const char *, contentTypeHandlerInitStruct *);
contentTypeHandlerInitStruct ctHandlerInfo;
mime_create_class_fn_type class_fn;
MimeObjectClass *retClass = NULL;
if (!ct)
return NULL;
class_fn = (mime_create_class_fn_type) PR_FindSymbol(ct->ct_handler, "MIME_CreateContentTypeHandlerClass");
if (class_fn)
return (class_fn)(ct->content_type, &(ct->force_inline_display));
else
return NULL;
{
retClass = (class_fn)(ct->content_type, &ctHandlerInfo);
ct->force_inline_display = ctHandlerInfo.force_inline_display;
}
return retClass;
}
/*
@ -217,9 +238,9 @@ do_plugin_discovery(void)
if (PL_strncasecmp(MIME_PLUGIN_PREFIX, dirEntry->name, PL_strlen(MIME_PLUGIN_PREFIX)) == 0)
{
PL_strcpy(full_name, path);
PL_strcat(full_name, "\\");
PL_strcat(full_name, dirEntry->name);
if (!create_file_name(path, dirEntry->name, full_name))
continue;
cthandler_list[count].ct_handler = PR_LoadLibrary(full_name);
if (!cthandler_list[count].ct_handler)
continue;
@ -283,7 +304,7 @@ force_inline_display(const char *content_type)
return( cthandler_list[i].force_inline_display );
}
return FALSE;
return PR_FALSE;
}

Просмотреть файл

@ -300,7 +300,7 @@ mime_set_html_state_fn (void *stream_closure,
struct mime_stream_data *msd = (struct mime_stream_data *) stream_closure;
#if 1
char random_close_tags[] = "</SCRIPT><NSCP_CLOSE>";
//RICHIE_CSS char random_close_tags[] = "</SCRIPT><NSCP_CLOSE>";
#else /* 0 */
char random_close_tags[] =
"</TABLE></TABLE></TABLE></TABLE></TABLE></TABLE>"
@ -310,6 +310,7 @@ mime_set_html_state_fn (void *stream_closure,
"</PRE></PRE></PRE></PRE></PRE></PRE></PRE></PRE>"
"<BASEFONT SIZE=3></SCRIPT>";
#endif /* 0 */
if (start_p) {
#ifndef MOZILLA_30
if (layer_encapsulate_p && msd->options && !msd->options->nice_html_only_p){
@ -318,7 +319,7 @@ mime_set_html_state_fn (void *stream_closure,
//RICHIECSS buf = PR_smprintf("<ILAYER LOCKED CLIP=0,0,AUTO,AUTO "
//RICHIECSS ILAYER LOCKED CLIP=0,0,AUTO,AUTO "
buf = PR_smprintf("<DIV MATCH=%02x%02x%02x%02x%02x%02x style=\"position: 'relative';\">",
buf = PR_smprintf("<DIV style=\"position: 'relative';\">",
rand_buf[0], rand_buf[1], rand_buf[2],
rand_buf[3], rand_buf[4], rand_buf[5]);
if (!buf)
@ -328,18 +329,19 @@ mime_set_html_state_fn (void *stream_closure,
}
#endif /* MOZILLA_30 */
} else {
/* RICHIE_CSS - this doesn't work anymore...
status = MimeOptions_write(msd->options, random_close_tags,
PL_strlen(random_close_tags), PR_FALSE);
if (status < 0)
return status;
*/
#ifndef MOZILLA_30
if (layer_encapsulate_p && msd->options && !msd->options->nice_html_only_p){
uint8 *rand_buf = msd->rand_buf;
//RICHIECSS buf = PR_smprintf("</ILAYER MATCH=%02x%02x%02x%02x%02x%02x><BR>",
buf = PR_smprintf("</DIV MATCH=%02x%02x%02x%02x%02x%02x><BR>",
rand_buf[0], rand_buf[1], rand_buf[2],
rand_buf[3], rand_buf[4], rand_buf[5]);
// buf = PR_smprintf("</DIV><BR>");
buf = PR_smprintf("</DIV><BR></HTML>");
if (!buf)
return MK_OUT_OF_MEMORY;
status = MimeOptions_write(msd->options, buf, PL_strlen(buf), PR_TRUE);