diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-05-28 14:48:41 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-05-28 14:48:41 (GMT) |
commit | a07dcc0c503cc081b7fc4e877a148258b45af583 (patch) | |
tree | d4b1888e4f635d3e7b03abd482e8468bf02d9517 /src | |
parent | 32a18dfc6da97801673dd0bf7424350489694ca0 (diff) |
First try at popup support.
Diffstat (limited to 'src')
-rw-r--r-- | src/hulahop-web-view.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/hulahop-web-view.cpp b/src/hulahop-web-view.cpp index d23bf03..93c9aff 100644 --- a/src/hulahop-web-view.cpp +++ b/src/hulahop-web-view.cpp @@ -22,6 +22,8 @@ #include <nsCOMPtr.h> #include <nsIWebBrowser.h> #include <nsIWebBrowserFocus.h> +#include <nsIWebBrowserChrome.h> +#include <nsIEmbeddingSiteWindow.h> #include <nsIDOMWindow2.h> #include <nsIDOMEventTarget.h> #include <nsIBaseWindow.h> @@ -139,6 +141,16 @@ hulahop_web_view_map(GtkWidget *widget) GTK_WIDGET_SET_FLAGS(widget, GTK_MAPPED); + nsCOMPtr<nsIWebBrowserChrome> webBrowserChrome; + web_view->browser->GetContainerWindow(getter_AddRefs(webBrowserChrome)); + NS_ENSURE_TRUE(webBrowserChrome, ); + + nsCOMPtr<nsIEmbeddingSiteWindow> embeddingSiteWindow; + embeddingSiteWindow = do_QueryInterface(webBrowserChrome); + NS_ENSURE_TRUE(embeddingSiteWindow, ); + + embeddingSiteWindow->SetVisibility(PR_TRUE); + web_view->base_window->SetVisibility(PR_TRUE); gdk_window_show(widget->window); @@ -151,6 +163,16 @@ hulahop_web_view_unmap(GtkWidget *widget) GTK_WIDGET_UNSET_FLAGS(widget, GTK_MAPPED); + nsCOMPtr<nsIWebBrowserChrome> webBrowserChrome; + web_view->browser->GetContainerWindow(getter_AddRefs(webBrowserChrome)); + NS_ENSURE_TRUE(webBrowserChrome, ); + + nsCOMPtr<nsIEmbeddingSiteWindow> embeddingSiteWindow; + embeddingSiteWindow = do_QueryInterface(webBrowserChrome); + NS_ENSURE_TRUE(embeddingSiteWindow, ); + + embeddingSiteWindow->SetVisibility(PR_FALSE); + web_view->base_window->SetVisibility(PR_FALSE); gdk_window_hide(widget->window); |