| Index: ui/android/view_android_unittests.cc
|
| diff --git a/ui/android/view_android_unittests.cc b/ui/android/view_android_unittests.cc
|
| index 77c9bcae16534428660684bb80c2c99af788a641..f3c95de0b70ac41cadd1885ba1a568250a08aa82 100644
|
| --- a/ui/android/view_android_unittests.cc
|
| +++ b/ui/android/view_android_unittests.cc
|
| @@ -166,4 +166,37 @@ TEST_F(ViewAndroidBoundsTest, MatchesViewsWithOffset) {
|
| ExpectHit(client3_);
|
| }
|
|
|
| +TEST(ViewAndroidTest, ChecksMultipleEventForwarders) {
|
| + ViewAndroid parent;
|
| + ViewAndroid child;
|
| + parent.GetEventForwarder();
|
| + child.GetEventForwarder();
|
| + EXPECT_DEATH(parent.AddChild(&child), "Check failed:");
|
| +
|
| + ViewAndroid parent2;
|
| + ViewAndroid child2;
|
| + parent2.GetEventForwarder();
|
| + parent2.AddChild(&child2);
|
| + EXPECT_DEATH(child2.GetEventForwarder(), "Check failed:");
|
| +
|
| + ViewAndroid window;
|
| + ViewAndroid wcv1, wcv2;
|
| + ViewAndroid rwhv1a, rwhv1b, rwhv2;
|
| + wcv1.GetEventForwarder();
|
| + wcv2.GetEventForwarder();
|
| +
|
| + window.AddChild(&wcv1);
|
| + wcv1.AddChild(&rwhv1a);
|
| + wcv1.AddChild(&rwhv1b);
|
| +
|
| + wcv2.AddChild(&rwhv2);
|
| +
|
| + // window should be able to add wcv2 since there's only one event forwarder
|
| + // in the path window - wcv2* - rwvh2
|
| + window.AddChild(&wcv2);
|
| +
|
| + // Additional event forwarder will cause failure.
|
| + EXPECT_DEATH(rwhv2.GetEventForwarder(), "Check failed:");
|
| +}
|
| +
|
| } // namespace ui
|
|
|