LayoutTests:

        Reviewed by Geoff.

        Updates tests for http://bugs.webkit.org/show_bug.cgi?id=14193
        Move the Screen object out of the JS bindings

        * fast/dom/Window/window-appendages-cleared-expected.txt:
        * fast/dom/Window/window-properties-expected.txt:

WebCore:

        Reviewed by Geoff.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=14193
        Move the Screen object out of the JS bindings

        - Renames Screen.h to PlatformScreen.h to accommodate new class.
        - Autogenerates JSScreen.

        * DerivedSources.make:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_window.cpp:
        (KJS::WindowPrivate::WindowPrivate):
        (KJS::Window::mark):
        (KJS::Window::getValueProperty):
        (KJS::Window::clearHelperObjectProperties):
        * bindings/js/kjs_window.h:
        (KJS::Window::):
        * css/MediaQueryEvaluator.cpp:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::DOMWindow):
        (WebCore::DOMWindow::~DOMWindow):
        (WebCore::DOMWindow::frame):
        (WebCore::DOMWindow::disconnectFrame):
        (WebCore::DOMWindow::screen):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * page/Screen.cpp: Added.
        (WebCore::Screen::Screen):
        (WebCore::Screen::disconnectFrame):
        (WebCore::Screen::height):
        (WebCore::Screen::width):
        (WebCore::Screen::colorDepth):
        (WebCore::Screen::pixelDepth):
        (WebCore::Screen::availLeft):
        (WebCore::Screen::availTop):
        (WebCore::Screen::availHeight):
        (WebCore::Screen::availWidth):
        * page/Screen.h: Added.
        * page/Screen.idl: Added.
        * page/mac/WebCoreFrameBridge.mm:
        * platform/PlatformScreen.h: Copied from WebCore/platform/Screen.h.
        * platform/Screen.h: Removed.
        * platform/gdk/PlatformScreenGdk.cpp: Copied from WebCore/platform/gdk/ScreenGdk.cpp.
        * platform/gdk/ScreenGdk.cpp: Removed.
        * platform/mac/PlatformMouseEventMac.mm:
        * platform/mac/PlatformScreenMac.mm: Copied from WebCore/platform/mac/ScreenMac.mm.
        * platform/mac/ScreenMac.mm: Removed.
        * platform/qt/PlatformScreenQt.cpp: Added.
        (WebCore::WebCore::screenDepth):
        (WebCore::WebCore::screenDepthPerComponent):
        (WebCore::WebCore::screenIsMonochrome):
        (WebCore::WebCore::screenRect):
        (WebCore::WebCore::screenAvailableRect):
        * platform/qt/TemporaryLinkStubs.cpp:
        * platform/win/PlatformScreenWin.cpp: Copied from WebCore/platform/win/ScreenWin.cpp.
        * platform/win/ScreenWin.cpp: Removed.
        * rendering/RenderObject.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@23576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/platform/Screen.h b/WebCore/platform/PlatformScreen.h
similarity index 96%
rename from WebCore/platform/Screen.h
rename to WebCore/platform/PlatformScreen.h
index 77c945c..764fe02 100644
--- a/WebCore/platform/Screen.h
+++ b/WebCore/platform/PlatformScreen.h
@@ -23,8 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef Screen_h
-#define Screen_h
+#ifndef PlatformScreen_h
+#define PlatformScreen_h
 
 #include "FloatRect.h"
 #include <wtf/Forward.h>
@@ -44,14 +44,14 @@
 
     class FloatRect;
     class Widget;
-    
+
     int screenDepth(Widget*);
     int screenDepthPerComponent(Widget*);
     bool screenIsMonochrome(Widget*);
 
     FloatRect screenRect(Widget*);
     FloatRect screenAvailableRect(Widget*);
-    
+
 #if PLATFORM(MAC)
     NSScreen *screenForWindow(NSWindow *);
 
@@ -63,4 +63,4 @@
 
 } // namespace WebCore
 
-#endif // Screen_h
+#endif // PlatformScreen_h
diff --git a/WebCore/platform/gdk/ScreenGdk.cpp b/WebCore/platform/gdk/PlatformScreenGdk.cpp
similarity index 97%
rename from WebCore/platform/gdk/ScreenGdk.cpp
rename to WebCore/platform/gdk/PlatformScreenGdk.cpp
index a667c63..6604be7 100644
--- a/WebCore/platform/gdk/ScreenGdk.cpp
+++ b/WebCore/platform/gdk/PlatformScreenGdk.cpp
@@ -26,13 +26,13 @@
  */
 
 #include "config.h"
-#include "Screen.h"
-#include "Widget.h"
+#include "PlatformScreen.h"
 
 #include "NotImplemented.h"
-#include <wtf/Assertions.h>
+#include "Widget.h"
 #include <gdk/gdk.h>
 #include <stdio.h>
+#include <wtf/Assertions.h>
 
 namespace WebCore {
 
@@ -69,4 +69,4 @@
     return FloatRect(); 
 }
 
-}
+} // namespace WebCore
diff --git a/WebCore/platform/mac/PlatformMouseEventMac.mm b/WebCore/platform/mac/PlatformMouseEventMac.mm
index 42b0fa9..c8c43f8 100644
--- a/WebCore/platform/mac/PlatformMouseEventMac.mm
+++ b/WebCore/platform/mac/PlatformMouseEventMac.mm
@@ -26,7 +26,7 @@
 #import "config.h"
 #import "PlatformMouseEvent.h"
 
-#import "Screen.h"
+#import "PlatformScreen.h"
 
 namespace WebCore {
 
diff --git a/WebCore/platform/mac/ScreenMac.mm b/WebCore/platform/mac/PlatformScreenMac.mm
similarity index 99%
rename from WebCore/platform/mac/ScreenMac.mm
rename to WebCore/platform/mac/PlatformScreenMac.mm
index 221d22f..e98ff25 100644
--- a/WebCore/platform/mac/ScreenMac.mm
+++ b/WebCore/platform/mac/PlatformScreenMac.mm
@@ -24,7 +24,7 @@
  */
 
 #import "config.h"
-#import "Screen.h"
+#import "PlatformScreen.h"
 
 #import "FloatRect.h"
 #import "Frame.h"
diff --git a/WebCore/platform/gdk/ScreenGdk.cpp b/WebCore/platform/qt/PlatformScreenQt.cpp
similarity index 61%
copy from WebCore/platform/gdk/ScreenGdk.cpp
copy to WebCore/platform/qt/PlatformScreenQt.cpp
index a667c63..d6f8c3d 100644
--- a/WebCore/platform/gdk/ScreenGdk.cpp
+++ b/WebCore/platform/qt/PlatformScreenQt.cpp
@@ -1,7 +1,5 @@
 /*
- * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
- * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com 
- * All rights reserved.
+ * Copyright (C) 2007 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -26,47 +24,42 @@
  */
 
 #include "config.h"
-#include "Screen.h"
-#include "Widget.h"
+#include "PlatformScreen.h"
 
-#include "NotImplemented.h"
-#include <wtf/Assertions.h>
-#include <gdk/gdk.h>
-#include <stdio.h>
+#include "FloatRect.h"
+#include "Frame.h"
+#include "FrameView.h"
+#include "Widget.h"
+#include <QApplication>
+#include <QDesktopWidget>
 
 namespace WebCore {
-
-int screenDepth(Widget* widget) 
+    
+int WebCore::screenDepth(Widget* w)
 {
-    ASSERT(widget->drawable());
-
-    gint dummy, depth;
-    gdk_window_get_geometry(widget->drawable(), &dummy, &dummy, &dummy, &dummy, &depth);
-    return depth;
+    QDesktopWidget* d = QApplication::desktop();
+    return d->screen(d->screenNumber(w->qwidget()))->depth();
 }
 
-int screenDepthPerComponent(Widget*)
+int WebCore::screenDepthPerComponent(Widget* w)
 {
-    notImplemented();
-    return 8;
+    return w->qwidget()->depth();
 }
 
-bool screenIsMonochrome(Widget*) 
-{ 
-    notImplemented(); 
-    return false; 
+bool WebCore::screenIsMonochrome(Widget* w)
+{
+    QDesktopWidget* d = QApplication::desktop();
+    return d->screen(d->screenNumber(w->qwidget()))->numColors() < 2;
 }
 
-FloatRect screenRect(Widget*) 
-{ 
-    notImplemented();
-    return FloatRect(); 
+FloatRect WebCore::screenRect(Widget* w)
+{
+    return (QRectF)QApplication::desktop()->screenGeometry(w->qwidget());
 }
 
-FloatRect screenAvailableRect(Widget*) 
-{ 
-    notImplemented(); 
-    return FloatRect(); 
+FloatRect WebCore::screenAvailableRect(Widget* w)
+{
+    return (QRectF)QApplication::desktop()->availableGeometry(w->qwidget());
 }
 
-}
+} // namespace WebCore
diff --git a/WebCore/platform/qt/TemporaryLinkStubs.cpp b/WebCore/platform/qt/TemporaryLinkStubs.cpp
index d952276..a0312b8 100644
--- a/WebCore/platform/qt/TemporaryLinkStubs.cpp
+++ b/WebCore/platform/qt/TemporaryLinkStubs.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
  * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com
  * Copyright (C) 2006 George Staikos <staikos@kde.org>
  * Copyright (C) 2006 Dirk Mueller <mueller@kde.org>
@@ -31,37 +31,33 @@
 
 #include "config.h"
 
-#include <stdio.h>
-#include <stdlib.h>
-#include "Node.h"
+#include "AXObjectCache.h"
+#include "CachedResource.h"
+#include "CookieJar.h"
+#include "Cursor.h"
+#include "Font.h"
 #include "Frame.h"
 #include "FrameLoader.h"
-#include "Font.h"
-#include "IntPoint.h"
-#include "Widget.h"
-#include "GraphicsContext.h"
-#include "Cursor.h"
-#include "loader.h"
 #include "FrameView.h"
+#include "GraphicsContext.h"
+#include "History.h"
+#include "IconLoader.h"
+#include "IntPoint.h"
 #include "KURL.h"
-#include "CachedResource.h"
+#include "Language.h"
+#include "loader.h"
+#include "LocalizedStrings.h"
+#include "Node.h"
+#include "NotImplemented.h"
 #include "Path.h"
 #include "PlatformMouseEvent.h"
-#include "CookieJar.h"
-#include "Screen.h"
-#include "History.h"
-#include "Language.h"
-#include "LocalizedStrings.h"
 #include "PlugInInfoStore.h"
 #include "RenderTheme.h"
-#include "TextBoundaries.h"
-#include "AXObjectCache.h"
-#include "IconLoader.h"
 #include "SystemTime.h"
-#include "NotImplemented.h"
-
-#include <QApplication>
-#include <QDesktopWidget>
+#include "TextBoundaries.h"
+#include "Widget.h"
+#include <stdio.h>
+#include <stdlib.h>
 
 using namespace WebCore;
 
@@ -124,33 +120,6 @@
 
 void Frame::setNeedsReapplyStyles() { notImplemented(); }
 
-int WebCore::screenDepth(Widget *w)
-{
-    QDesktopWidget *d = QApplication::desktop();
-    return d->screen(d->screenNumber(w->qwidget()))->depth();
-}
-
-int WebCore::screenDepthPerComponent(Widget *w)
-{
-    return w->qwidget()->depth();
-}
-
-bool WebCore::screenIsMonochrome(Widget *w)
-{
-    QDesktopWidget *d = QApplication::desktop();
-    return d->screen(d->screenNumber(w->qwidget()))->numColors() < 2;
-}
-
-FloatRect WebCore::screenRect(Widget *w)
-{
-    return (QRectF)QApplication::desktop()->screenGeometry(w->qwidget());
-}
-
-FloatRect WebCore::screenAvailableRect(Widget *w)
-{
-    return (QRectF)QApplication::desktop()->availableGeometry(w->qwidget());
-}
-
 void FrameView::updateBorder() { notImplemented(); }
 
 bool AXObjectCache::gAccessibilityEnabled = false;
diff --git a/WebCore/platform/win/ScreenWin.cpp b/WebCore/platform/win/PlatformScreenWin.cpp
similarity index 98%
rename from WebCore/platform/win/ScreenWin.cpp
rename to WebCore/platform/win/PlatformScreenWin.cpp
index cbc22c9..0a47987 100644
--- a/WebCore/platform/win/ScreenWin.cpp
+++ b/WebCore/platform/win/PlatformScreenWin.cpp
@@ -24,7 +24,7 @@
  */
 
 #include "config.h"
-#include "Screen.h"
+#include "PlatformScreen.h"
 
 #include "IntRect.h"
 #include "FloatRect.h"