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()) {