diff options
-rw-r--r-- | chrome/test/unit/chrome_test_suite.cc | 8 | ||||
-rw-r--r-- | ui/gfx/compositor/compositor_gl.cc | 6 | ||||
-rw-r--r-- | views/run_all_unittests.cc | 6 | ||||
-rw-r--r-- | views/view.cc | 5 | ||||
-rw-r--r-- | views/view.h | 1 | ||||
-rw-r--r-- | views/widget/widget.cc | 3 |
6 files changed, 25 insertions, 4 deletions
diff --git a/chrome/test/unit/chrome_test_suite.cc b/chrome/test/unit/chrome_test_suite.cc index f3e0335..3acb89a 100644 --- a/chrome/test/unit/chrome_test_suite.cc +++ b/chrome/test/unit/chrome_test_suite.cc @@ -21,6 +21,9 @@ #include "net/base/net_errors.h" #include "ui/base/resource/resource_bundle.h" #include "ui/base/ui_base_paths.h" +#if defined(TOOLKIT_VIEWS) +#include "views/view.h" +#endif #if defined(OS_MACOSX) #include "base/mac/mac_util.h" @@ -141,6 +144,11 @@ void ChromeTestSuite::Initialize() { RemoveSharedMemoryFile(stats_filename_); stats_table_ = new base::StatsTable(stats_filename_, 20, 200); base::StatsTable::set_current(stats_table_); + +#if defined(TOUCH_UI) + // Turn of GPU compositing in browser during unit tests. + views::View::set_use_acceleration_when_possible(false); +#endif } void ChromeTestSuite::Shutdown() { diff --git a/ui/gfx/compositor/compositor_gl.cc b/ui/gfx/compositor/compositor_gl.cc index 794d836..e591e2a 100644 --- a/ui/gfx/compositor/compositor_gl.cc +++ b/ui/gfx/compositor/compositor_gl.cc @@ -357,9 +357,9 @@ bool CompositorGL::InitShaders() { // static Compositor* Compositor::Create(gfx::AcceleratedWidget widget) { - gfx::GLSurface::InitializeOneOff(); - if (gfx::GetGLImplementation() != gfx::kGLImplementationNone) - return new glHidden::CompositorGL(widget); + gfx::GLSurface::InitializeOneOff(); + if (gfx::GetGLImplementation() != gfx::kGLImplementationNone) + return new glHidden::CompositorGL(widget); return NULL; } #else diff --git a/views/run_all_unittests.cc b/views/run_all_unittests.cc index 611a77c..3a0e106 100644 --- a/views/run_all_unittests.cc +++ b/views/run_all_unittests.cc @@ -6,6 +6,7 @@ #include "base/test/test_suite.h" #include "ui/base/resource/resource_bundle.h" #include "ui/base/ui_base_paths.h" +#include "views/view.h" class ViewTestSuite : public base::TestSuite { public: @@ -17,6 +18,11 @@ class ViewTestSuite : public base::TestSuite { ui::RegisterPathProvider(); base::TestSuite::Initialize(); ResourceBundle::InitSharedInstance("en-US"); + +#if defined(TOUCH_UI) + // Disable GPU browser compositor during unit tests. + views::View::set_use_acceleration_when_possible(false); +#endif } }; diff --git a/views/view.cc b/views/view.cc index 45c9a28..274384a 100644 --- a/views/view.cc +++ b/views/view.cc @@ -762,6 +762,11 @@ void View::set_use_acceleration_when_possible(bool use) { use_acceleration_when_possible = use; } +// static +bool View::get_use_acceleration_when_possible() { + return use_acceleration_when_possible; +} + // Input ----------------------------------------------------------------------- View* View::GetEventHandlerForPoint(const gfx::Point& point) { diff --git a/views/view.h b/views/view.h index caf0ea7..84fd459 100644 --- a/views/view.h +++ b/views/view.h @@ -546,6 +546,7 @@ class View : public AcceleratorTarget { // Enable/Disable accelerated compositing. static void set_use_acceleration_when_possible(bool use); + static bool get_use_acceleration_when_possible(); // Input --------------------------------------------------------------------- // The points (and mouse locations) in the following functions are in the diff --git a/views/widget/widget.cc b/views/widget/widget.cc index f81ee88..5dbfe44 100644 --- a/views/widget/widget.cc +++ b/views/widget/widget.cc @@ -757,7 +757,8 @@ void Widget::EnsureCompositor() { // TODO(sad): If there is a parent Widget, then use the same compositor // instead of creating a new one here. gfx::AcceleratedWidget widget = native_widget_->GetAcceleratedWidget(); - if (widget != gfx::kNullAcceleratedWidget) + if (widget != gfx::kNullAcceleratedWidget && + View::get_use_acceleration_when_possible()) compositor_ = ui::Compositor::Create(widget); } |