diff options
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); |