diff options
author | Steve Block <steveblock@google.com> | 2011-05-25 19:08:45 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-06-08 13:51:31 +0100 |
commit | 2bde8e466a4451c7319e3a072d118917957d6554 (patch) | |
tree | 28f4a1b869a513e565c7760d0e6a06e7cf1fe95a /Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp | |
parent | 6939c99b71d9372d14a0c74a772108052e8c48c8 (diff) | |
download | external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.zip external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.gz external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.bz2 |
Merge WebKit at r82507: Initial merge by git
Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
Diffstat (limited to 'Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp b/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp index 9ee8a94..1d5d492 100644 --- a/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp +++ b/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp @@ -37,7 +37,9 @@ #include "MIMETypeRegistry.h" #include "NotImplemented.h" #include "Pattern.h" +#include "PlatformContextCairo.h" #include "PlatformString.h" +#include "RefPtrCairo.h" #include <cairo.h> #include <wtf/Vector.h> @@ -66,6 +68,7 @@ namespace WebCore { ImageBufferData::ImageBufferData(const IntSize& size) : m_surface(0) + , m_platformContext(0) { } @@ -80,9 +83,9 @@ ImageBuffer::ImageBuffer(const IntSize& size, ColorSpace, RenderingMode, bool& s if (cairo_surface_status(m_data.m_surface) != CAIRO_STATUS_SUCCESS) return; // create will notice we didn't set m_initialized and fail. - cairo_t* cr = cairo_create(m_data.m_surface); - m_context.set(new GraphicsContext(cr)); - cairo_destroy(cr); // The context is now owned by the GraphicsContext. + RefPtr<cairo_t> cr = adoptRef(cairo_create(m_data.m_surface)); + m_data.m_platformContext.setCr(cr.get()); + m_context.set(new GraphicsContext(&m_data.m_platformContext)); success = true; } @@ -301,7 +304,7 @@ static cairo_status_t writeFunction(void* closure, const unsigned char* data, un String ImageBuffer::toDataURL(const String& mimeType, const double*) const { - cairo_surface_t* image = cairo_get_target(context()->platformContext()); + cairo_surface_t* image = cairo_get_target(context()->platformContext()->cr()); if (!image) return "data:,"; |