Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-05-28 14:48:41 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-05-28 14:48:41 (GMT)
commita07dcc0c503cc081b7fc4e877a148258b45af583 (patch)
treed4b1888e4f635d3e7b03abd482e8468bf02d9517 /src
parent32a18dfc6da97801673dd0bf7424350489694ca0 (diff)
First try at popup support.
Diffstat (limited to 'src')
-rw-r--r--src/hulahop-web-view.cpp22
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);