| Index: skia/ext/platform_canvas_win.cc
|
| ===================================================================
|
| --- skia/ext/platform_canvas_win.cc (revision 7318)
|
| +++ skia/ext/platform_canvas_win.cc (working copy)
|
| @@ -2,14 +2,17 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include <psapi.h>
|
| +
|
| #include "skia/ext/platform_canvas_win.h"
|
|
|
| -#include "base/logging.h"
|
| -#include "base/process_util.h"
|
| #include "skia/ext/bitmap_platform_device_win.h"
|
|
|
| namespace skia {
|
|
|
| +// Crash on failure.
|
| +#define CHECK(condition) if (!(condition)) __debugbreak();
|
| +
|
| // Crashes the process. This is called when a bitmap allocation fails, and this
|
| // function tries to determine why it might have failed, and crash on different
|
| // lines. This allows us to see in crash dumps the most likely reason for the
|
| @@ -23,21 +26,21 @@
|
|
|
| // If the bitmap is ginormous, then we probably can't allocate it.
|
| // We use 64M pixels = 256MB @ 4 bytes per pixel.
|
| - const int64 kGinormousBitmapPxl = 64000000;
|
| - CHECK(static_cast<int64>(w) * static_cast<int64>(h) < kGinormousBitmapPxl);
|
| + const __int64 kGinormousBitmapPxl = 64000000;
|
| + CHECK(static_cast<__int64>(w) * static_cast<__int64>(h) <
|
| + kGinormousBitmapPxl);
|
|
|
| // If we're using a crazy amount of virtual address space, then maybe there
|
| // isn't enough for our bitmap.
|
| - const int64 kLotsOfMem = 1500000000; // 1.5GB.
|
| - scoped_ptr<base::ProcessMetrics> process_metrics(
|
| - base::ProcessMetrics::CreateProcessMetrics(GetCurrentProcess()));
|
| - CHECK(process_metrics->GetPagefileUsage() < kLotsOfMem);
|
| + const __int64 kLotsOfMem = 1500000000; // 1.5GB.
|
| + PROCESS_MEMORY_COUNTERS pmc;
|
| + if (GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc)))
|
| + CHECK(pmc.PagefileUsage < kLotsOfMem);
|
|
|
| // Everything else.
|
| CHECK(0);
|
| }
|
|
|
| -
|
| PlatformCanvasWin::PlatformCanvasWin() : SkCanvas() {
|
| }
|
|
|
| @@ -94,7 +97,7 @@
|
| int width,
|
| int height,
|
| bool is_opaque, bool isForLayer) {
|
| - DCHECK(config == SkBitmap::kARGB_8888_Config);
|
| + SkASSERT(config == SkBitmap::kARGB_8888_Config);
|
| return createPlatformDevice(width, height, is_opaque, NULL);
|
| }
|
|
|
| @@ -110,7 +113,7 @@
|
| }
|
|
|
| SkDevice* PlatformCanvasWin::setBitmapDevice(const SkBitmap&) {
|
| - NOTREACHED();
|
| + SkASSERT(false); // Should not be called.
|
| return NULL;
|
| }
|
|
|
|
|