Home | History | Annotate | Download | only in test
      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/files/file_path.h"
     10 #include "content/public/test/render_view_test.h"
     11 
     12 class SkBitmap;
     13 
     14 namespace gfx {
     15 class Size;
     16 }
     17 
     18 namespace content {
     19 
     20 class 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   // Test for OnResize and Resize.
     46   void TestOnResize();
     47 
     48   // Helper function which returns true if the given bitmap contains the given
     49   // ARGB color and false otherwise.
     50   bool ImageContainsColor(const SkBitmap& bitmap, uint32 argb_color);
     51 
     52   // This can be used for debugging if you want to output a bitmap
     53   // image to a file.
     54   // FilePath tmp_path;
     55   // file_util::CreateTemporaryFile(&tmp_path);
     56   // OutputBitmapToFile(bitmap, tmp_path);
     57   // LOG(INFO) << "Bitmap image stored at: " << tmp_path.value();
     58   void OutputBitmapToFile(const SkBitmap& bitmap,
     59                           const base::FilePath& file_path);
     60 };
     61 
     62 }  // namespace content
     63 
     64 #endif  // CONTENT_PUBLIC_TEST_RENDER_WIDGET_TEST_H_
     65