зеркало из https://github.com/mozilla/gecko-dev.git
Changes for HTML generation
This commit is contained in:
Родитель
a81e72bdef
Коммит
d1c1e0748f
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче