// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_TEST_RENDER_WIDGET_BROWSERTEST_H_ #define CONTENT_TEST_RENDER_WIDGET_BROWSERTEST_H_ #pragma once #include "base/basictypes.h" #include "base/file_path.h" #include "content/test/render_view_test.h" class SkBitmap; namespace gfx { class Size; } class RenderWidgetTest : public content::RenderViewTest { public: RenderWidgetTest(); protected: static const int kNumBytesPerPixel; static const int kLargeWidth; static const int kLargeHeight; static const int kSmallWidth; static const int kSmallHeight; static const int kTextPositionX; static const int kTextPositionY; static const uint32 kRedARGB; // Helper function which calls OnMsgPaintAtSize and also paints the result // in the given bitmap. The widget is resized to |page_size| before we paint // and the final image is resized to |desired_size|. This method is virtual so // that TestResizeAndPaint() can be reused by subclasses of this test class. virtual void ResizeAndPaint(const gfx::Size& page_size, const gfx::Size& desired_size, SkBitmap* snapshot); // Test for ResizeAndPaint. void TestResizeAndPaint(); // Helper function which returns true if the given bitmap contains the given // ARGB color and false otherwise. bool ImageContainsColor(const SkBitmap& bitmap, uint32 argb_color); // This can be used for debugging if you want to output a bitmap // image to a file. // FilePath tmp_path; // file_util::CreateTemporaryFile(&tmp_path); // OutputBitmapToFile(bitmap, tmp_path); // LOG(INFO) << "Bitmap image stored at: " << tmp_path.value(); void OutputBitmapToFile(const SkBitmap& bitmap, const FilePath& file_path); }; #endif // CONTENT_TEST_RENDER_WIDGET_BROWSERTEST_H_