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

Side by Side Diff: chrome/browser/renderer_host/render_widget_host_unittest.cc

Issue 3037006: Let PaintAtAck send an int tag instead of the TransportDIB handle. (Closed)
Patch Set: '' Created 10 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/keyboard_codes.h" 6 #include "base/keyboard_codes.h"
7 #include "base/scoped_ptr.h" 7 #include "base/scoped_ptr.h"
8 #include "base/shared_memory.h" 8 #include "base/shared_memory.h"
9 #include "base/timer.h" 9 #include "base/timer.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 }; 197 };
198 198
199 // MockPaintingObserver -------------------------------------------------------- 199 // MockPaintingObserver --------------------------------------------------------
200 200
201 class MockPaintingObserver : public RenderWidgetHostPaintingObserver { 201 class MockPaintingObserver : public RenderWidgetHostPaintingObserver {
202 public: 202 public:
203 void WidgetWillDestroyBackingStore(RenderWidgetHost* widget, 203 void WidgetWillDestroyBackingStore(RenderWidgetHost* widget,
204 BackingStore* backing_store) {} 204 BackingStore* backing_store) {}
205 void WidgetDidUpdateBackingStore(RenderWidgetHost* widget) {} 205 void WidgetDidUpdateBackingStore(RenderWidgetHost* widget) {}
206 void WidgetDidReceivePaintAtSizeAck(RenderWidgetHost* host, 206 void WidgetDidReceivePaintAtSizeAck(RenderWidgetHost* host,
207 const TransportDIB::Handle& dib_handle, 207 int tag,
208 const gfx::Size& size) { 208 const gfx::Size& size) {
209 host_ = reinterpret_cast<MockRenderWidgetHost*>(host); 209 host_ = reinterpret_cast<MockRenderWidgetHost*>(host);
210 dib_handle_ = dib_handle; 210 tag_ = tag;
211 size_ = size; 211 size_ = size;
212 } 212 }
213 213
214 MockRenderWidgetHost* host() const { return host_; } 214 MockRenderWidgetHost* host() const { return host_; }
215 TransportDIB::Handle dib_handle() const { return dib_handle_; } 215 int tag() const { return tag_; }
216 gfx::Size size() const { return size_; } 216 gfx::Size size() const { return size_; }
217 217
218 private: 218 private:
219 MockRenderWidgetHost* host_; 219 MockRenderWidgetHost* host_;
220 TransportDIB::Handle dib_handle_; 220 int tag_;
221 gfx::Size size_; 221 gfx::Size size_;
222 }; 222 };
223 223
224 224
225 // RenderWidgetHostTest -------------------------------------------------------- 225 // RenderWidgetHostTest --------------------------------------------------------
226 226
227 class RenderWidgetHostTest : public testing::Test { 227 class RenderWidgetHostTest : public testing::Test {
228 public: 228 public:
229 RenderWidgetHostTest() : process_(NULL) { 229 RenderWidgetHostTest() : process_(NULL) {
230 } 230 }
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 // It should have sent out a restored message with a request to paint. 529 // It should have sent out a restored message with a request to paint.
530 const IPC::Message* restored = process_->sink().GetUniqueMessageMatching( 530 const IPC::Message* restored = process_->sink().GetUniqueMessageMatching(
531 ViewMsg_WasRestored::ID); 531 ViewMsg_WasRestored::ID);
532 ASSERT_TRUE(restored); 532 ASSERT_TRUE(restored);
533 Tuple1<bool> needs_repaint; 533 Tuple1<bool> needs_repaint;
534 ViewMsg_WasRestored::Read(restored, &needs_repaint); 534 ViewMsg_WasRestored::Read(restored, &needs_repaint);
535 EXPECT_TRUE(needs_repaint.a); 535 EXPECT_TRUE(needs_repaint.a);
536 } 536 }
537 537
538 TEST_F(RenderWidgetHostTest, PaintAtSize) { 538 TEST_F(RenderWidgetHostTest, PaintAtSize) {
539 host_->PaintAtSize(TransportDIB::GetFakeHandleForTest(), gfx::Size(40, 60), 539 const int kPaintAtSizeTag = 42;
540 gfx::Size(20, 30)); 540 host_->PaintAtSize(TransportDIB::GetFakeHandleForTest(), kPaintAtSizeTag,
541 gfx::Size(40, 60), gfx::Size(20, 30));
541 EXPECT_TRUE( 542 EXPECT_TRUE(
542 process_->sink().GetUniqueMessageMatching(ViewMsg_PaintAtSize::ID)); 543 process_->sink().GetUniqueMessageMatching(ViewMsg_PaintAtSize::ID));
543 544
544 MockPaintingObserver observer; 545 MockPaintingObserver observer;
545 host_->set_painting_observer(&observer); 546 host_->set_painting_observer(&observer);
546 547
547 // Need to generate a fake handle value on all platforms. 548 host_->OnMsgPaintAtSizeAck(kPaintAtSizeTag, gfx::Size(20, 30));
548 TransportDIB::Handle handle = TransportDIB::GetFakeHandleForTest(); 549 EXPECT_EQ(host_.get(), observer.host());
549 host_->OnMsgPaintAtSizeAck(handle, gfx::Size(20, 30)); 550 EXPECT_EQ(kPaintAtSizeTag, observer.tag());
550 EXPECT_TRUE(host_ == observer.host());
551 EXPECT_TRUE(handle == observer.dib_handle());
552 EXPECT_EQ(20, observer.size().width()); 551 EXPECT_EQ(20, observer.size().width());
553 EXPECT_EQ(30, observer.size().height()); 552 EXPECT_EQ(30, observer.size().height());
554 host_->set_painting_observer(NULL); 553 host_->set_painting_observer(NULL);
555 } 554 }
556 555
557 TEST_F(RenderWidgetHostTest, HandleKeyEventsWeSent) { 556 TEST_F(RenderWidgetHostTest, HandleKeyEventsWeSent) {
558 // Simulate a keyboard event. 557 // Simulate a keyboard event.
559 SimulateKeyboardEvent(WebInputEvent::RawKeyDown); 558 SimulateKeyboardEvent(WebInputEvent::RawKeyDown);
560 559
561 // Make sure we sent the input event to the renderer. 560 // Make sure we sent the input event to the renderer.
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 // Start it again to ensure it still works. 697 // Start it again to ensure it still works.
699 EXPECT_FALSE(host_->unresponsive_timer_fired()); 698 EXPECT_FALSE(host_->unresponsive_timer_fired());
700 host_->StartHangMonitorTimeout(TimeDelta::FromMilliseconds(10)); 699 host_->StartHangMonitorTimeout(TimeDelta::FromMilliseconds(10));
701 700
702 // Wait long enough for first timeout and see if it fired. 701 // Wait long enough for first timeout and see if it fired.
703 MessageLoop::current()->PostDelayedTask(FROM_HERE, 702 MessageLoop::current()->PostDelayedTask(FROM_HERE,
704 new MessageLoop::QuitTask(), 10); 703 new MessageLoop::QuitTask(), 10);
705 MessageLoop::current()->Run(); 704 MessageLoop::current()->Run();
706 EXPECT_TRUE(host_->unresponsive_timer_fired()); 705 EXPECT_TRUE(host_->unresponsive_timer_fired());
707 } 706 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698