1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ui/surface/transport_dib.h"
7 #include "skia/ext/platform_canvas.h"
10 bool TransportDIB::VerifyCanvasSize(int w
, int h
) {
11 static const size_t kMaxSize
= static_cast<size_t>(INT_MAX
);
12 const size_t one_stride
= skia::PlatformCanvasStrideForWidth(1);
13 const size_t stride
= skia::PlatformCanvasStrideForWidth(w
);
14 if (w
<= 0 || h
<= 0 || static_cast<size_t>(w
) > (kMaxSize
/ one_stride
) ||
15 static_cast<size_t>(h
) > (kMaxSize
/ stride
)) {
19 return (stride
* h
) <= size_
;
22 base::SharedMemory
* TransportDIB::shared_memory() {
23 return &shared_memory_
;