зеркало из https://github.com/mozilla/pjs.git
Bug #90505. Add signals to get the security change and status changes for documents. r=valeski,sr=dougt
This commit is contained in:
Родитель
d6b8dd6c37
Коммит
9dc86ce92c
|
@ -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
|
||||
};
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче