[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
weinig at apple.com
weinig at apple.com
Wed Dec 22 14:27:54 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 86e85b8b66dbe0e9b09eec86a0bf7e14d9f5b024
Author: weinig at apple.com <weinig at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sat Oct 9 20:32:19 2010 +0000
Need implementation of ChromeClient windowRect related functions.
<rdar://problem/8469476>
https://bugs.webkit.org/show_bug.cgi?id=47386
Reviewed by Dan Bernstein.
WebKit2:
* Shared/API/c/WKGeometry.h: Added.
Adds WKPoint, WKSize and WKRect structs.
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toImpl):
(WebKit::toAPI):
Add conversion functions for WKRect.
* Shared/WebCoreArgumentCoders.h:
Add encoding for FloatPoint, FloatSize and FloatRect.
* UIProcess/API/C/WKPage.h:
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::transformToDeviceSpace):
(WebKit::PageClientImpl::transformToUserSpace):
* UIProcess/API/mac/WKView.mm:
(-[WKView _transformToDeviceSpace:]):
(-[WKView _transformToUserSpace:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/API/qt/qwkpage.cpp:
(QWKPagePrivate::transformToDeviceSpace):
(QWKPagePrivate::transformToUserSpace):
(QWKPage::QWKPage):
* UIProcess/API/qt/qwkpage_p.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setWindowFrame):
(WebKit::WebPageProxy::getWindowFrame):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::setWindowFrame):
(WebKit::WebUIClient::windowFrame):
* UIProcess/WebUIClient.h:
* UIProcess/win/WebView.cpp:
(WebKit::WebView::setEditCommandState):
(WebKit::WebView::transformToDeviceSpace):
(WebKit::WebView::transformToUserSpace):
* UIProcess/win/WebView.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::setWindowFrame):
(WebKit::WebChromeClient::windowFrame):
Pipe calls through to the UIProcess, and give ports a chance to transform
the rect (via the PageClient) before it is passed on.
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
* win/WebKit2Generated.make:
Add new files.
WebKitTools:
* MiniBrowser/mac/BrowserWindowController.m:
(getWindowFrame):
(setWindowFrame):
(-[BrowserWindowController awakeFromNib]):
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::windowFrame):
(WTR::PlatformWebView::setWindowFrame):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::PlatformWebView::windowFrame):
(WTR::PlatformWebView::setWindowFrame):
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::windowFrame):
(WTR::PlatformWebView::setWindowFrame):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 73ad2e7..7bd372b 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,63 @@
+2010-10-09 Sam Weinig <sam at webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Need implementation of ChromeClient windowRect related functions.
+ <rdar://problem/8469476>
+ https://bugs.webkit.org/show_bug.cgi?id=47386
+
+ * Shared/API/c/WKGeometry.h: Added.
+ Adds WKPoint, WKSize and WKRect structs.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toImpl):
+ (WebKit::toAPI):
+ Add conversion functions for WKRect.
+
+ * Shared/WebCoreArgumentCoders.h:
+ Add encoding for FloatPoint, FloatSize and FloatRect.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::transformToDeviceSpace):
+ (WebKit::PageClientImpl::transformToUserSpace):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _transformToDeviceSpace:]):
+ (-[WKView _transformToUserSpace:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::transformToDeviceSpace):
+ (QWKPagePrivate::transformToUserSpace):
+ (QWKPage::QWKPage):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setWindowFrame):
+ (WebKit::WebPageProxy::getWindowFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::setWindowFrame):
+ (WebKit::WebUIClient::windowFrame):
+ * UIProcess/WebUIClient.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setEditCommandState):
+ (WebKit::WebView::transformToDeviceSpace):
+ (WebKit::WebView::transformToUserSpace):
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setWindowFrame):
+ (WebKit::WebChromeClient::windowFrame):
+ Pipe calls through to the UIProcess, and give ports a chance to transform
+ the rect (via the PageClient) before it is passed on.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
2010-10-07 Jessie Berlin <jberlin at apple.com>
Reviewed by Sam Weinig.
diff --git a/WebKit2/Shared/API/c/WKGeometry.h b/WebKit2/Shared/API/c/WKGeometry.h
new file mode 100644
index 0000000..70ef969
--- /dev/null
+++ b/WebKit2/Shared/API/c/WKGeometry.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WKGeometry_h
+#define WKGeometry_h
+
+#include <WebKit2/WKBase.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct WKPoint {
+ double x;
+ double y;
+};
+typedef struct WKPoint WKPoint;
+
+struct WKSize {
+ double width;
+ double height;
+};
+typedef struct WKSize WKSize;
+
+struct WKRect {
+ WKPoint origin;
+ WKSize size;
+};
+typedef struct WKRect WKRect;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* WKGeometry_h */
diff --git a/WebKit2/Shared/API/c/WKSharedAPICast.h b/WebKit2/Shared/API/c/WKSharedAPICast.h
index 30f5f96..e15acac 100644
--- a/WebKit2/Shared/API/c/WKSharedAPICast.h
+++ b/WebKit2/Shared/API/c/WKSharedAPICast.h
@@ -28,10 +28,12 @@
#include "WKBase.h"
#include "WKEvent.h"
+#include "WKGeometry.h"
#include "WebEvent.h"
#include "WebNumber.h"
#include "WebString.h"
#include "WebURL.h"
+#include <WebCore/FloatRect.h>
#include <wtf/TypeTraits.h>
namespace WebKit {
@@ -147,6 +149,25 @@ inline String toWTFString(WKURLRef urlRef)
return toImpl(urlRef)->string();
}
+
+/* Geometry conversions */
+
+inline WebCore::FloatRect toImpl(const WKRect& wkRect)
+{
+ return WebCore::FloatRect(static_cast<float>(wkRect.origin.x), static_cast<float>(wkRect.origin.y),
+ static_cast<float>(wkRect.size.width), static_cast<float>(wkRect.size.height));
+}
+
+inline WKRect toAPI(const WebCore::FloatRect& rect)
+{
+ WKRect wkRect;
+ wkRect.origin.x = rect.x();
+ wkRect.origin.y = rect.y();
+ wkRect.size.width = rect.width();
+ wkRect.size.height = rect.height();
+ return wkRect;
+}
+
/* Enum conversions */
inline WKTypeID toAPI(APIObject::Type type)
diff --git a/WebKit2/Shared/WebCoreArgumentCoders.h b/WebKit2/Shared/WebCoreArgumentCoders.h
index b4064b2..f61fdcf 100644
--- a/WebKit2/Shared/WebCoreArgumentCoders.h
+++ b/WebKit2/Shared/WebCoreArgumentCoders.h
@@ -43,6 +43,10 @@ template<> struct ArgumentCoder<WebCore::IntPoint> : SimpleArgumentCoder<WebCore
template<> struct ArgumentCoder<WebCore::IntSize> : SimpleArgumentCoder<WebCore::IntSize> { };
template<> struct ArgumentCoder<WebCore::IntRect> : SimpleArgumentCoder<WebCore::IntRect> { };
+template<> struct ArgumentCoder<WebCore::FloatPoint> : SimpleArgumentCoder<WebCore::FloatPoint> { };
+template<> struct ArgumentCoder<WebCore::FloatSize> : SimpleArgumentCoder<WebCore::FloatSize> { };
+template<> struct ArgumentCoder<WebCore::FloatRect> : SimpleArgumentCoder<WebCore::FloatRect> { };
+
template<> struct ArgumentCoder<WebCore::MimeClassInfo> {
static void encode(ArgumentEncoder* encoder, const WebCore::MimeClassInfo& mimeClassInfo)
{
diff --git a/WebKit2/UIProcess/API/C/WKPage.h b/WebKit2/UIProcess/API/C/WKPage.h
index af77c31..b795ee4 100644
--- a/WebKit2/UIProcess/API/C/WKPage.h
+++ b/WebKit2/UIProcess/API/C/WKPage.h
@@ -28,6 +28,7 @@
#include <WebKit2/WKBase.h>
#include <WebKit2/WKEvent.h>
+#include <WebKit2/WKGeometry.h>
#include <WebKit2/WKNativeEvent.h>
#ifndef __cplusplus
@@ -138,6 +139,8 @@ typedef void (*WKPageSetStatusTextCallback)(WKPageRef page, WKStringRef text, co
typedef void (*WKPageMouseDidMoveOverElementCallback)(WKPageRef page, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo);
typedef void (*WKPageContentsSizeChangedCallback)(WKPageRef page, int width, int height, WKFrameRef frame, const void *clientInfo);
typedef void (*WKPageDidNotHandleKeyEventCallback)(WKPageRef page, WKNativeEventPtr event, const void *clientInfo);
+typedef WKRect (*WKPageGetWindowFrameCallback)(WKPageRef page, const void *clientInfo);
+typedef void (*WKPageSetWindowFrameCallback)(WKPageRef page, WKRect frame, const void *clientInfo);
struct WKPageUIClient {
int version;
@@ -152,6 +155,8 @@ struct WKPageUIClient {
WKPageMouseDidMoveOverElementCallback mouseDidMoveOverElement;
WKPageContentsSizeChangedCallback contentsSizeChanged;
WKPageDidNotHandleKeyEventCallback didNotHandleKeyEvent;
+ WKPageGetWindowFrameCallback getWindowFrame;
+ WKPageSetWindowFrameCallback setWindowFrame;
};
typedef struct WKPageUIClient WKPageUIClient;
diff --git a/WebKit2/UIProcess/API/mac/PageClientImpl.h b/WebKit2/UIProcess/API/mac/PageClientImpl.h
index 748d7e3..e621f3c 100644
--- a/WebKit2/UIProcess/API/mac/PageClientImpl.h
+++ b/WebKit2/UIProcess/API/mac/PageClientImpl.h
@@ -56,6 +56,9 @@ private:
void clearAllEditCommands();
void setEditCommandState(const String& commandName, bool isEnabled, int state);
+ WebCore::FloatRect transformToDeviceSpace(const WebCore::FloatRect&);
+ WebCore::FloatRect transformToUserSpace(const WebCore::FloatRect&);
+
#if USE(ACCELERATED_COMPOSITING)
void pageDidEnterAcceleratedCompositing();
void pageDidLeaveAcceleratedCompositing();
diff --git a/WebKit2/UIProcess/API/mac/PageClientImpl.mm b/WebKit2/UIProcess/API/mac/PageClientImpl.mm
index b47f310..f005e16 100644
--- a/WebKit2/UIProcess/API/mac/PageClientImpl.mm
+++ b/WebKit2/UIProcess/API/mac/PageClientImpl.mm
@@ -30,6 +30,7 @@
#import "WKViewInternal.h"
#import "WebEditCommandProxy.h"
#import <WebCore/Cursor.h>
+#import <WebCore/FloatRect.h>
#import <WebCore/FoundationExtras.h>
#import <wtf/PassOwnPtr.h>
#import <wtf/text/WTFString.h>
@@ -88,7 +89,6 @@ using namespace WebCore;
@end
-
namespace WebKit {
NSString* nsStringFromWebCoreString(const String& string)
@@ -206,6 +206,16 @@ void PageClientImpl::setEditCommandState(const String& commandName, bool isEnabl
[m_wkView _setUserInterfaceItemState:nsStringFromWebCoreString(commandName) enabled:isEnabled state:newState];
}
+FloatRect PageClientImpl::transformToDeviceSpace(const FloatRect& rect)
+{
+ return [m_wkView _transformToDeviceSpace:rect];
+}
+
+FloatRect PageClientImpl::transformToUserSpace(const FloatRect& rect)
+{
+ return [m_wkView _transformToUserSpace:rect];
+}
+
#if USE(ACCELERATED_COMPOSITING)
void PageClientImpl::pageDidEnterAcceleratedCompositing()
{
diff --git a/WebKit2/UIProcess/API/mac/WKView.mm b/WebKit2/UIProcess/API/mac/WKView.mm
index 0c2e0f8..ec31273 100644
--- a/WebKit2/UIProcess/API/mac/WKView.mm
+++ b/WebKit2/UIProcess/API/mac/WKView.mm
@@ -42,7 +42,9 @@
#import "WebProcessManager.h"
#import "WebProcessProxy.h"
#import <QuartzCore/QuartzCore.h>
+#import <WebCore/FloatRect.h>
#import <WebCore/IntRect.h>
+#import <WebCore/PlatformScreen.h>
#import <wtf/RefPtr.h>
#import <wtf/RetainPtr.h>
@@ -298,7 +300,7 @@ EVENT_HANDLER(scrollWheel, Wheel)
- (void)_updateWindowVisibility
{
- _data->_page->setWindowIsVisible(![[self window] isMiniaturized]);
+ _data->_page->updateWindowIsVisible(![[self window] isMiniaturized]);
}
- (BOOL)_ownsWindowGrowBox
@@ -397,7 +399,7 @@ static bool isViewVisible(NSView *view)
{
ASSERT([self window]);
- _data->_page->setWindowFrame(enclosingIntRect([[self window] frame]));
+ _data->_page->updateWindowFrame(enclosingIntRect([[self window] frame]));
}
- (void)viewWillMoveToWindow:(NSWindow *)window
@@ -532,6 +534,16 @@ static bool isViewVisible(NSView *view)
_data->_menuList.clear();
}
+- (CGRect)_transformToDeviceSpace:(CGRect)rect
+{
+ return toDeviceSpace(rect, [self window]);
+}
+
+- (CGRect)_transformToUserSpace:(CGRect)rect
+{
+ return toUserSpace(rect, [self window]);
+}
+
// Any non-zero value will do, but using something recognizable might help us debug some day.
#define TRACKING_RECT_TAG 0xBADFACE
diff --git a/WebKit2/UIProcess/API/mac/WKViewInternal.h b/WebKit2/UIProcess/API/mac/WKViewInternal.h
index dae42a4..4f909cb 100644
--- a/WebKit2/UIProcess/API/mac/WKViewInternal.h
+++ b/WebKit2/UIProcess/API/mac/WKViewInternal.h
@@ -33,6 +33,9 @@
- (void)_setCursor:(NSCursor *)cursor;
- (void)_setUserInterfaceItemState:(NSString *)commandName enabled:(BOOL)isEnabled state:(int)newState;
+- (CGRect)_transformToDeviceSpace:(CGRect)rect;
+- (CGRect)_transformToUserSpace:(CGRect)rect;
+
#if USE(ACCELERATED_COMPOSITING)
- (void)_startAcceleratedCompositing:(CALayer *)rootLayer;
- (void)_stopAcceleratedCompositing;
diff --git a/WebKit2/UIProcess/API/qt/qwkpage.cpp b/WebKit2/UIProcess/API/qt/qwkpage.cpp
index 7d5ec63..aa22fbe 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage.cpp
+++ b/WebKit2/UIProcess/API/qt/qwkpage.cpp
@@ -38,6 +38,7 @@
#include <QStyle>
#include <QTouchEvent>
#include <QtDebug>
+#include <WebCore/FloatRect.h>
#include <WebKit2/WKFrame.h>
#include <WebKit2/WKRetainPtr.h>
@@ -91,6 +92,16 @@ void QWKPagePrivate::clearAllEditCommands()
{
}
+FloatRect QWKPagePrivate::transformToDeviceSpace(const FloatRect& rect)
+{
+ return rect;
+}
+
+FloatRect QWKPagePrivate::transformToUserSpace(const FloatRect& rect)
+{
+ return rect;
+}
+
void QWKPagePrivate::paint(QPainter* painter, QRect area)
{
painter->save();
@@ -271,7 +282,9 @@ QWKPage::QWKPage(WKPageNamespaceRef namespaceRef)
0, /* setStatusText */
0, /* mouseDidMoveOverElement */
0, /* contentsSizeChanged */
- 0 /* didNotHandleKeyEvent */
+ 0, /* didNotHandleKeyEvent */
+ 0, /* getWindowRect */
+ 0 /* setWindowRect */
};
WKPageSetPageUIClient(pageRef(), &uiClient);
}
diff --git a/WebKit2/UIProcess/API/qt/qwkpage_p.h b/WebKit2/UIProcess/API/qt/qwkpage_p.h
index b7e767d..2d863f9 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage_p.h
+++ b/WebKit2/UIProcess/API/qt/qwkpage_p.h
@@ -55,6 +55,8 @@ public:
virtual void toolTipChanged(const WTF::String&, const WTF::String&);
virtual void registerEditCommand(PassRefPtr<WebKit::WebEditCommandProxy>, WebKit::WebPageProxy::UndoOrRedo);
virtual void clearAllEditCommands();
+ virtual WebCore::FloatRect transformToDeviceSpace(const WebCore::FloatRect&);
+ virtual WebCore::FloatRect transformToUserSpace(const WebCore::FloatRect&);
void paint(QPainter* painter, QRect);
diff --git a/WebKit2/UIProcess/PageClient.h b/WebKit2/UIProcess/PageClient.h
index 9099446..3ba21cd 100644
--- a/WebKit2/UIProcess/PageClient.h
+++ b/WebKit2/UIProcess/PageClient.h
@@ -53,6 +53,9 @@ public:
virtual void clearAllEditCommands() = 0;
virtual void setEditCommandState(const String& commandName, bool isEnabled, int state) = 0;
+ virtual WebCore::FloatRect transformToDeviceSpace(const WebCore::FloatRect&) = 0;
+ virtual WebCore::FloatRect transformToUserSpace(const WebCore::FloatRect&) = 0;
+
#if USE(ACCELERATED_COMPOSITING)
virtual void pageDidEnterAcceleratedCompositing() = 0;
virtual void pageDidLeaveAcceleratedCompositing() = 0;
diff --git a/WebKit2/UIProcess/WebPageProxy.cpp b/WebKit2/UIProcess/WebPageProxy.cpp
index 4b76fba..4561dcb 100644
--- a/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/WebKit2/UIProcess/WebPageProxy.cpp
@@ -30,6 +30,7 @@
#include "NativeWebKeyboardEvent.h"
#include "PageClient.h"
#include "StringPairVector.h"
+#include "WKContextPrivate.h"
#include "WebBackForwardList.h"
#include "WebBackForwardListItem.h"
#include "WebCertificateInfo.h"
@@ -49,8 +50,7 @@
#include "WebProcessMessages.h"
#include "WebProcessProxy.h"
#include "WebURLRequest.h"
-
-#include "WKContextPrivate.h"
+#include <WebCore/FloatRect.h>
#include <stdio.h>
#ifndef NDEBUG
@@ -371,20 +371,19 @@ void WebPageProxy::setIsInWindow(bool isInWindow)
}
#if PLATFORM(MAC)
-void WebPageProxy::setWindowIsVisible(bool windowIsVisible)
+void WebPageProxy::updateWindowIsVisible(bool windowIsVisible)
{
if (!isValid())
return;
process()->send(Messages::WebPage::SetWindowIsVisible(windowIsVisible), m_pageID);
}
-void WebPageProxy::setWindowFrame(const IntRect& windowFrame)
+void WebPageProxy::updateWindowFrame(const IntRect& windowFrame)
{
if (!isValid())
return;
process()->send(Messages::WebPage::SetWindowFrame(windowFrame), m_pageID);
}
-
#endif
void WebPageProxy::handleMouseEvent(const WebMouseEvent& event)
@@ -972,6 +971,16 @@ void WebPageProxy::didValidateMenuItem(const String& commandName, bool isEnabled
m_pageClient->setEditCommandState(commandName, isEnabled, state);
}
+void WebPageProxy::setWindowFrame(const FloatRect& newWindowFrame)
+{
+ m_uiClient.setWindowFrame(this, m_pageClient->transformToDeviceSpace(newWindowFrame));
+}
+
+void WebPageProxy::getWindowFrame(FloatRect& newWindowFrame)
+{
+ newWindowFrame = m_pageClient->transformToUserSpace(m_uiClient.windowFrame(this));
+}
+
void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled)
{
WebEvent::Type type = static_cast<WebEvent::Type>(opaqueType);
diff --git a/WebKit2/UIProcess/WebPageProxy.h b/WebKit2/UIProcess/WebPageProxy.h
index be81d48..60437a3 100644
--- a/WebKit2/UIProcess/WebPageProxy.h
+++ b/WebKit2/UIProcess/WebPageProxy.h
@@ -56,8 +56,9 @@ namespace CoreIPC {
}
namespace WebCore {
- class IntSize;
class Cursor;
+ class FloatRect;
+ class IntSize;
}
struct WKContextStatistics;
@@ -143,8 +144,8 @@ public:
// These are only used on Mac currently.
#if PLATFORM(MAC)
- void setWindowIsVisible(bool windowIsVisible);
- void setWindowFrame(const WebCore::IntRect&);
+ void updateWindowIsVisible(bool windowIsVisible);
+ void updateWindowFrame(const WebCore::IntRect&);
#endif
void handleMouseEvent(const WebMouseEvent&);
@@ -278,6 +279,9 @@ private:
void setCursor(const WebCore::Cursor&);
void didValidateMenuItem(const String& commandName, bool isEnabled, int32_t state);
+ void setWindowFrame(const WebCore::FloatRect&);
+ void getWindowFrame(WebCore::FloatRect&);
+
void didReceiveEvent(uint32_t opaqueType, bool handled);
void didRunJavaScriptInMainFrame(const String&, uint64_t);
diff --git a/WebKit2/UIProcess/WebPageProxy.messages.in b/WebKit2/UIProcess/WebPageProxy.messages.in
index 2ef5f37..85a57ba 100644
--- a/WebKit2/UIProcess/WebPageProxy.messages.in
+++ b/WebKit2/UIProcess/WebPageProxy.messages.in
@@ -36,6 +36,8 @@ messages -> WebPageProxy {
SetStatusText(WTF::String statusText)
SetToolTip(WTF::String toolTip)
TakeFocus(bool direction)
+ SetWindowFrame(WebCore::FloatRect windowFrame)
+ GetWindowFrame() -> (WebCore::FloatRect windowFrame)
# Policy messages.
DecidePolicyForMIMEType(uint64_t frameID, WTF::String MIMEType, WTF::String url, uint64_t listenerID)
diff --git a/WebKit2/UIProcess/WebUIClient.cpp b/WebKit2/UIProcess/WebUIClient.cpp
index ba25f96..9736139 100644
--- a/WebKit2/UIProcess/WebUIClient.cpp
+++ b/WebKit2/UIProcess/WebUIClient.cpp
@@ -28,6 +28,7 @@
#include "NativeWebKeyboardEvent.h"
#include "WKAPICast.h"
#include "WebPageProxy.h"
+#include <WebCore/FloatRect.h>
#include <WebCore/IntSize.h>
#include <string.h>
#include <wtf/text/WTFString.h>
@@ -136,4 +137,20 @@ void WebUIClient::didNotHandleKeyEvent(WebPageProxy* page, const NativeWebKeyboa
m_pageUIClient.didNotHandleKeyEvent(toAPI(page), event.nativeEvent(), m_pageUIClient.clientInfo);
}
+void WebUIClient::setWindowFrame(WebPageProxy* page, const FloatRect& frame)
+{
+ if (!m_pageUIClient.setWindowFrame)
+ return;
+
+ m_pageUIClient.setWindowFrame(toAPI(page), toAPI(frame), m_pageUIClient.clientInfo);
+}
+
+FloatRect WebUIClient::windowFrame(WebPageProxy* page)
+{
+ if (!m_pageUIClient.getWindowFrame)
+ return FloatRect();
+
+ return toImpl(m_pageUIClient.getWindowFrame(toAPI(page), m_pageUIClient.clientInfo));
+}
+
} // namespace WebKit
diff --git a/WebKit2/UIProcess/WebUIClient.h b/WebKit2/UIProcess/WebUIClient.h
index 6148c6c..dfd18ba 100644
--- a/WebKit2/UIProcess/WebUIClient.h
+++ b/WebKit2/UIProcess/WebUIClient.h
@@ -58,6 +58,9 @@ public:
void contentsSizeChanged(WebPageProxy*, const WebCore::IntSize&, WebFrameProxy*);
void didNotHandleKeyEvent(WebPageProxy*, const NativeWebKeyboardEvent&);
+ void setWindowFrame(WebPageProxy*, const WebCore::FloatRect&);
+ WebCore::FloatRect windowFrame(WebPageProxy*);
+
private:
WKPageUIClient m_pageUIClient;
};
diff --git a/WebKit2/UIProcess/win/WebView.cpp b/WebKit2/UIProcess/win/WebView.cpp
index f54da57..a5fdd37 100644
--- a/WebKit2/UIProcess/win/WebView.cpp
+++ b/WebKit2/UIProcess/win/WebView.cpp
@@ -33,6 +33,7 @@
#include "WebPageNamespace.h"
#include "WebPageProxy.h"
#include <Commctrl.h>
+#include <WebCore/FloatRect.h>
#include <WebCore/IntRect.h>
#include <WebCore/WebCoreInstanceHandle.h>
#include <WebCore/WindowMessageBroadcaster.h>
@@ -580,10 +581,20 @@ void WebView::clearAllEditCommands()
{
}
-void WebView::setEditCommandState(const WTF::String&, bool, int)
+void WebView::setEditCommandState(const String&, bool, int)
{
}
+FloatRect WebView::transformToDeviceSpace(const FloatRect& rect)
+{
+ return rect;
+}
+
+FloatRect WebView::transformToUserSpace(const FloatRect& rect)
+{
+ return rect;
+}
+
#if USE(ACCELERATED_COMPOSITING)
void WebView::pageDidEnterAcceleratedCompositing()
{
diff --git a/WebKit2/UIProcess/win/WebView.h b/WebKit2/UIProcess/win/WebView.h
index 60254d5..7a85bc3 100644
--- a/WebKit2/UIProcess/win/WebView.h
+++ b/WebKit2/UIProcess/win/WebView.h
@@ -98,6 +98,8 @@ private:
virtual void registerEditCommand(PassRefPtr<WebEditCommandProxy>, WebPageProxy::UndoOrRedo);
virtual void clearAllEditCommands();
virtual void setEditCommandState(const WTF::String&, bool, int);
+ virtual WebCore::FloatRect transformToDeviceSpace(const WebCore::FloatRect&);
+ virtual WebCore::FloatRect transformToUserSpace(const WebCore::FloatRect&);
#if USE(ACCELERATED_COMPOSITING)
virtual void pageDidEnterAcceleratedCompositing();
diff --git a/WebKit2/WebKit2.pro b/WebKit2/WebKit2.pro
index e783820..6b40fb8 100644
--- a/WebKit2/WebKit2.pro
+++ b/WebKit2/WebKit2.pro
@@ -169,6 +169,7 @@ HEADERS += \
Platform/WorkQueue.h \
Shared/API/c/WKBase.h \
Shared/API/c/WKCertificateInfo.h \
+ Shared/API/c/WKGeometry.h \
Shared/API/c/WKNumber.h \
Shared/API/c/WKSerializedScriptValue.h \
Shared/API/c/WKSharedAPICast.h \
diff --git a/WebKit2/WebKit2.xcodeproj/project.pbxproj b/WebKit2/WebKit2.xcodeproj/project.pbxproj
index 2f7c579..a666620 100644
--- a/WebKit2/WebKit2.xcodeproj/project.pbxproj
+++ b/WebKit2/WebKit2.xcodeproj/project.pbxproj
@@ -361,6 +361,7 @@
BCC5715B115ADAEF001CCAF9 /* WebSystemInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC57159115ADAEF001CCAF9 /* WebSystemInterface.h */; };
BCC5715C115ADAEF001CCAF9 /* WebSystemInterface.mm in Sources */ = {isa = PBXBuildFile; fileRef = BCC5715A115ADAEF001CCAF9 /* WebSystemInterface.mm */; };
BCC57162115ADB42001CCAF9 /* NotImplemented.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC57161115ADB42001CCAF9 /* NotImplemented.h */; };
+ BCC8B374125FB69000DE46A4 /* WKGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC8B373125FB69000DE46A4 /* WKGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; };
BCC938E11180DE440085E5FE /* WKContextPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC938E01180DE440085E5FE /* WKContextPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
BCCB75C61203A1CE00222D1B /* WebContextMessageKinds.h in Headers */ = {isa = PBXBuildFile; fileRef = BCCB75C51203A1CE00222D1B /* WebContextMessageKinds.h */; };
BCD0042D110C1E27003B8A67 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BCD0042C110C1E27003B8A67 /* CoreServices.framework */; };
@@ -823,6 +824,7 @@
BCC57161115ADB42001CCAF9 /* NotImplemented.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotImplemented.h; sourceTree = "<group>"; };
BCC8049D122F0D6B00103529 /* MutableArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MutableArray.cpp; sourceTree = "<group>"; };
BCC8049E122F0D6B00103529 /* MutableArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MutableArray.h; sourceTree = "<group>"; };
+ BCC8B373125FB69000DE46A4 /* WKGeometry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKGeometry.h; sourceTree = "<group>"; };
BCC938E01180DE440085E5FE /* WKContextPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContextPrivate.h; sourceTree = "<group>"; };
BCCB75C51203A1CE00222D1B /* WebContextMessageKinds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMessageKinds.h; sourceTree = "<group>"; };
BCD0042C110C1E27003B8A67 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
@@ -1685,6 +1687,7 @@
BC4075DF124FF0270068F20A /* WKError.cpp */,
BC4075E0124FF0270068F20A /* WKError.h */,
BC40783C1250FADD0068F20A /* WKEvent.h */,
+ BCC8B373125FB69000DE46A4 /* WKGeometry.h */,
BC4075E1124FF0270068F20A /* WKMutableArray.cpp */,
BC4075E2124FF0270068F20A /* WKMutableArray.h */,
BC4075E3124FF0270068F20A /* WKMutableDictionary.cpp */,
@@ -1965,6 +1968,7 @@
BCBD3C3B125BFA7A00D2C29F /* StringPairVector.h in Headers */,
1A3DD202125E5A1F004515E6 /* WebFindClient.h in Headers */,
1A3DD206125E5A2F004515E6 /* APIClient.h in Headers */,
+ BCC8B374125FB69000DE46A4 /* WKGeometry.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp b/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
index c095ae0..783e7ec 100644
--- a/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
+++ b/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
@@ -57,15 +57,21 @@ void WebChromeClient::chromeDestroyed()
delete this;
}
-void WebChromeClient::setWindowRect(const FloatRect& windowRect)
+void WebChromeClient::setWindowRect(const FloatRect& windowFrame)
{
- notImplemented();
+ WebProcess::shared().connection()->send(Messages::WebPageProxy::SetWindowFrame(windowFrame), m_page->pageID());
}
FloatRect WebChromeClient::windowRect()
{
- notImplemented();
- return FloatRect();
+ FloatRect newWindowFrame;
+
+ if (!WebProcess::shared().connection()->sendSync(Messages::WebPageProxy::GetWindowFrame(),
+ Messages::WebPageProxy::GetWindowFrame::Reply(newWindowFrame),
+ m_page->pageID(), CoreIPC::Connection::NoTimeout))
+ return FloatRect();
+
+ return newWindowFrame;
}
FloatRect WebChromeClient::pageRect()
diff --git a/WebKit2/win/WebKit2.vcproj b/WebKit2/win/WebKit2.vcproj
index dcf0238..6152539 100755
--- a/WebKit2/win/WebKit2.vcproj
+++ b/WebKit2/win/WebKit2.vcproj
@@ -608,6 +608,10 @@
>
</File>
<File
+ RelativePath="..\Shared\API\c\WKGeometry.h"
+ >
+ </File>
+ <File
RelativePath="..\Shared\API\c\WKMutableArray.cpp"
>
</File>
diff --git a/WebKit2/win/WebKit2Generated.make b/WebKit2/win/WebKit2Generated.make
index eb4d71e..8240022 100644
--- a/WebKit2/win/WebKit2Generated.make
+++ b/WebKit2/win/WebKit2Generated.make
@@ -14,6 +14,7 @@ all:
xcopy /y /d "..\Shared\API\c\WKDictionary.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
xcopy /y /d "..\Shared\API\c\WKError.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
xcopy /y /d "..\Shared\API\c\WKEvent.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
+ xcopy /y /d "..\Shared\API\c\WKGeometry.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
xcopy /y /d "..\Shared\API\c\WKMutableArray.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
xcopy /y /d "..\Shared\API\c\WKMutableDictionary.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
xcopy /y /d "..\Shared\API\c\WKNumber.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 63ce821..b5188e7 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,28 @@
+2010-10-09 Sam Weinig <sam at webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Need implementation of ChromeClient windowRect related functions.
+ <rdar://problem/8469476>
+ https://bugs.webkit.org/show_bug.cgi?id=47386
+
+ * MiniBrowser/mac/BrowserWindowController.m:
+ (getWindowFrame):
+ (setWindowFrame):
+ (-[BrowserWindowController awakeFromNib]):
+ * WebKitTestRunner/PlatformWebView.h:
+ * WebKitTestRunner/TestController.cpp:
+ (WTR::TestController::initialize):
+ * WebKitTestRunner/mac/PlatformWebViewMac.mm:
+ (WTR::PlatformWebView::windowFrame):
+ (WTR::PlatformWebView::setWindowFrame):
+ * WebKitTestRunner/qt/PlatformWebViewQt.cpp:
+ (WTR::PlatformWebView::windowFrame):
+ (WTR::PlatformWebView::setWindowFrame):
+ * WebKitTestRunner/win/PlatformWebViewWin.cpp:
+ (WTR::PlatformWebView::windowFrame):
+ (WTR::PlatformWebView::setWindowFrame):
+
2010-10-08 Adam Barth <abarth at webkit.org>
Unreviewed (Eric is on vacation in this change is trivial).
diff --git a/WebKitTools/MiniBrowser/mac/BrowserWindowController.m b/WebKitTools/MiniBrowser/mac/BrowserWindowController.m
index cb4c56a..fd0ff54 100644
--- a/WebKitTools/MiniBrowser/mac/BrowserWindowController.m
+++ b/WebKitTools/MiniBrowser/mac/BrowserWindowController.m
@@ -484,6 +484,22 @@ static void contentsSizeChanged(WKPageRef page, int width, int height, WKFrameRe
LOG(@"contentsSizeChanged");
}
+static WKRect getWindowFrame(WKPageRef page, const void* clientInfo)
+{
+ CGRect rect = [[(BrowserWindowController *)clientInfo window] frame];
+ WKRect wkRect;
+ wkRect.origin.x = rect.origin.x;
+ wkRect.origin.y = rect.origin.y;
+ wkRect.size.width = rect.size.width;
+ wkRect.size.height = rect.size.height;
+ return wkRect;
+}
+
+static void setWindowFrame(WKPageRef page, WKRect rect, const void* clientInfo)
+{
+ [[(BrowserWindowController *)clientInfo window] setFrame:CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height) display:YES];
+}
+
- (void)awakeFromNib
{
_webView = [[WKView alloc] initWithFrame:[containerView frame] pageNamespaceRef:_pageNamespace];
@@ -538,7 +554,9 @@ static void contentsSizeChanged(WKPageRef page, int width, int height, WKFrameRe
setStatusText,
mouseDidMoveOverElement,
contentsSizeChanged,
- 0 /* didNotHandleKeyEvent */
+ 0, /* didNotHandleKeyEvent */
+ getWindowFrame,
+ setWindowFrame
};
WKPageSetPageUIClient(_webView.pageRef, &uiClient);
}
diff --git a/WebKitTools/WebKitTestRunner/PlatformWebView.h b/WebKitTools/WebKitTestRunner/PlatformWebView.h
index d586d1b..4d2618a 100644
--- a/WebKitTools/WebKitTestRunner/PlatformWebView.h
+++ b/WebKitTools/WebKitTestRunner/PlatformWebView.h
@@ -60,6 +60,9 @@ public:
void resizeTo(unsigned width, unsigned height);
void focus();
+ WKRect windowFrame();
+ void setWindowFrame(WKRect);
+
private:
PlatformWKView m_view;
PlatformWindow m_window;
diff --git a/WebKitTools/WebKitTestRunner/TestController.cpp b/WebKitTools/WebKitTestRunner/TestController.cpp
index e5cadcd..9bb7cd1 100644
--- a/WebKitTools/WebKitTestRunner/TestController.cpp
+++ b/WebKitTools/WebKitTestRunner/TestController.cpp
@@ -67,6 +67,30 @@ TestController::~TestController()
{
}
+static WKRect getWindowFrameMainPage(WKPageRef page, const void* clientInfo)
+{
+ PlatformWebView* view = static_cast<TestController*>(const_cast<void*>(clientInfo))->mainWebView();
+ return view->windowFrame();
+}
+
+static void setWindowFrameMainPage(WKPageRef page, WKRect frame, const void* clientInfo)
+{
+ PlatformWebView* view = static_cast<TestController*>(const_cast<void*>(clientInfo))->mainWebView();
+ view->setWindowFrame(frame);
+}
+
+static WKRect getWindowFrameOtherPage(WKPageRef page, const void* clientInfo)
+{
+ PlatformWebView* view = static_cast<PlatformWebView*>(const_cast<void*>(clientInfo));
+ return view->windowFrame();
+}
+
+static void setWindowFrameOtherPage(WKPageRef page, WKRect frame, const void* clientInfo)
+{
+ PlatformWebView* view = static_cast<PlatformWebView*>(const_cast<void*>(clientInfo));
+ view->setWindowFrame(frame);
+}
+
static void closeOtherPage(WKPageRef page, const void* clientInfo)
{
WKPageClose(page);
@@ -93,7 +117,9 @@ static WKPageRef createOtherPage(WKPageRef oldPage, const void*)
0,
0,
0,
- 0
+ 0,
+ getWindowFrameOtherPage,
+ setWindowFrameOtherPage
};
WKPageSetPageUIClient(newPage, &otherPageUIClient);
@@ -174,7 +200,9 @@ void TestController::initialize(int argc, const char* argv[])
0,
0,
0,
- 0
+ 0,
+ getWindowFrameMainPage,
+ setWindowFrameMainPage
};
WKPageSetPageUIClient(m_mainWebView->page(), &pageUIClient);
diff --git a/WebKitTools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj b/WebKitTools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj
index 6ecbef9..599e09e 100644
--- a/WebKitTools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj
+++ b/WebKitTools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj
@@ -368,7 +368,14 @@
isa = PBXProject;
buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "WebKitTestRunner" */;
compatibilityVersion = "Xcode 3.1";
+ developmentRegion = English;
hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ );
mainGroup = 08FB7794FE84155DC02AAC07 /* WebKitTestRunner */;
projectDirPath = "";
projectRoot = "";
diff --git a/WebKitTools/WebKitTestRunner/mac/PlatformWebViewMac.mm b/WebKitTools/WebKitTestRunner/mac/PlatformWebViewMac.mm
index 96e6526..6080c1f 100644
--- a/WebKitTools/WebKitTestRunner/mac/PlatformWebViewMac.mm
+++ b/WebKitTools/WebKitTestRunner/mac/PlatformWebViewMac.mm
@@ -63,4 +63,21 @@ void PlatformWebView::focus()
// Implement.
}
+WKRect PlatformWebView::windowFrame()
+{
+ NSRect frame = [m_window frame];
+
+ WKRect wkFrame;
+ wkFrame.origin.x = frame.origin.x;
+ wkFrame.origin.y = frame.origin.y;
+ wkFrame.size.width = frame.size.width;
+ wkFrame.size.height = frame.size.height;
+ return wkFrame;
+}
+
+void PlatformWebView::setWindowFrame(WKRect frame)
+{
+ [m_window setFrame:NSMakeRect(frame.origin.x, frame.origin.y, frame.size.width, frame.size.height) display:YES];
+}
+
} // namespace WTR
diff --git a/WebKitTools/WebKitTestRunner/qt/PlatformWebViewQt.cpp b/WebKitTools/WebKitTestRunner/qt/PlatformWebViewQt.cpp
index 4aafceb..d405a0f 100644
--- a/WebKitTools/WebKitTestRunner/qt/PlatformWebViewQt.cpp
+++ b/WebKitTools/WebKitTestRunner/qt/PlatformWebViewQt.cpp
@@ -79,4 +79,21 @@ void PlatformWebView::focus()
m_view->setFocus(Qt::OtherFocusReason);
}
+WKRect PlatformWebView::windowFrame()
+{
+ // Implement.
+
+ WKRect wkFrame;
+ wkFrame.origin.x = 0;
+ wkFrame.origin.y = 0;
+ wkFrame.size.width = 0;
+ wkFrame.size.height = 0;
+ return wkFrame;
+}
+
+void PlatformWebView::setWindowFrame(WKRect)
+{
+ // Implement.
+}
+
} // namespace WTR
diff --git a/WebKitTools/WebKitTestRunner/win/PlatformWebViewWin.cpp b/WebKitTools/WebKitTestRunner/win/PlatformWebViewWin.cpp
index b9854c4..9acd236 100644
--- a/WebKitTools/WebKitTestRunner/win/PlatformWebViewWin.cpp
+++ b/WebKitTools/WebKitTestRunner/win/PlatformWebViewWin.cpp
@@ -78,4 +78,21 @@ void PlatformWebView::focus()
::SetFocus(::WKViewGetWindow(m_view));
}
+WKRect PlatformWebView::windowFrame()
+{
+ // Implement.
+
+ WKRect wkFrame;
+ wkFrame.origin.x = 0;
+ wkFrame.origin.y = 0;
+ wkFrame.size.width = 0;
+ wkFrame.size.height = 0;
+ return wkFrame;
+}
+
+void PlatformWebView::setWindowFrame(WKRect)
+{
+ // Implement.
+}
+
} // namespace WTR
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list