render_widget_test.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 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. 4 5#ifndef CONTENT_PUBLIC_TEST_RENDER_WIDGET_TEST_H_ 6#define CONTENT_PUBLIC_TEST_RENDER_WIDGET_TEST_H_ 7 8#include "base/basictypes.h" 9#include "base/file_path.h" 10#include "content/public/test/render_view_test.h" 11 12class SkBitmap; 13 14namespace gfx { 15class Size; 16} 17 18namespace content { 19 20class RenderWidgetTest : public RenderViewTest { 21 public: 22 RenderWidgetTest(); 23 24 protected: 25 static const int kNumBytesPerPixel; 26 static const int kLargeWidth; 27 static const int kLargeHeight; 28 static const int kSmallWidth; 29 static const int kSmallHeight; 30 static const int kTextPositionX; 31 static const int kTextPositionY; 32 static const uint32 kRedARGB; 33 34 // Helper function which calls OnMsgPaintAtSize and also paints the result 35 // in the given bitmap. The widget is resized to |page_size| before we paint 36 // and the final image is resized to |desired_size|. This method is virtual so 37 // that TestResizeAndPaint() can be reused by subclasses of this test class. 38 virtual void ResizeAndPaint(const gfx::Size& page_size, 39 const gfx::Size& desired_size, 40 SkBitmap* snapshot); 41 42 // Test for ResizeAndPaint. 43 void TestResizeAndPaint(); 44 45 // Helper function which returns true if the given bitmap contains the given 46 // ARGB color and false otherwise. 47 bool ImageContainsColor(const SkBitmap& bitmap, uint32 argb_color); 48 49 // This can be used for debugging if you want to output a bitmap 50 // image to a file. 51 // FilePath tmp_path; 52 // file_util::CreateTemporaryFile(&tmp_path); 53 // OutputBitmapToFile(bitmap, tmp_path); 54 // LOG(INFO) << "Bitmap image stored at: " << tmp_path.value(); 55 void OutputBitmapToFile(const SkBitmap& bitmap, const FilePath& file_path); 56}; 57 58} // namespace content 59 60#endif // CONTENT_PUBLIC_TEST_RENDER_WIDGET_TEST_H_ 61