Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Unified Diff: chrome/browser/renderer_host/render_widget_host_unittest.cc

Issue 661237: This adds in the ability for Chrome to generate windows with snapshots of all... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/renderer_host/render_widget_host_unittest.cc
===================================================================
--- chrome/browser/renderer_host/render_widget_host_unittest.cc (revision 45523)
+++ chrome/browser/renderer_host/render_widget_host_unittest.cc (working copy)
@@ -9,6 +9,7 @@
#include "base/timer.h"
#include "build/build_config.h"
#include "chrome/browser/renderer_host/backing_store.h"
+#include "chrome/browser/renderer_host/render_widget_host_painting_observer.h"
#include "chrome/browser/renderer_host/test/test_render_view_host.h"
#include "chrome/common/render_messages.h"
#include "gfx/canvas.h"
@@ -19,6 +20,10 @@
using WebKit::WebInputEvent;
using WebKit::WebMouseWheelEvent;
+namespace gfx {
+class Size;
+}
+
// RenderWidgetHostProcess -----------------------------------------------------
class RenderWidgetHostProcess : public MockRenderProcessHost {
@@ -191,6 +196,32 @@
bool unresponsive_timer_fired_;
};
+// MockPaintingObserver --------------------------------------------------------
+
+class MockPaintingObserver : public RenderWidgetHostPaintingObserver {
+ public:
+ void WidgetWillDestroyBackingStore(RenderWidgetHost* widget,
+ BackingStore* backing_store) {}
+ void WidgetDidUpdateBackingStore(RenderWidgetHost* widget) {}
+ void WidgetDidReceivePaintAtSizeAck(RenderWidgetHost* host,
+ const TransportDIB::Handle& dib_handle,
+ const gfx::Size& size) {
+ host_ = reinterpret_cast<MockRenderWidgetHost*>(host);
+ dib_handle_ = dib_handle;
+ size_ = size;
+ }
+
+ MockRenderWidgetHost* host() const { return host_; }
+ TransportDIB::Handle dib_handle() const { return dib_handle_; }
+ gfx::Size size() const { return size_; }
+
+ private:
+ MockRenderWidgetHost* host_;
+ TransportDIB::Handle dib_handle_;
+ gfx::Size size_;
+};
+
+
// RenderWidgetHostTest --------------------------------------------------------
class RenderWidgetHostTest : public testing::Test {
@@ -504,6 +535,24 @@
EXPECT_TRUE(needs_repaint.a);
}
+TEST_F(RenderWidgetHostTest, PaintAtSize) {
+ host_->PaintAtSize(TransportDIB::GetFakeHandleForTest(), gfx::Size(20, 30));
+ EXPECT_TRUE(
+ process_->sink().GetUniqueMessageMatching(ViewMsg_PaintAtSize::ID));
+
+ MockPaintingObserver observer;
+ host_->set_painting_observer(&observer);
+
+ // Need to generate a fake handle value on all platforms.
+ TransportDIB::Handle handle = TransportDIB::GetFakeHandleForTest();
+ host_->OnMsgPaintAtSizeAck(handle, gfx::Size(20, 30));
+ EXPECT_TRUE(host_ == observer.host());
+ EXPECT_TRUE(handle == observer.dib_handle());
+ EXPECT_EQ(20, observer.size().width());
+ EXPECT_EQ(30, observer.size().height());
+ host_->set_painting_observer(NULL);
+}
+
TEST_F(RenderWidgetHostTest, HandleKeyEventsWeSent) {
// Simulate a keyboard event.
SimulateKeyboardEvent(WebInputEvent::RawKeyDown);
@@ -649,4 +698,3 @@
MessageLoop::current()->Run();
EXPECT_TRUE(host_->unresponsive_timer_fired());
}
-
« no previous file with comments | « chrome/browser/renderer_host/render_widget_host_painting_observer.h ('k') | chrome/browser/tab_contents/thumbnail_generator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698