Title: [117879] trunk/Tools
Revision
117879
Author
[email protected]
Date
2012-05-21 19:56:05 -0700 (Mon, 21 May 2012)

Log Message

[EFL] Unreviewed, reverting r116461.

r116461 caused a regression in the pixel tests, as scrollbars
stopped being rendered in the PNGs.

* DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
(createBitmapContextFromWebView):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (117878 => 117879)


--- trunk/Tools/ChangeLog	2012-05-22 02:51:19 UTC (rev 117878)
+++ trunk/Tools/ChangeLog	2012-05-22 02:56:05 UTC (rev 117879)
@@ -1,3 +1,13 @@
+2012-05-21  Raphael Kubo da Costa  <[email protected]>
+
+        [EFL] Unreviewed, reverting r116461.
+
+        r116461 caused a regression in the pixel tests, as scrollbars
+        stopped being rendered in the PNGs.
+
+        * DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
+        (createBitmapContextFromWebView):
+
 2012-05-21  Brady Eidson  <[email protected]>
 
         <rdar://problem/11460336> and https://bugs.webkit.org/show_bug.cgi?id=87061
@@ -2579,24 +2589,6 @@
         (feedMouseEvent):
         (feedQueuedMouseEvents):
 
-2012-05-08  Ryuan Choi  <[email protected]>
-
-        [EFL][DRT] WebKit/DRT should not paint webview for the pixel tests.
-        https://bugs.webkit.org/show_bug.cgi?id=79853
-
-        Reviewed by Eric Seidel.
-
-        Screen buffer can be different from rendered results.
-        For example, WebKit/Efl just moves tiles for ewk_view_tiled when scrolling
-        contents.
-        It means that pixel tests can't check regression of ewk_view_tiled.
-
-        This patch changes a way to provide bitmap from painting webview to capturing
-        evas.
-
-        * DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
-        (createBitmapContextFromWebView):
-
 2012-05-08  Sudarsana Nagineni  <[email protected]>
 
         [GTK] Memory leak in DRT EventSender.cpp

Modified: trunk/Tools/DumpRenderTree/efl/PixelDumpSupportEfl.cpp (117878 => 117879)


--- trunk/Tools/DumpRenderTree/efl/PixelDumpSupportEfl.cpp	2012-05-22 02:51:19 UTC (rev 117878)
+++ trunk/Tools/DumpRenderTree/efl/PixelDumpSupportEfl.cpp	2012-05-22 02:56:05 UTC (rev 117879)
@@ -37,29 +37,26 @@
 #include "PixelDumpSupportCairo.h"
 #include "RefPtrCairo.h"
 #include "WebCoreSupport/DumpRenderTreeSupportEfl.h"
-#include <Ecore_Evas.h>
-#include <Evas.h>
+#include "ewk_view_private.h"
 
 PassRefPtr<BitmapContext> createBitmapContextFromWebView(bool, bool, bool, bool drawSelectionRect)
 {
-    const Evas_Object* mainView = browser->mainView();
-    Evas* evas = evas_object_evas_get(mainView);
-    Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(evas);
+    Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get(browser->mainView()));
+    Ewk_View_Private_Data* privateData = static_cast<Ewk_View_Private_Data*>(smartData->_priv);
+    const Evas_Object* mainFrame = browser->mainFrame();
 
-    int width, height;
-    evas_object_geometry_get(mainView, 0, 0, &width, &height);
+    int x, y, width, height;
+    if (!ewk_frame_visible_content_geometry_get(mainFrame, EINA_TRUE, &x, &y, &width, &height))
+        return 0;
 
-    const void* pixels = ecore_evas_buffer_pixels_get(ecoreEvas);
-    RefPtr<cairo_surface_t> viewSurface = adoptRef(cairo_image_surface_create_for_data(static_cast<unsigned char*>(const_cast<void*>(pixels)), CAIRO_FORMAT_ARGB32, width, height, width * 4));
+    RefPtr<cairo_surface_t> surface = adoptRef(cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height));
+    RefPtr<cairo_t> context = adoptRef(cairo_create(surface.get()));
 
-    RefPtr<cairo_surface_t> imageSurface = adoptRef(cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height));
-    RefPtr<cairo_t> context = adoptRef(cairo_create(imageSurface.get()));
+    const Eina_Rectangle rect = { x, y, width, height };
+    if (!ewk_view_paint(privateData, context.get(), &rect))
+        return 0;
 
-    cairo_set_source_surface(context.get(), viewSurface.get(), 0, 0);
-    cairo_paint(context.get());
-
     if (drawSelectionRect) {
-        const Evas_Object* mainFrame = browser->mainFrame();
         const WebCore::IntRect selectionRect = DumpRenderTreeSupportEfl::selectionRectangle(mainFrame);
 
         if (!selectionRect.isEmpty()) {
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to