Title: [134251] trunk/Source/WebKit2
- Revision
- 134251
- Author
- [email protected]
- Date
- 2012-11-12 09:59:42 -0800 (Mon, 12 Nov 2012)
Log Message
[EFL] Add implementations of device - user conversion methods
https://bugs.webkit.org/show_bug.cgi?id=101938
Reviewed by Laszlo Gombos.
Consider the deviceScaleFactor when convertion to/from user
and device units.
This affects DOM API's such as window.moveTo, resizeTo etc.
* UIProcess/efl/PageClientBase.cpp:
* UIProcess/efl/PageClientBase.h:
(PageClientBase):
* UIProcess/efl/PageClientDefaultImpl.cpp:
(WebKit::PageClientDefaultImpl::convertToDeviceSpace):
(WebKit):
(WebKit::PageClientDefaultImpl::convertToUserSpace):
* UIProcess/efl/PageClientDefaultImpl.h:
(PageClientDefaultImpl):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::convertToDeviceSpace):
(WebKit):
(WebKit::PageClientLegacyImpl::convertToUserSpace):
* UIProcess/efl/PageClientLegacyImpl.h:
(PageClientLegacyImpl):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (134250 => 134251)
--- trunk/Source/WebKit2/ChangeLog 2012-11-12 17:57:43 UTC (rev 134250)
+++ trunk/Source/WebKit2/ChangeLog 2012-11-12 17:59:42 UTC (rev 134251)
@@ -1,3 +1,31 @@
+2012-11-12 Kenneth Rohde Christiansen <[email protected]>
+
+ [EFL] Add implementations of device - user conversion methods
+ https://bugs.webkit.org/show_bug.cgi?id=101938
+
+ Reviewed by Laszlo Gombos.
+
+ Consider the deviceScaleFactor when convertion to/from user
+ and device units.
+
+ This affects DOM API's such as window.moveTo, resizeTo etc.
+
+ * UIProcess/efl/PageClientBase.cpp:
+ * UIProcess/efl/PageClientBase.h:
+ (PageClientBase):
+ * UIProcess/efl/PageClientDefaultImpl.cpp:
+ (WebKit::PageClientDefaultImpl::convertToDeviceSpace):
+ (WebKit):
+ (WebKit::PageClientDefaultImpl::convertToUserSpace):
+ * UIProcess/efl/PageClientDefaultImpl.h:
+ (PageClientDefaultImpl):
+ * UIProcess/efl/PageClientLegacyImpl.cpp:
+ (WebKit::PageClientLegacyImpl::convertToDeviceSpace):
+ (WebKit):
+ (WebKit::PageClientLegacyImpl::convertToUserSpace):
+ * UIProcess/efl/PageClientLegacyImpl.h:
+ (PageClientLegacyImpl):
+
2012-11-12 Yael Aharon <[email protected]>
[EFL][WK2][AC] Black screen when applications use software backend.
Modified: trunk/Source/WebKit2/UIProcess/efl/PageClientBase.cpp (134250 => 134251)
--- trunk/Source/WebKit2/UIProcess/efl/PageClientBase.cpp 2012-11-12 17:57:43 UTC (rev 134250)
+++ trunk/Source/WebKit2/UIProcess/efl/PageClientBase.cpp 2012-11-12 17:59:42 UTC (rev 134251)
@@ -190,18 +190,6 @@
m_undoController.executeUndoRedo(undoOrRedo);
}
-FloatRect PageClientBase::convertToDeviceSpace(const FloatRect& viewRect)
-{
- notImplemented();
- return viewRect;
-}
-
-FloatRect PageClientBase::convertToUserSpace(const FloatRect& viewRect)
-{
- notImplemented();
- return viewRect;
-}
-
IntPoint PageClientBase::screenToWindow(const IntPoint& point)
{
notImplemented();
Modified: trunk/Source/WebKit2/UIProcess/efl/PageClientBase.h (134250 => 134251)
--- trunk/Source/WebKit2/UIProcess/efl/PageClientBase.h 2012-11-12 17:57:43 UTC (rev 134250)
+++ trunk/Source/WebKit2/UIProcess/efl/PageClientBase.h 2012-11-12 17:59:42 UTC (rev 134251)
@@ -73,8 +73,8 @@
virtual void clearAllEditCommands();
virtual bool canUndoRedo(WebPageProxy::UndoOrRedo);
virtual void executeUndoRedo(WebPageProxy::UndoOrRedo);
- virtual WebCore::FloatRect convertToDeviceSpace(const WebCore::FloatRect&);
- virtual WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect&);
+ virtual WebCore::FloatRect convertToDeviceSpace(const WebCore::FloatRect&) = 0;
+ virtual WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect&) = 0;
virtual WebCore::IntPoint screenToWindow(const WebCore::IntPoint&);
virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&);
Modified: trunk/Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.cpp (134250 => 134251)
--- trunk/Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.cpp 2012-11-12 17:57:43 UTC (rev 134250)
+++ trunk/Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.cpp 2012-11-12 17:59:42 UTC (rev 134251)
@@ -65,6 +65,20 @@
#endif
}
+FloatRect PageClientDefaultImpl::convertToDeviceSpace(const FloatRect& userRect)
+{
+ FloatRect result = userRect;
+ result.scale(m_viewImpl->page()->deviceScaleFactor());
+ return result;
+}
+
+FloatRect PageClientDefaultImpl::convertToUserSpace(const FloatRect& deviceRect)
+{
+ FloatRect result = deviceRect;
+ result.scale(1 / m_viewImpl->page()->deviceScaleFactor());
+ return result;
+}
+
void PageClientDefaultImpl::didChangeViewportProperties(const WebCore::ViewportAttributes& attr)
{
#if USE(TILED_BACKING_STORE)
Modified: trunk/Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.h (134250 => 134251)
--- trunk/Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.h 2012-11-12 17:57:43 UTC (rev 134250)
+++ trunk/Source/WebKit2/UIProcess/efl/PageClientDefaultImpl.h 2012-11-12 17:59:42 UTC (rev 134251)
@@ -46,6 +46,9 @@
virtual void didCommitLoad();
virtual void updateViewportSize(const WebCore::IntSize&);
+ virtual WebCore::FloatRect convertToDeviceSpace(const WebCore::FloatRect&);
+ virtual WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect&);
+
private:
explicit PageClientDefaultImpl(EwkViewImpl*);
Modified: trunk/Source/WebKit2/UIProcess/efl/PageClientLegacyImpl.cpp (134250 => 134251)
--- trunk/Source/WebKit2/UIProcess/efl/PageClientLegacyImpl.cpp 2012-11-12 17:57:43 UTC (rev 134250)
+++ trunk/Source/WebKit2/UIProcess/efl/PageClientLegacyImpl.cpp 2012-11-12 17:59:42 UTC (rev 134251)
@@ -29,6 +29,7 @@
#include "EwkViewImpl.h"
#include "LayerTreeCoordinatorProxy.h"
+#include "NotImplemented.h"
using namespace WebCore;
using namespace EwkViewCallbacks;
@@ -54,6 +55,18 @@
#endif
}
+FloatRect PageClientLegacyImpl::convertToDeviceSpace(const FloatRect& viewRect)
+{
+ notImplemented();
+ return viewRect;
+}
+
+FloatRect PageClientLegacyImpl::convertToUserSpace(const FloatRect& viewRect)
+{
+ notImplemented();
+ return viewRect;
+}
+
void PageClientLegacyImpl::didChangeViewportProperties(const WebCore::ViewportAttributes&)
{
m_viewImpl->update();
Modified: trunk/Source/WebKit2/UIProcess/efl/PageClientLegacyImpl.h (134250 => 134251)
--- trunk/Source/WebKit2/UIProcess/efl/PageClientLegacyImpl.h 2012-11-12 17:57:43 UTC (rev 134250)
+++ trunk/Source/WebKit2/UIProcess/efl/PageClientLegacyImpl.h 2012-11-12 17:59:42 UTC (rev 134251)
@@ -43,6 +43,9 @@
virtual void didCommitLoad();
virtual void updateViewportSize(const WebCore::IntSize&);
+ virtual WebCore::FloatRect convertToDeviceSpace(const WebCore::FloatRect&);
+ virtual WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect&);
+
private:
explicit PageClientLegacyImpl(EwkViewImpl*);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes