[EFL] LayoutTestController needs implementation of pageSizeAndMarginsInPixels
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Apr 2012 12:05:49 +0000 (12:05 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Apr 2012 12:05:49 +0000 (12:05 +0000)
https://bugs.webkit.org/show_bug.cgi?id=82589

Source/WebKit/efl:

Add missing implementation for pageSizeAndMarginsInPixels to EFL's
DumpRenderTreeSupport.

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-04-03
Reviewed by Philippe Normand.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::pageSizeAndMarginsInPixels):
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Add missing implementation for pageSizeAndMarginsInPixels to EFL's LayoutTestController
in order to unskip printing/page-format-data.html

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-04-03
Reviewed by Philippe Normand.

* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::pageSizeAndMarginsInPixels):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113011 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/efl/ChangeLog
Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
Tools/ChangeLog
Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp

index d1700ca..ece49ce 100644 (file)
@@ -1,3 +1,17 @@
+2012-04-03  Alexander Shalamov  <alexander.shalamov@intel.com>
+
+        [EFL] LayoutTestController needs implementation of pageSizeAndMarginsInPixels
+        https://bugs.webkit.org/show_bug.cgi?id=82589
+
+        Add missing implementation for pageSizeAndMarginsInPixels to EFL's
+        DumpRenderTreeSupport.
+
+        Reviewed by Philippe Normand.
+
+        * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+        (DumpRenderTreeSupportEfl::pageSizeAndMarginsInPixels):
+        * WebCoreSupport/DumpRenderTreeSupportEfl.h:
+
 2012-04-02  Alexander Shalamov  <alexander.shalamov@intel.com>
 
         [EFL] LayoutTestController needs implementation of isPageBoxVisible
index e24a881..4fd0697 100644 (file)
@@ -174,6 +174,16 @@ int DumpRenderTreeSupportEfl::numberOfPagesForElementId(const Evas_Object* ewkFr
     return WebCore::PrintContext::pageNumberForElement(element, WebCore::FloatSize(pageWidth, pageHeight));
 }
 
+String DumpRenderTreeSupportEfl::pageSizeAndMarginsInPixels(const Evas_Object* ewkFrame, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft)
+{
+    WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
+
+    if (!frame)
+        return String();
+
+    return WebCore::PrintContext::pageSizeAndMarginsInPixels(frame, pageNumber, width, height, marginTop, marginRight, marginBottom, marginLeft);
+}
+
 bool DumpRenderTreeSupportEfl::pauseAnimation(Evas_Object* ewkFrame, const char* name, const char* elementId, double time)
 {
     WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
index 967fc55..c015a6c 100644 (file)
@@ -54,6 +54,7 @@ public:
     static void layoutFrame(Evas_Object* ewkFrame);
     static int numberOfPages(const Evas_Object* ewkFrame, float pageWidth, float pageHeight);
     static int numberOfPagesForElementId(const Evas_Object* ewkFrame, const char* elementId, float pageWidth, float pageHeight);
+    static String pageSizeAndMarginsInPixels(const Evas_Object* ewkFrame, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft);
     static bool pauseAnimation(Evas_Object* ewkFrame, const char* name, const char* elementId, double time);
     static bool pauseTransition(Evas_Object* ewkFrame, const char* name, const char* elementId, double time);
     static unsigned pendingUnloadEventCount(const Evas_Object* ewkFrame);
index f258edd..d9b58d5 100644 (file)
@@ -1,3 +1,16 @@
+2012-04-03  Alexander Shalamov  <alexander.shalamov@intel.com>
+
+        [EFL] LayoutTestController needs implementation of pageSizeAndMarginsInPixels
+        https://bugs.webkit.org/show_bug.cgi?id=82589
+
+        Add missing implementation for pageSizeAndMarginsInPixels to EFL's LayoutTestController
+        in order to unskip printing/page-format-data.html
+
+        Reviewed by Philippe Normand.
+
+        * DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
+        (LayoutTestController::pageSizeAndMarginsInPixels):
+
 2012-04-03  Simon Pena  <spena@igalia.com>
 
         [GTK] DRT missing didRunInsecureContent notification
index ac15fb2..b4b6450 100644 (file)
@@ -144,10 +144,15 @@ bool LayoutTestController::isPageBoxVisible(int pageIndex) const
     return DumpRenderTreeSupportEfl::isPageBoxVisible(browser->mainFrame(), pageIndex);
 }
 
-JSRetainPtr<JSStringRef> LayoutTestController::pageSizeAndMarginsInPixels(int, int, int, int, int, int, int) const
+JSRetainPtr<JSStringRef> LayoutTestController::pageSizeAndMarginsInPixels(int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft) const
 {
-    notImplemented();
-    return 0;
+    String pageSizeAndMargins = DumpRenderTreeSupportEfl::pageSizeAndMarginsInPixels(browser->mainFrame(), pageNumber, width, height, marginTop, marginRight, marginBottom, marginLeft);
+
+    if (pageSizeAndMargins.isEmpty())
+        return 0;
+
+    JSRetainPtr<JSStringRef> returnValue(Adopt, JSStringCreateWithUTF8CString(pageSizeAndMargins.utf8().data()));
+    return returnValue;
 }
 
 size_t LayoutTestController::webHistoryItemCount()