summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/renderer_host/render_widget_host_unittest.cc22
-rw-r--r--chrome/test/unit/unit_tests.scons2
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',