Index: chrome/browser/renderer_host/backing_store_posix.cc |
diff --git a/chrome/browser/renderer_host/backing_store_posix.cc b/chrome/browser/renderer_host/backing_store_posix.cc |
index f925ef93c7868cc96ea035cfd4d9f90539a68648..1d195fb7fb4ad011345539cee30d9e96563f0e5e 100644 |
--- a/chrome/browser/renderer_host/backing_store_posix.cc |
+++ b/chrome/browser/renderer_host/backing_store_posix.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/renderer_host/backing_store.h" |
#include "base/logging.h" |
+#include "chrome/common/transport_dib.h" |
#include "skia/ext/platform_canvas.h" |
#include "skia/include/SkBitmap.h" |
#include "skia/include/SkCanvas.h" |
@@ -19,20 +20,20 @@ BackingStore::~BackingStore() { |
} |
bool BackingStore::PaintRect(base::ProcessHandle process, |
- BitmapWireData bitmap, |
+ TransportDIB* bitmap, |
const gfx::Rect& bitmap_rect) { |
- if (bitmap.width() != bitmap_rect.width() || |
- bitmap.height() != bitmap_rect.height() || |
- bitmap.config() != SkBitmap::kARGB_8888_Config) { |
- return false; |
- } |
+ SkBitmap skbitmap; |
+ skbitmap.setConfig(SkBitmap::kARGB_8888_Config, bitmap_rect.width(), |
+ bitmap_rect.height(), 4 * bitmap_rect.width()); |
+ |
+ skbitmap.setPixels(bitmap->memory()); |
- canvas_.drawBitmap(bitmap, bitmap_rect.x(), bitmap_rect.y()); |
+ canvas_.drawBitmap(skbitmap, bitmap_rect.x(), bitmap_rect.y()); |
return true; |
} |
void BackingStore::ScrollRect(base::ProcessHandle process, |
- BitmapWireData bitmap, |
+ TransportDIB* bitmap, |
const gfx::Rect& bitmap_rect, |
int dx, int dy, |
const gfx::Rect& clip_rect, |
@@ -59,12 +60,6 @@ void BackingStore::ScrollRect(base::ProcessHandle process, |
DCHECK(clip_rect.bottom() <= canvas_.getDevice()->height()); |
DCHECK(clip_rect.right() <= canvas_.getDevice()->width()); |
- if (bitmap.width() != bitmap_rect.width() || |
- bitmap.height() != bitmap_rect.height() || |
- bitmap.config() != SkBitmap::kARGB_8888_Config) { |
- return; |
- } |
- |
const SkBitmap &backing_bitmap = canvas_.getDevice()->accessBitmap(true); |
const int stride = backing_bitmap.rowBytes(); |
uint8_t* x = static_cast<uint8_t*>(backing_bitmap.getPixels()); |
@@ -123,6 +118,6 @@ void BackingStore::ScrollRect(base::ProcessHandle process, |
} |
// Now paint the new bitmap data. |
- canvas_.drawBitmap(bitmap, bitmap_rect.x(), bitmap_rect.y()); |
+ PaintRect(process, bitmap, bitmap_rect); |
return; |
} |