| Index: ui/views/test/views_test_base.cc
|
| diff --git a/ui/views/test/views_test_base.cc b/ui/views/test/views_test_base.cc
|
| index f37868f0e90ac456e5547b6422edf941e098496e..d3dbd71dbcaa2e47e6c4579b74da0be2069fcb7e 100644
|
| --- a/ui/views/test/views_test_base.cc
|
| +++ b/ui/views/test/views_test_base.cc
|
| @@ -6,18 +6,49 @@
|
|
|
| #include <utility>
|
|
|
| +#include "base/environment.h"
|
| #include "base/run_loop.h"
|
| #include "ui/base/clipboard/clipboard.h"
|
| #include "ui/base/material_design/material_design_controller.h"
|
| #include "ui/base/test/material_design_controller_test_api.h"
|
| #include "ui/views/test/platform_test_helper.h"
|
|
|
| +#if defined(USE_X11) && !defined(OS_CHROMEOS)
|
| +#include "ui/base/x/x11_util_internal.h"
|
| +#endif
|
| +
|
| namespace views {
|
|
|
| +namespace {
|
| +
|
| +bool InitializeVisuals() {
|
| +#if defined(USE_X11) && !defined(OS_CHROMEOS)
|
| + static int depth = 0;
|
| + static bool has_compositing_manager = false;
|
| +
|
| + if (depth > 0)
|
| + return has_compositing_manager;
|
| +
|
| + // testing/xvfb.py runs xvfb and xcompmgr.
|
| + std::unique_ptr<base::Environment> env(base::Environment::Create());
|
| + has_compositing_manager = env->HasVar("_CHROMIUM_INSIDE_XVFB");
|
| + ui::ChooseVisualForWindow(has_compositing_manager, NULL, &depth);
|
| +
|
| + if (has_compositing_manager)
|
| + EXPECT_EQ(32, depth);
|
| +
|
| + return has_compositing_manager;
|
| +#else
|
| + return false;
|
| +#endif
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| ViewsTestBase::ViewsTestBase()
|
| : setup_called_(false),
|
| - teardown_called_(false) {
|
| -}
|
| + teardown_called_(false),
|
| + has_compositing_manager_(InitializeVisuals()) {}
|
|
|
| ViewsTestBase::~ViewsTestBase() {
|
| CHECK(setup_called_)
|
| @@ -72,4 +103,8 @@ gfx::NativeWindow ViewsTestBase::GetContext() {
|
| return test_helper_->GetContext();
|
| }
|
|
|
| +bool ViewsTestBase::HasCompositingManager() const {
|
| + return has_compositing_manager_;
|
| +}
|
| +
|
| } // namespace views
|
|
|