summaryrefslogtreecommitdiff
path: root/chromium/components/exo/sub_surface_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/exo/sub_surface_unittest.cc')
-rw-r--r--chromium/components/exo/sub_surface_unittest.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/chromium/components/exo/sub_surface_unittest.cc b/chromium/components/exo/sub_surface_unittest.cc
index dd18c8c95dc..946008680d4 100644
--- a/chromium/components/exo/sub_surface_unittest.cc
+++ b/chromium/components/exo/sub_surface_unittest.cc
@@ -4,11 +4,13 @@
#include "components/exo/sub_surface.h"
+#include "components/exo/buffer.h"
#include "components/exo/shell_surface.h"
#include "components/exo/surface.h"
#include "components/exo/test/exo_test_base.h"
#include "components/exo/test/exo_test_helper.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/aura/client/aura_constants.h"
namespace exo {
namespace {
@@ -158,5 +160,25 @@ TEST_F(SubSurfaceTest, SetCommitBehavior) {
grandchild->window()->bounds().origin().ToString());
}
+TEST_F(SubSurfaceTest, SetOnParent) {
+ gfx::Size buffer_size(32, 32);
+ std::unique_ptr<Buffer> buffer(
+ new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(buffer_size)));
+ auto parent = std::make_unique<Surface>();
+ auto shell_surface = std::make_unique<ShellSurface>(parent.get());
+ parent->Attach(buffer.get());
+ parent->Commit();
+
+ shell_surface->GetWidget()->GetNativeWindow()->SetProperty(
+ aura::client::kSkipImeProcessing, true);
+ ASSERT_TRUE(parent->window()->GetProperty(aura::client::kSkipImeProcessing));
+
+ // SkipImeProcessing property is propagated to SubSurface.
+ auto surface = std::make_unique<Surface>();
+ auto sub_surface = std::make_unique<SubSurface>(surface.get(), parent.get());
+ surface->SetParent(parent.get(), gfx::Point(10, 10));
+ EXPECT_TRUE(surface->window()->GetProperty(aura::client::kSkipImeProcessing));
+}
+
} // namespace
} // namespace exo