summaryrefslogtreecommitdiffstats
path: root/app/surface/transport_dib_linux.cc
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-18 17:47:49 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-18 17:47:49 +0000
commitde9cfbce825a56e003bf0140ac83a3211c72ad9f (patch)
tree5d04897da40a06dbaffdfce61493ce7193700b11 /app/surface/transport_dib_linux.cc
parent377b4cc93ed0ca53988f5cc23026fb1ca3c6d838 (diff)
downloadchromium_src-de9cfbce825a56e003bf0140ac83a3211c72ad9f.zip
chromium_src-de9cfbce825a56e003bf0140ac83a3211c72ad9f.tar.gz
chromium_src-de9cfbce825a56e003bf0140ac83a3211c72ad9f.tar.bz2
Pull latest ppapi for initial testing support, implement checks so the tests pass in Chrome. Mostly, this involves better error checking.
The most substantial change is that I made TransportDIB able to return NULL on failure to make a PlatformCanvas, which we run into when makeing too large of a canvas from a plugin. I checked all the callers of this function to make sure they all handled the problem (many already did). TEST=pulls Pepper test BUG=-none Review URL: http://codereview.chromium.org/2101004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47526 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'app/surface/transport_dib_linux.cc')
-rw-r--r--app/surface/transport_dib_linux.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/app/surface/transport_dib_linux.cc b/app/surface/transport_dib_linux.cc
index 6c41a0c..26cad3f 100644
--- a/app/surface/transport_dib_linux.cc
+++ b/app/surface/transport_dib_linux.cc
@@ -10,6 +10,7 @@
#include "app/surface/transport_dib.h"
#include "app/x11_util.h"
#include "base/logging.h"
+#include "base/scoped_ptr.h"
#include "gfx/size.h"
#include "skia/ext/platform_canvas.h"
@@ -86,8 +87,10 @@ bool TransportDIB::is_valid(Handle dib) {
}
skia::PlatformCanvas* TransportDIB::GetPlatformCanvas(int w, int h) {
- return new skia::PlatformCanvas(w, h, true,
- reinterpret_cast<uint8_t*>(memory()));
+ scoped_ptr<skia::PlatformCanvas> canvas(new skia::PlatformCanvas);
+ if (!canvas->initialize(w, h, true, reinterpret_cast<uint8_t*>(memory())))
+ return NULL;
+ return canvas.release();
}
void* TransportDIB::memory() const {