2008-10-03  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by David Hyatt.

        Gtk build fixes.

        * platform/gtk/FileChooserGtk.cpp:
        (WebCore::FileChooser::openFileChooser):
        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenAvailableRect):
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenu::show):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::platformAddChild):
        (WebCore::ScrollView::platformRemoveChild):
        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::setCursor):
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::getValue):
        (WebCore::PluginView::forceRedraw):
        (WebCore::PluginView::init):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 7bf7d85..d3552b1 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,27 @@
+2008-10-03  Jan Michael Alonzo  <jmalonzo@webkit.org>
+
+        Reviewed by David Hyatt.
+
+        Gtk build fixes.
+
+        * platform/gtk/FileChooserGtk.cpp:
+        (WebCore::FileChooser::openFileChooser):
+        * platform/gtk/PlatformScreenGtk.cpp:
+        (WebCore::screenDepth):
+        (WebCore::screenDepthPerComponent):
+        (WebCore::screenAvailableRect):
+        * platform/gtk/PopupMenuGtk.cpp:
+        (WebCore::PopupMenu::show):
+        * platform/gtk/ScrollViewGtk.cpp:
+        (WebCore::ScrollView::platformAddChild):
+        (WebCore::ScrollView::platformRemoveChild):
+        * platform/gtk/WidgetGtk.cpp:
+        (WebCore::Widget::setCursor):
+        * plugins/gtk/PluginViewGtk.cpp:
+        (WebCore::PluginView::getValue):
+        (WebCore::PluginView::forceRedraw):
+        (WebCore::PluginView::init):
+
 2008-10-03  David Hyatt  <hyatt@apple.com>
 
         Fix Qt bustage from missing include.
diff --git a/WebCore/platform/gtk/FileChooserGtk.cpp b/WebCore/platform/gtk/FileChooserGtk.cpp
index 1649bc2..155b3b1 100644
--- a/WebCore/platform/gtk/FileChooserGtk.cpp
+++ b/WebCore/platform/gtk/FileChooserGtk.cpp
@@ -30,6 +30,7 @@
 #include "CString.h"
 #include "Document.h"
 #include "FrameView.h"
+#include "HostWindow.h"
 #include "Icon.h"
 #include "LocalizedStrings.h"
 #include "StringTruncator.h"
@@ -63,7 +64,7 @@
         return;
 
     GtkWidget* dialog = gtk_file_chooser_dialog_new(_("Upload File"),
-                                                    GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(view->containingWindow()))),
+                                                    GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(view->hostWindow()->platformWindow()))),
                                                     GTK_FILE_CHOOSER_ACTION_OPEN,
                                                     GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                                     GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
diff --git a/WebCore/platform/gtk/PlatformScreenGtk.cpp b/WebCore/platform/gtk/PlatformScreenGtk.cpp
index 42adfef..f863c7f 100644
--- a/WebCore/platform/gtk/PlatformScreenGtk.cpp
+++ b/WebCore/platform/gtk/PlatformScreenGtk.cpp
@@ -30,7 +30,9 @@
 #include "config.h"
 #include "PlatformScreen.h"
 
+#include "HostWindow.h"
 #include "NotImplemented.h"
+#include "ScrollView.h"
 #include "Widget.h"
 
 #include <gtk/gtk.h>
@@ -44,27 +46,27 @@
 
 int screenDepth(Widget* widget)
 {
-    GtkWidget* container = GTK_WIDGET(widget->containingWindow());
+    GtkWidget* container = GTK_WIDGET(widget->root()->hostWindow()->platformWindow());
     if (!container)
         return 24;
 
-    GdkVisual* visual = gdk_drawable_get_visual(GDK_DRAWABLE(GTK_WIDGET(widget->containingWindow())->window));
+    GdkVisual* visual = gdk_drawable_get_visual(GDK_DRAWABLE(GTK_WIDGET(widget->root()->hostWindow()->platformWindow()->window)));
     return visual->depth;
 }
 
 int screenDepthPerComponent(Widget* widget)
 {
-    GtkWidget* container = GTK_WIDGET(widget->containingWindow());
+    GtkWidget* container = GTK_WIDGET(widget->root()->hostWindow()->platformWindow());
     if (!container)
         return 8;
 
-    GdkVisual* visual = gdk_drawable_get_visual(GDK_DRAWABLE(GTK_WIDGET(widget->containingWindow())->window));
+    GdkVisual* visual = gdk_drawable_get_visual(GDK_DRAWABLE(GTK_WIDGET(widget->root()->hostWindow()->platformWindow())->window));
     return visual->bits_per_rgb;
 }
 
 bool screenIsMonochrome(Widget* widget)
 {
-    GtkWidget* container = GTK_WIDGET(widget->containingWindow());
+    GtkWidget* container = GTK_WIDGET(widget->root()->hostWindow()->platformWindow());
     if (!container)
         return false;
 
@@ -73,7 +75,7 @@
 
 FloatRect screenRect(Widget* widget)
 {
-    GtkWidget* container = GTK_WIDGET(widget->containingWindow());
+    GtkWidget* container = GTK_WIDGET(widget->root()->hostWindow()->platformWindow());
     if (!container)
         return FloatRect();
 
@@ -91,7 +93,7 @@
 FloatRect screenAvailableRect(Widget* widget)
 {
 #if PLATFORM(X11)
-    GtkWidget* container = GTK_WIDGET(widget->containingWindow());
+    GtkWidget* container = GTK_WIDGET(widget->root()->hostWindow()->platformWindow());
     if (!container)
         return FloatRect();
 
diff --git a/WebCore/platform/gtk/PopupMenuGtk.cpp b/WebCore/platform/gtk/PopupMenuGtk.cpp
index 0266ced..be727de 100644
--- a/WebCore/platform/gtk/PopupMenuGtk.cpp
+++ b/WebCore/platform/gtk/PopupMenuGtk.cpp
@@ -27,6 +27,7 @@
 
 #include "CString.h"
 #include "FrameView.h"
+#include "HostWindow.h"
 #include "NotImplemented.h"
 #include "PlatformString.h"
 #include <gtk/gtk.h>
@@ -62,7 +63,7 @@
         gtk_container_foreach(GTK_CONTAINER(m_popup), reinterpret_cast<GtkCallback>(menuRemoveItem), this);
 
     int x, y;
-    gdk_window_get_origin(GTK_WIDGET(view->containingWindow())->window, &x, &y);
+    gdk_window_get_origin(GTK_WIDGET(view->hostWindow()->platformWindow())->window, &x, &y);
     m_menuPosition = view->contentsToWindow(rect.location());
     m_menuPosition = IntPoint(m_menuPosition.x() + x, m_menuPosition.y() + y + rect.height());
     m_indexMap.clear();
diff --git a/WebCore/platform/gtk/ScrollViewGtk.cpp b/WebCore/platform/gtk/ScrollViewGtk.cpp
index 9a2e046..cb22fe8 100644
--- a/WebCore/platform/gtk/ScrollViewGtk.cpp
+++ b/WebCore/platform/gtk/ScrollViewGtk.cpp
@@ -126,13 +126,13 @@
 void ScrollView::platformAddChild(Widget* child)
 {
     if (!GTK_IS_SOCKET(child->platformWidget()))
-        gtk_container_add(GTK_CONTAINER(containingWindow()), child->platformWidget());
+        gtk_container_add(GTK_CONTAINER(hostWindow()->platformWindow()), child->platformWidget());
 }
 
 void ScrollView::platformRemoveChild(Widget* child)
 {
-    if (GTK_WIDGET(containingWindow()) == GTK_WIDGET(child->platformWidget())->parent)
-        gtk_container_remove(GTK_CONTAINER(containingWindow()), child->platformWidget());
+    if (GTK_WIDGET(hostWindow()->platformWindow()) == GTK_WIDGET(child->platformWidget())->parent)
+        gtk_container_remove(GTK_CONTAINER(hostWindow()->platformWindow()), child->platformWidget());
 }
 
 bool ScrollView::platformHandleHorizontalAdjustment(const IntSize& scroll)
diff --git a/WebCore/platform/gtk/WidgetGtk.cpp b/WebCore/platform/gtk/WidgetGtk.cpp
index 7b2d6f6..85c0a98 100644
--- a/WebCore/platform/gtk/WidgetGtk.cpp
+++ b/WebCore/platform/gtk/WidgetGtk.cpp
@@ -31,6 +31,7 @@
 #include "Cursor.h"
 #include "FrameView.h"
 #include "GraphicsContext.h"
+#include "HostWindow.h"
 #include "IntRect.h"
 #include "NotImplemented.h"
 #include "RenderObject.h"
@@ -58,14 +59,9 @@
     delete m_data;
 }
 
-PlatformWidget Widget::containingWindow() const
-{
-    return m_containingWindow;
-}
-
 void Widget::setFocus()
 {
-    gtk_widget_grab_focus(platformWidget() ? platformWidget() : GTK_WIDGET(containingWindow()));
+    gtk_widget_grab_focus(platformWidget() ? platformWidget() : GTK_WIDGET(root()->hostWindow()->platformWindow()));
 }
 
 Cursor Widget::cursor()
@@ -91,7 +87,7 @@
     if (pcur == m_data->cursor)
         return;
 
-    gdk_window_set_cursor(gdkDrawable(platformWidget()) ? GDK_WINDOW(gdkDrawable(platformWidget())) : GTK_WIDGET(containingWindow())->window, pcur);
+    gdk_window_set_cursor(gdkDrawable(platformWidget()) ? GDK_WINDOW(gdkDrawable(platformWidget())) : GTK_WIDGET(root()->hostWindow()->platformWindow())->window, pcur);
     m_data->cursor = pcur;
 }
 
diff --git a/WebCore/plugins/gtk/PluginViewGtk.cpp b/WebCore/plugins/gtk/PluginViewGtk.cpp
index 1fe3ccc..bc29288 100644
--- a/WebCore/plugins/gtk/PluginViewGtk.cpp
+++ b/WebCore/plugins/gtk/PluginViewGtk.cpp
@@ -439,10 +439,10 @@
             void* w = reinterpret_cast<void*>(value);
 
 #if PLATFORM(X11)
-            *((XID *)w) = GDK_WINDOW_XWINDOW(containingWindow()->window);
+            *((XID *)w) = GDK_WINDOW_XWINDOW(m_parentFrame->view()->hostWindow()->platformWindow()->window);
 #endif
 #ifdef GDK_WINDOWING_WIN32
-            *((HWND *)w) = GDK_WINDOWING_HWND(containingWindow()->window);
+            *((HWND *)w) = GDK_WINDOWING_HWND(m_parentFrame->view()->hostWindow()->platformWindow()->window);
 #endif
             return NPERR_NO_ERROR;
         }
@@ -478,7 +478,7 @@
     if (m_isWindowed)
         gtk_widget_queue_draw(platformPluginWidget());
     else
-        gtk_widget_queue_draw(containingWindow());
+        gtk_widget_queue_draw(m_parentFrame->view()->hostWindow()->platformWindow());
 }
 
 PluginView::~PluginView()
@@ -536,13 +536,13 @@
 #if PLATFORM(X11)
     if (m_needsXEmbed) {
         setPlatformWidget(gtk_socket_new());
-        gtk_container_add(GTK_CONTAINER(containingWindow()), platformPluginWidget());
+        gtk_container_add(GTK_CONTAINER(m_parentFrame->view()->hostWindow()->platformWindow()), platformPluginWidget());
         g_signal_connect(platformPluginWidget(), "plug_removed", G_CALLBACK(plug_removed_cb), NULL);
     } else if (m_isWindowed)
-        setPlatformWidget(gtk_xtbin_new(m_parentFrame->view()->containingWindow()->window, 0));
+        setPlatformWidget(gtk_xtbin_new(m_parentFrame->view()->hostWindow()->platformWindow()->window, 0));
 #else
     setPlatformWidget(gtk_socket_new());
-    gtk_container_add(GTK_CONTAINER(m_parentFrame->view()->containingWindow()), platformPluginWidget());
+    gtk_container_add(GTK_CONTAINER(m_parentFrame->view()->hostWindow()->platformWindow()), platformPluginWidget());
 #endif
     show();