зеркало из 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,
|
nsresult aStatus,
|
||||||
const PRUnichar *aMessage)
|
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;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +161,11 @@ EmbedProgress::OnSecurityChange(nsIWebProgress *aWebProgress,
|
||||||
nsIRequest *aRequest,
|
nsIRequest *aRequest,
|
||||||
PRInt32 aState)
|
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 */
|
/* static */
|
||||||
|
|
|
@ -76,6 +76,10 @@ struct _GtkMozEmbedClass
|
||||||
gint (* dom_mouse_dbl_click) (GtkMozEmbed *embed, gpointer dom_event);
|
gint (* dom_mouse_dbl_click) (GtkMozEmbed *embed, gpointer dom_event);
|
||||||
gint (* dom_mouse_over) (GtkMozEmbed *embed, gpointer dom_event);
|
gint (* dom_mouse_over) (GtkMozEmbed *embed, gpointer dom_event);
|
||||||
gint (* dom_mouse_out) (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);
|
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_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_out),
|
||||||
gtk_marshal_BOOL__POINTER,
|
gtk_marshal_BOOL__POINTER,
|
||||||
GTK_TYPE_BOOL, 1, GTK_TYPE_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,
|
gtk_object_class_add_signals(object_class, moz_embed_signals,
|
||||||
EMBED_LAST_SIGNAL);
|
EMBED_LAST_SIGNAL);
|
||||||
|
|
|
@ -55,6 +55,8 @@ enum {
|
||||||
DOM_MOUSE_DBL_CLICK,
|
DOM_MOUSE_DBL_CLICK,
|
||||||
DOM_MOUSE_OVER,
|
DOM_MOUSE_OVER,
|
||||||
DOM_MOUSE_OUT,
|
DOM_MOUSE_OUT,
|
||||||
|
SECURITY_CHANGE,
|
||||||
|
STATUS_CHANGE,
|
||||||
EMBED_LAST_SIGNAL
|
EMBED_LAST_SIGNAL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче