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

Reply via email to