From 2857538e8cd8c752b06ee75dd039791a186455b3 Mon Sep 17 00:00:00 2001 From: Derek Sollenberger Date: Tue, 31 Jan 2012 14:04:06 -0500 Subject: [PATCH] Skia API changes as a result of an update to the Skia library. These changes are required to work with r3022 of Skia Change-Id: I4d4a13bad9acc54934bbb46bdfc08ee424c7a33a --- .../platform/graphics/android/GaneshContext.cpp | 13 ++----------- .../platform/graphics/android/GaneshRenderer.cpp | 1 - .../graphics/android/ImageBufferAndroid.cpp | 5 ++++- .../platform/graphics/android/ImageTexture.cpp | 2 +- .../platform/graphics/android/RasterRenderer.cpp | 2 +- Source/WebKit/android/nav/WebView.cpp | 2 +- 6 files changed, 9 insertions(+), 16 deletions(-) diff --git a/Source/WebCore/platform/graphics/android/GaneshContext.cpp b/Source/WebCore/platform/graphics/android/GaneshContext.cpp index 03e6eb77f..e67bcd4d3 100644 --- a/Source/WebCore/platform/graphics/android/GaneshContext.cpp +++ b/Source/WebCore/platform/graphics/android/GaneshContext.cpp @@ -191,12 +191,7 @@ SkDevice* GaneshContext::getDeviceForBaseTileSurface(const TileRenderInfo& rende GrContext* grContext = getGrContext(); GrRenderTarget* renderTarget = (GrRenderTarget*) grContext->createPlatformSurface(surfaceDesc); - SkBitmap bitmap; - bitmap.setConfig(SkBitmap::kARGB_8888_Config, - renderInfo.tileSize.width(), - renderInfo.tileSize.height()); - - m_baseTileDeviceSurface = new SkGpuDevice(grContext, bitmap, renderTarget); + m_baseTileDeviceSurface = new SkGpuDevice(grContext, renderTarget); renderTarget->unref(); XLOG("generated device %p", m_baseTileDeviceSurface); } @@ -262,11 +257,7 @@ SkDevice* GaneshContext::getDeviceForBaseTileFBO(const TileRenderInfo& renderInf GrContext* grContext = getGrContext(); GrRenderTarget* renderTarget = (GrRenderTarget*) grContext->createPlatformSurface(surfaceDesc); - SkBitmap bitmap; - bitmap.setConfig(SkBitmap::kARGB_8888_Config, - TilesManager::tileWidth(), TilesManager::tileWidth()); - - m_baseTileDeviceFBO = new SkGpuDevice(grContext, bitmap, renderTarget); + m_baseTileDeviceFBO = new SkGpuDevice(grContext, renderTarget); renderTarget->unref(); XLOG("generated device %p", m_baseTileDeviceFBO); } diff --git a/Source/WebCore/platform/graphics/android/GaneshRenderer.cpp b/Source/WebCore/platform/graphics/android/GaneshRenderer.cpp index f4df33a74..29acb2b8a 100644 --- a/Source/WebCore/platform/graphics/android/GaneshRenderer.cpp +++ b/Source/WebCore/platform/graphics/android/GaneshRenderer.cpp @@ -117,7 +117,6 @@ void GaneshRenderer::setupCanvas(const TileRenderInfo& renderInfo, SkCanvas* can // set the GPU device to the canvas canvas->setDevice(device); - canvas->setDeviceFactory(device->getDeviceFactory()); // invert canvas contents if (renderInfo.textureInfo->getSharedTextureMode() == EglImageMode) { diff --git a/Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp b/Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp index 691fbcadf..751a08fe8 100644 --- a/Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp @@ -36,6 +36,7 @@ #include "SkBitmapRef.h" #include "SkCanvas.h" #include "SkColorPriv.h" +#include "SkData.h" #include "SkDevice.h" #include "SkImageEncoder.h" #include "SkStream.h" @@ -241,7 +242,9 @@ String ImageBuffer::toDataURL(const String&, const double*) const // Convert it into base64. Vector pngEncodedData; - pngEncodedData.append(pngStream.getStream(), pngStream.getOffset()); + SkData* streamData = pngStream.copyToData(); + pngEncodedData.append((char*)streamData->data(), streamData->size()); + streamData->unref(); Vector base64EncodedData; base64Encode(pngEncodedData, base64EncodedData); // Append with a \0 so that it's a valid string. diff --git a/Source/WebCore/platform/graphics/android/ImageTexture.cpp b/Source/WebCore/platform/graphics/android/ImageTexture.cpp index 23e38999f..577e7f0ed 100644 --- a/Source/WebCore/platform/graphics/android/ImageTexture.cpp +++ b/Source/WebCore/platform/graphics/android/ImageTexture.cpp @@ -126,7 +126,7 @@ SkBitmap* ImageTexture::convertBitmap(SkBitmap* bitmap) // Create a copy of the image img->setConfig(SkBitmap::kARGB_8888_Config, w, h); img->allocPixels(); - SkDevice* device = new SkDevice(NULL, *img, false); + SkDevice* device = new SkDevice(*img); SkCanvas canvas; canvas.setDevice(device); device->unref(); diff --git a/Source/WebCore/platform/graphics/android/RasterRenderer.cpp b/Source/WebCore/platform/graphics/android/RasterRenderer.cpp index 0c92de439..9991fbdbe 100644 --- a/Source/WebCore/platform/graphics/android/RasterRenderer.cpp +++ b/Source/WebCore/platform/graphics/android/RasterRenderer.cpp @@ -101,7 +101,7 @@ void RasterRenderer::setupCanvas(const TileRenderInfo& renderInfo, SkCanvas* can g_bitmap->eraseARGB(255, 255, 255, 255); } - SkDevice* device = new SkDevice(NULL, *g_bitmap, false); + SkDevice* device = new SkDevice(*g_bitmap); if (renderInfo.measurePerf) { m_perfMon.stop(TAG_CREATE_BITMAP); diff --git a/Source/WebKit/android/nav/WebView.cpp b/Source/WebKit/android/nav/WebView.cpp index 76f0fb8f1..7cb41d9f8 100644 --- a/Source/WebKit/android/nav/WebView.cpp +++ b/Source/WebKit/android/nav/WebView.cpp @@ -503,7 +503,7 @@ bool drawGL(WebCore::IntRect& viewRect, WebCore::IntRect* invalRect, // Make sure we have valid coordinates. We might not have valid coords // if the zoom manager is still initializing. We will be redrawn // once the correct scale is set - if (!m_visibleRect.hasValidCoordinates()) + if (!m_visibleRect.isFinite()) return false; bool treesSwapped = false; bool newTreeHasAnim = false;