Bug #90505. Add signals to get the security change and status changes for documents. r=valeski,sr=dougt

This commit is contained in:
blizzard%redhat.com 2001-07-23 19:24:06 +00:00
Родитель d6b8dd6c37
Коммит 9dc86ce92c
4 изменённых файлов: 37 добавлений и 1 удалений

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

@ -142,6 +142,17 @@ EmbedProgress::OnStatusChange(nsIWebProgress *aWebProgress,
nsresult aStatus,
const PRUnichar *aMessage)
{
// need to make a copy so we can safely cast to a void *
PRUnichar *tmpString = nsCRT::strdup(aMessage);
gtk_signal_emit(GTK_OBJECT(mOwner->mOwningWidget),
moz_embed_signals[STATUS_CHANGE],
NS_STATIC_CAST(void *, aRequest),
NS_STATIC_CAST(int, aStatus),
NS_STATIC_CAST(void *, tmpString));
nsMemory::Free(tmpString);
return NS_OK;
}
@ -150,7 +161,11 @@ EmbedProgress::OnSecurityChange(nsIWebProgress *aWebProgress,
nsIRequest *aRequest,
PRInt32 aState)
{
return NS_ERROR_NOT_IMPLEMENTED;
gtk_signal_emit(GTK_OBJECT(mOwner->mOwningWidget),
moz_embed_signals[SECURITY_CHANGE],
NS_STATIC_CAST(void *, aRequest),
aState);
return NS_OK;
}
/* static */

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

@ -76,6 +76,10 @@ struct _GtkMozEmbedClass
gint (* dom_mouse_dbl_click) (GtkMozEmbed *embed, gpointer dom_event);
gint (* dom_mouse_over) (GtkMozEmbed *embed, gpointer dom_event);
gint (* dom_mouse_out) (GtkMozEmbed *embed, gpointer dom_event);
void (* security_change) (GtkMozEmbed *embed, gpointer request,
guint state);
void (* status_change) (GtkMozEmbed *embed, gpointer request,
gint status, gpointer message);
};
GtkType gtk_moz_embed_get_type (void);

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

@ -412,6 +412,21 @@ gtk_moz_embed_class_init(GtkMozEmbedClass *klass)
GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_out),
gtk_marshal_BOOL__POINTER,
GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER);
moz_embed_signals[SECURITY_CHANGE] =
gtk_signal_new("security_change",
GTK_RUN_LAST,
object_class->type,
GTK_SIGNAL_OFFSET(GtkMozEmbedClass, security_change),
gtk_marshal_NONE__POINTER_UINT,
GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_UINT);
moz_embed_signals[STATUS_CHANGE] =
gtk_signal_new("status_change",
GTK_RUN_LAST,
object_class->type,
GTK_SIGNAL_OFFSET(GtkMozEmbedClass, status_change),
gtk_marshal_NONE__POINTER_INT_POINTER,
GTK_TYPE_NONE, 3,
GTK_TYPE_POINTER, GTK_TYPE_INT, GTK_TYPE_POINTER);
gtk_object_class_add_signals(object_class, moz_embed_signals,
EMBED_LAST_SIGNAL);

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

@ -55,6 +55,8 @@ enum {
DOM_MOUSE_DBL_CLICK,
DOM_MOUSE_OVER,
DOM_MOUSE_OUT,
SECURITY_CHANGE,
STATUS_CHANGE,
EMBED_LAST_SIGNAL
};