| 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..78a01f68cd03b044181737eb4f5665e9552c05c0 100644
|
| --- a/ui/android/view_android_unittests.cc
|
| +++ b/ui/android/view_android_unittests.cc
|
| @@ -2,6 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include "base/test/gtest_util.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "ui/android/event_forwarder.h"
|
| #include "ui/android/view_android.h"
|
| @@ -166,4 +167,37 @@ TEST_F(ViewAndroidBoundsTest, MatchesViewsWithOffset) {
|
| ExpectHit(client3_);
|
| }
|
|
|
| +TEST(ViewAndroidTest, ChecksMultipleEventForwarders) {
|
| + ViewAndroid parent;
|
| + ViewAndroid child;
|
| + parent.GetEventForwarder();
|
| + child.GetEventForwarder();
|
| + EXPECT_DCHECK_DEATH(parent.AddChild(&child));
|
| +
|
| + ViewAndroid parent2;
|
| + ViewAndroid child2;
|
| + parent2.GetEventForwarder();
|
| + parent2.AddChild(&child2);
|
| + EXPECT_DCHECK_DEATH(child2.GetEventForwarder());
|
| +
|
| + 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_DCHECK_DEATH(rwhv2.GetEventForwarder());
|
| +}
|
| +
|
| } // namespace ui
|
|
|