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"