| // Copyright (c) 2012 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_PUBLIC_TEST_RENDER_WIDGET_TEST_H_ |
| #define CONTENT_PUBLIC_TEST_RENDER_WIDGET_TEST_H_ |
| |
| #include "base/basictypes.h" |
| #include "base/files/file_path.h" |
| #include "content/public/test/render_view_test.h" |
| |
| class SkBitmap; |
| |
| namespace gfx { |
| class Size; |
| } |
| |
| namespace content { |
| |
| class RenderWidgetTest : public 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(); |
| |
| // Test for OnResize and Resize. |
| void TestOnResize(); |
| |
| // 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; |
| // base::CreateTemporaryFile(&tmp_path); |
| // OutputBitmapToFile(bitmap, tmp_path); |
| // VLOG(0) << "Bitmap image stored at: " << tmp_path.value(); |
| void OutputBitmapToFile(const SkBitmap& bitmap, |
| const base::FilePath& file_path); |
| }; |
| |
| } // namespace content |
| |
| #endif // CONTENT_PUBLIC_TEST_RENDER_WIDGET_TEST_H_ |