diff options
-rw-r--r-- | chrome/browser/renderer_host/render_widget_host_unittest.cc | 22 | ||||
-rw-r--r-- | chrome/test/unit/unit_tests.scons | 2 |
2 files changed, 21 insertions, 3 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host_unittest.cc b/chrome/browser/renderer_host/render_widget_host_unittest.cc index bb8c791..4f0bfb6 100644 --- a/chrome/browser/renderer_host/render_widget_host_unittest.cc +++ b/chrome/browser/renderer_host/render_widget_host_unittest.cc @@ -10,15 +10,21 @@ #include "chrome/common/render_messages.h" #include "testing/gtest/include/gtest/gtest.h" +#if defined(OS_POSIX) +#include "skia/ext/platform_canvas.h" +#endif + namespace { // RenderWidgetHostProcess ----------------------------------------------------- class RenderWidgetHostProcess : public MockRenderProcessHost { public: - RenderWidgetHostProcess(Profile* profile) + explicit RenderWidgetHostProcess(Profile* profile) : MockRenderProcessHost(profile), +#if defined(OS_WIN) current_paint_buf_(NULL), +#endif paint_msg_should_reply_(false), paint_msg_reply_flags_(0) { // DANGER! This is a hack. The RenderWidgetHost checks the channel to see @@ -48,8 +54,12 @@ class RenderWidgetHostProcess : public MockRenderProcessHost { const base::TimeDelta& max_delay, IPC::Message* msg); +#if defined(OS_WIN) scoped_ptr<base::SharedMemory> current_paint_buf_; - +#elif defined(OS_POSIX) + skia::PlatformCanvas canvas; +#endif + // Set to true when WaitForPaintMsg should return a successful paint messaage // reply. False implies timeout. bool paint_msg_should_reply_; @@ -65,12 +75,20 @@ void RenderWidgetHostProcess::InitPaintRectParams( ViewHostMsg_PaintRect_Params* params) { // Create the shared backing store. const int w = 100, h = 100; + +#if defined(OS_WIN) int pixel_size = w * h * 4; + current_paint_buf_.reset(new base::SharedMemory()); ASSERT_TRUE(current_paint_buf_->Create(std::wstring(), false, true, pixel_size)); params->bitmap = current_paint_buf_->handle(); +#elif defined(OS_POSIX) + ASSERT_TRUE(canvas.initialize(w, h, true)); + params->bitmap = canvas.getDevice()->accessBitmap(false); +#endif + params->bitmap_rect = gfx::Rect(0, 0, w, h); params->view_size = gfx::Size(w, h); params->flags = paint_msg_reply_flags_; diff --git a/chrome/test/unit/unit_tests.scons b/chrome/test/unit/unit_tests.scons index f980ec1..611142e 100644 --- a/chrome/test/unit/unit_tests.scons +++ b/chrome/test/unit/unit_tests.scons @@ -187,7 +187,7 @@ input_files = ChromeFileList([ '$CHROME_DIR/browser/webdata/web_database_unittest.cc', '$CHROME_DIR/browser/printing/win_printing_context_unittest.cc', '$CHROME_DIR/browser/window_sizer_unittest.cc', - '$CHROME_DIR/browser/renderer_host/render_widget_host_unittests.cc', + '$CHROME_DIR/browser/renderer_host/render_widget_host_unittest.cc', # test_infrastructure '$CHROME_DIR/browser/renderer_host/mock_render_process_host.cc', |