зеркало из https://github.com/mozilla/gecko-dev.git
97580 Add EmbedPrivate::GetSize to match Resize
and don't call Resize if the allocation didn't change dimensions. Patch by tommi.komulainen@iki.fi r=blizzard sr=bryner
This commit is contained in:
Родитель
3fae4f8645
Коммит
e28d060122
|
@ -336,6 +336,13 @@ EmbedPrivate::Resize(PRUint32 aWidth, PRUint32 aHeight)
|
|||
0, 0, aWidth, aHeight);
|
||||
}
|
||||
|
||||
void
|
||||
EmbedPrivate::GetSize(PRInt32 *aWidth, PRInt32 *aHeight)
|
||||
{
|
||||
mWindow->GetDimensions(nsIEmbeddingSiteWindow::DIM_FLAGS_SIZE_INNER,
|
||||
nsnull, nsnull, aWidth, aHeight);
|
||||
}
|
||||
|
||||
void
|
||||
EmbedPrivate::Destroy(void)
|
||||
{
|
||||
|
|
|
@ -78,6 +78,7 @@ class EmbedPrivate {
|
|||
void Show (void);
|
||||
void Hide (void);
|
||||
void Resize (PRUint32 aWidth, PRUint32 aHeight);
|
||||
void GetSize (PRInt32 *aWidth, PRInt32 *aHeight);
|
||||
void Destroy (void);
|
||||
void SetURI (const char *aURI);
|
||||
void LoadCurrentURI (void);
|
||||
|
|
|
@ -710,10 +710,16 @@ gtk_moz_embed_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
|
|||
|
||||
if (GTK_WIDGET_REALIZED(widget))
|
||||
{
|
||||
PRInt32 width, height;
|
||||
|
||||
embedPrivate->GetSize (&width, &height);
|
||||
|
||||
gdk_window_move_resize(widget->window,
|
||||
allocation->x, allocation->y,
|
||||
allocation->width, allocation->height);
|
||||
embedPrivate->Resize(allocation->width, allocation->height);
|
||||
|
||||
if ((allocation->width != width) || (allocation->height != height))
|
||||
embedPrivate->Resize(allocation->width, allocation->height);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче