OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "ui/events/platform/platform_event_source.h" | 5 #include "ui/events/platform/platform_event_source.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/memory/scoped_vector.h" | 9 #include "base/memory/scoped_vector.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 : id_(id), | 80 : id_(id), |
81 list_(list), | 81 list_(list), |
82 post_dispatch_action_(POST_DISPATCH_NONE), | 82 post_dispatch_action_(POST_DISPATCH_NONE), |
83 stop_stream_(false) { | 83 stop_stream_(false) { |
84 PlatformEventSource::GetInstance()->AddPlatformEventDispatcher(this); | 84 PlatformEventSource::GetInstance()->AddPlatformEventDispatcher(this); |
85 } | 85 } |
86 virtual ~TestPlatformEventDispatcher() { | 86 virtual ~TestPlatformEventDispatcher() { |
87 PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this); | 87 PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this); |
88 } | 88 } |
89 | 89 |
90 void set_post_dispatch_action(uint32_t action) { | 90 void set_post_dispatch_action(ui::PostDispatchAction action) { |
91 post_dispatch_action_ = action; | 91 post_dispatch_action_ = action; |
92 } | 92 } |
93 | 93 |
94 protected: | 94 protected: |
95 // PlatformEventDispatcher: | 95 // PlatformEventDispatcher: |
96 virtual bool CanDispatchEvent(const PlatformEvent& event) override { | 96 virtual bool CanDispatchEvent(const PlatformEvent& event) override { |
97 return true; | 97 return true; |
98 } | 98 } |
99 | 99 |
100 virtual uint32_t DispatchEvent(const PlatformEvent& event) override { | 100 virtual ui::PostDispatchAction DispatchEvent( |
| 101 const PlatformEvent& event) override { |
101 list_->push_back(id_); | 102 list_->push_back(id_); |
102 return post_dispatch_action_; | 103 return post_dispatch_action_; |
103 } | 104 } |
104 | 105 |
105 private: | 106 private: |
106 int id_; | 107 int id_; |
107 std::vector<int>* list_; | 108 std::vector<int>* list_; |
108 uint32_t post_dispatch_action_; | 109 ui::PostDispatchAction post_dispatch_action_; |
109 bool stop_stream_; | 110 bool stop_stream_; |
110 | 111 |
111 DISALLOW_COPY_AND_ASSIGN(TestPlatformEventDispatcher); | 112 DISALLOW_COPY_AND_ASSIGN(TestPlatformEventDispatcher); |
112 }; | 113 }; |
113 | 114 |
114 class TestPlatformEventObserver : public PlatformEventObserver { | 115 class TestPlatformEventObserver : public PlatformEventObserver { |
115 public: | 116 public: |
116 TestPlatformEventObserver(int id, std::vector<int>* list) | 117 TestPlatformEventObserver(int id, std::vector<int>* list) |
117 : id_(id), list_(list) { | 118 : id_(id), list_(list) { |
118 PlatformEventSource::GetInstance()->AddPlatformEventObserver(this); | 119 PlatformEventSource::GetInstance()->AddPlatformEventObserver(this); |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 RunCallbackDuringDispatch(int id, std::vector<int>* list) | 336 RunCallbackDuringDispatch(int id, std::vector<int>* list) |
336 : TestPlatformEventDispatcher(id, list) {} | 337 : TestPlatformEventDispatcher(id, list) {} |
337 virtual ~RunCallbackDuringDispatch() {} | 338 virtual ~RunCallbackDuringDispatch() {} |
338 | 339 |
339 void set_callback(const base::Closure& callback) { | 340 void set_callback(const base::Closure& callback) { |
340 callback_ = callback; | 341 callback_ = callback; |
341 } | 342 } |
342 | 343 |
343 protected: | 344 protected: |
344 // PlatformEventDispatcher: | 345 // PlatformEventDispatcher: |
345 virtual uint32_t DispatchEvent(const PlatformEvent& event) override { | 346 virtual ui::PostDispatchAction DispatchEvent( |
| 347 const PlatformEvent& event) override { |
346 if (!callback_.is_null()) | 348 if (!callback_.is_null()) |
347 callback_.Run(); | 349 callback_.Run(); |
348 return TestPlatformEventDispatcher::DispatchEvent(event); | 350 return TestPlatformEventDispatcher::DispatchEvent(event); |
349 } | 351 } |
350 | 352 |
351 private: | 353 private: |
352 base::Closure callback_; | 354 base::Closure callback_; |
353 | 355 |
354 DISALLOW_COPY_AND_ASSIGN(RunCallbackDuringDispatch); | 356 DISALLOW_COPY_AND_ASSIGN(RunCallbackDuringDispatch); |
355 }; | 357 }; |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
578 void set_callback(const base::Closure& callback) { | 580 void set_callback(const base::Closure& callback) { |
579 callback_ = callback; | 581 callback_ = callback; |
580 } | 582 } |
581 | 583 |
582 private: | 584 private: |
583 // PlatformEventDispatcher: | 585 // PlatformEventDispatcher: |
584 virtual bool CanDispatchEvent(const PlatformEvent& event) override { | 586 virtual bool CanDispatchEvent(const PlatformEvent& event) override { |
585 return true; | 587 return true; |
586 } | 588 } |
587 | 589 |
588 virtual uint32_t DispatchEvent(const PlatformEvent& event) override { | 590 virtual ui::PostDispatchAction DispatchEvent( |
| 591 const PlatformEvent& event) override { |
589 handler_.reset(); | 592 handler_.reset(); |
590 uint32_t action = TestPlatformEventDispatcher::DispatchEvent(event); | 593 ui::PostDispatchAction action = |
| 594 TestPlatformEventDispatcher::DispatchEvent(event); |
591 if (!callback_.is_null()) { | 595 if (!callback_.is_null()) { |
592 callback_.Run(); | 596 callback_.Run(); |
593 callback_ = base::Closure(); | 597 callback_ = base::Closure(); |
594 } | 598 } |
595 return action; | 599 return action; |
596 } | 600 } |
597 | 601 |
598 scoped_ptr<ScopedEventDispatcher> handler_; | 602 scoped_ptr<ScopedEventDispatcher> handler_; |
599 base::Closure callback_; | 603 base::Closure callback_; |
600 | 604 |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
778 ASSERT_EQ(2u, list.size()); | 782 ASSERT_EQ(2u, list.size()); |
779 EXPECT_EQ(15, list[0]); | 783 EXPECT_EQ(15, list[0]); |
780 EXPECT_EQ(10, list[1]); | 784 EXPECT_EQ(10, list[1]); |
781 } | 785 } |
782 }; | 786 }; |
783 | 787 |
784 RUN_TEST_IN_MESSAGE_LOOP( | 788 RUN_TEST_IN_MESSAGE_LOOP( |
785 ConsecutiveOverriddenDispatcherInTheSameMessageLoopIteration) | 789 ConsecutiveOverriddenDispatcherInTheSameMessageLoopIteration) |
786 | 790 |
787 } // namespace ui | 791 } // namespace ui |
OLD | NEW |