WebCore:
authorggaren <ggaren@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 6 Nov 2006 23:56:59 +0000 (23:56 +0000)
committerggaren <ggaren@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 6 Nov 2006 23:56:59 +0000 (23:56 +0000)
commit047e0a20c73850f57aa4a9f0d9d8a20ec072b585
treee6856397941907a6977ff78c6e8100594689edfd
parentb8684fbcfae10cd3b1a0e0b983984da0ead505d8
WebCore:

        Reviewed by Maciej, Anders, Darin.

        Removed the Page bridge. Beefed up Chrome. Added Screen and ScreenClient.
        Fixed a minor where WebCore would always assume it was displayed on the
        monitor containing the menubar. window.open and window.showModalDialog
        are now cross-platform.

        Layout tests, manual-tests/show-modal-dialog, and manual-tests/
        window-open-features-parsing all pass. I verified the new screen functionality
        by running in DRT, and checking whether WebCore knew it was off-screen.

        Some refactoring remains, as all were not pleased by this design. I see
        in my future another patch.

        * bindings/js/kjs_window.cpp: Screen is now a stand-alone object with a
        client, to encapsulate asking the platform questions about the screen occupied by
        the page. (Previously, we always assumed we were on screen 0, which was a bug.)
        * bridge/mac/WebCoreFrameBridge.mm:
        (createMouseEventFromDraggingInfo): Reversed argument order, to match other
        functions.
        (-[WebCoreFrameBridge dragSourceMovedTo:]): ditto
        (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): ditto
        * bridge/mac/WebCoreFrameNamespaces.h: Removed. Dead Code.
        * bridge/mac/WebCoreFrameNamespaces.mm: Removed. Dead Code.
        * bridge/mac/WebCorePageBridge.h: Removed. Dead Code.
        * bridge/mac/WebCorePageBridge.mm: Removed. Dead Code.
        * manual-tests/window-open-features-parsing.html: Updated for accuracy.
        (In this case, neither size nor position is specified, so you should
        get the default window size and position.)
        * page/Screen.cpp: Added. Includes screen-related helper functions used
        in WebCore and WebKit.
        * platform/PlatformMouseEvent.h: Exported common code so it doesn't have
        to be duplicated. Renamed "position" to "point" since both were used,
        and "point" seemed clearer.
        * platform/Screen.h: Removed. Dead Code.
        * platform/mac/LoggingMac.mm: Added. Moved code here from WebCorePageBridge
        initialization.

WebKit:

        Reviewed by Maciej, Darin, Anders.

        Removed the Page bridge. Beefed up Chrome. Added Screen and ScreenClient.

        (WebChromeClient::pageRect): It may seem weird for the page to ask the Chrome/ChromeClient
        about its own dimensions. The idea here is that we're asking the Chrome how
        much space it has devoted to the page. We have API for this (-webViewContentRect), but
        it was documented incorrectly (even Safari used it wrong), so we don't use
        it anymore. Once we fix our API/documentation, we can return to making a
        delegate callback to ask for the page's size.
        (WebChromeClient::createWindow): Changed to take a FrameLoadRequest with
        an appropriate referrer, instead of making up its own.
        (WebChromeClient::createModalDialog): Changed to take a FrameLoadRequest with
        an appropriate referrer, instead of broken out parcels.
        * WebCoreSupport/WebPageBridge.h: Removed. Dead Code.
        * WebCoreSupport/WebPageBridge.mm: Removed. Dead Code.
        * WebCoreSupport/WebScreenClient.h: Added.
        * WebCoreSupport/WebScreenClient.mm: Added.
        * WebView/WebView.mm: Added NULL checks for new _private->page, since
        it's not NULL-safe like the bridge was, and it gets cleared before
        dealloc.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@17631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
50 files changed:
WebCore/ChangeLog
WebCore/WebCore.exp
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bindings/js/kjs_window.cpp
WebCore/bridge/mac/FrameMac.h
WebCore/bridge/mac/FrameMac.mm
WebCore/bridge/mac/PageMac.mm [deleted file]
WebCore/bridge/mac/WebCoreFrameBridge.h
WebCore/bridge/mac/WebCoreFrameBridge.mm
WebCore/bridge/mac/WebCoreFrameNamespaces.h [deleted file]
WebCore/bridge/mac/WebCoreFrameNamespaces.mm [deleted file]
WebCore/bridge/mac/WebCorePageBridge.h [deleted file]
WebCore/css/MediaQueryEvaluator.cpp
WebCore/html/HTMLCanvasElement.cpp
WebCore/loader/FrameLoader.cpp
WebCore/loader/mac/FrameLoaderMac.mm
WebCore/manual-tests/window-open-features-parsing.html
WebCore/page/Chrome.cpp
WebCore/page/Chrome.h
WebCore/page/ChromeClient.h
WebCore/page/DOMWindow.cpp
WebCore/page/Frame.cpp
WebCore/page/Frame.h
WebCore/page/Page.cpp
WebCore/page/Page.h
WebCore/page/Screen.cpp [new file with mode: 0644]
WebCore/page/Screen.h [new file with mode: 0644]
WebCore/page/ScreenClient.h [moved from WebCore/platform/Screen.h with 71% similarity]
WebCore/platform/Logging.h
WebCore/platform/PlatformMouseEvent.h
WebCore/platform/mac/LoggingMac.mm [moved from WebCore/bridge/mac/WebCorePageBridge.mm with 67% similarity]
WebCore/platform/mac/PlatformMouseEventMac.mm
WebCore/platform/mac/ScreenMac.mm
WebCore/platform/mac/WheelEventMac.mm
WebCore/rendering/RenderObject.cpp
WebKit/ChangeLog
WebKit/WebCoreSupport/WebChromeClient.h
WebKit/WebCoreSupport/WebChromeClient.mm
WebKit/WebCoreSupport/WebFrameBridge.h
WebKit/WebCoreSupport/WebFrameBridge.mm
WebKit/WebCoreSupport/WebFrameLoaderClient.mm
WebKit/WebCoreSupport/WebPageBridge.h [deleted file]
WebKit/WebCoreSupport/WebPageBridge.mm [deleted file]
WebKit/WebCoreSupport/WebScreenClient.h [new file with mode: 0644]
WebKit/WebCoreSupport/WebScreenClient.mm [new file with mode: 0644]
WebKit/WebKit.xcodeproj/project.pbxproj
WebKit/WebView/WebFrame.mm
WebKit/WebView/WebFrameInternal.h
WebKit/WebView/WebView.mm
WebKit/WebView/WebViewInternal.h