-
ch.dumez@sisa.samsung.com authored
https://bugs.webkit.org/show_bug.cgi?id=113929 Reviewed by Martin Robinson. Source/WebCore: Make (Pass)NativeImagePtr typedefs to (Pass)RefPtr<cairo_surface_t> instead of NativeImageCairo*. Now that we switch to using smart pointers, NativeImageCairo is removed as it made no sense to make it ref counted when it merely held a single ref counted member. Now that Cairo is using smart pointers for (Pass)NativeImagePtr, this patch also enables the implementation of SVGImage::nativeImageForCurrentFrame() for USE(CAIRO) as well. This effectively fixes canvas drawing of SVG-based patterns for Cairo-based ports. No new tests, covered by svg/canvas/canvas-pattern-svg.html. * GNUmakefile.list.am: Remove NativeImageCairo.* for GTK. * PlatformEfl.cmake: Remove NativeImageCairo.* for EFL. * WebCore.vcproj/WebCore.vcproj: * WebCore.vcxproj/WebCore.vcxproj: * WebCore.vcxproj/WebCore.vcxproj.filters: Remove NativeImageCairo.* for Win. * platform/graphics/BitmapImage.cpp: (WebCore::FrameData::reportMemoryUsage): Update MemoryClassInfo::addRawBuffer() call now that m_frame is a RefPtr for USE(CAIRO). * platform/graphics/BitmapImage.h: (BitmapImage): Remove factory method taking a cairo_surface_t* in argument. This is useless now that PassNativeImagePtr is a typedef to PassRefPtr<cairo_surface_t> and there is already a factory method taking a PassNativeImagePtr in argument. * platform/graphics/NativeImagePtr.h: (WebCore): Make PassNativeImagePtr a typedef to PassRefPtr<cairo_surface_t> and NativeImagePtr a typedef to RefPtr<cairo_surface_t>, instead of NativeImageCairo*. Moving to smart pointers is needed to enable implementation of SVGImage::nativeImageForCurrentFrame() for Cairo. * platform/graphics/cairo/BitmapImageCairo.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::draw): (WebCore::BitmapImage::checkForSolidColor): (WebCore::FrameData::clear): * platform/graphics/cairo/GraphicsContext3DCairo.cpp: (WebCore::GraphicsContext3D::ImageExtractor::extractImage): * platform/graphics/cairo/ImageCairo.cpp: (WebCore::Image::drawPattern): Update Cairo graphics code to reflect the (Pass)NativeImagePtr type changes. * platform/graphics/cairo/NativeImageCairo.cpp: Removed. * platform/graphics/cairo/NativeImageCairo.h: Removed. * platform/graphics/cairo/PatternCairo.cpp: (WebCore::Pattern::createPlatformPattern): * platform/graphics/efl/GraphicsContext3DEfl.cpp: (WebCore::GraphicsContext3D::ImageExtractor::extractImage): * platform/graphics/efl/ImageEfl.cpp: (WebCore::BitmapImage::getEvasObject): * platform/graphics/gtk/ImageGtk.cpp: (WebCore::BitmapImage::getGdkPixbuf): * platform/graphics/texmap/TextureMapperGL.cpp: (WebCore::BitmapTextureGL::updateContents): * platform/graphics/win/ImageCairoWin.cpp: (WebCore::BitmapImage::create): (WebCore::BitmapImage::drawFrameMatchingSourceSize): * platform/gtk/DragImageGtk.cpp: (WebCore::createDragImageFromImage): * platform/image-decoders/cairo/ImageDecoderCairo.cpp: (WebCore::ImageFrame::asNewNativeImage): * platform/win/DragImageCairoWin.cpp: (WebCore::createDragImageFromImage): Update code to reflect the (Pass)NativeImagePtr type changes. * svg/graphics/SVGImage.cpp: (WebCore): * svg/graphics/SVGImage.h: Enable SVGImage::nativeImageForCurrentFrame() for USE(CAIRO). Source/WebKit: Remove outdated symbols now that NativeImageCairo was removed. * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Source/WebKit/efl: Update code now that PassNativeImagePtr is now a typedef to PassRefPtr<cairo_surface_t> instead of NativeImageCairo*. * ewk/ewk_history.cpp: (ewk_history_item_icon_surface_get): (ewk_history_item_icon_object_add): * ewk/ewk_settings.cpp: (ewk_settings_icon_database_icon_surface_get): (ewk_settings_icon_database_icon_object_get): Source/WebKit/gtk: Update code now that PassNativeImagePtr is now a typedef to PassRefPtr<cairo_surface_t> instead of NativeImageCairo*. * webkit/webkitfavicondatabase.cpp: (getIconPixbufSynchronously): Source/WebKit/win: Remove outdated symbols now that NativeImageCairo was removed. * WebKit.vcproj/WebKitExports.def.in: Source/WebKit2: Update code now that PassNativeImagePtr is now a typedef to PassRefPtr<cairo_surface_t> instead of NativeImageCairo*. * Shared/gtk/ArgumentCodersGtk.cpp: (CoreIPC::decodeImage): * UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp: (WKIconDatabaseTryGetCairoSurfaceForURL): * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: (getIconSurfaceSynchronously): LayoutTests: Add EFL / GTK pixels results for svg/canvas/canvas-pattern-svg.html now that the test passes for cairo-based ports. * platform/efl/svg/canvas/canvas-pattern-svg-expected.png: Added. * platform/gtk/svg/canvas/canvas-pattern-svg-expected.png: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2e39cc2b