summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-25 12:48:03 +0000
committerbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-25 12:48:03 +0000
commitc6933fcf7d7d3d13a0b9fb7ee2c6c59406d60003 (patch)
treebe2d4459fc9e0c3fa8ba1c222494991af2424592
parentd251633833d12a8fa5030df91261a015f1812b5a (diff)
downloadchromium_src-c6933fcf7d7d3d13a0b9fb7ee2c6c59406d60003.zip
chromium_src-c6933fcf7d7d3d13a0b9fb7ee2c6c59406d60003.tar.gz
chromium_src-c6933fcf7d7d3d13a0b9fb7ee2c6c59406d60003.tar.bz2
ui::TestCompositor::TestCompositor() constructor has been changed to take a a CompositorDelegate* as a parameter. It can be NULL to get the same behaviour as before. But some tests actually require ScheduleDraw() to cause a draw to happen, in order to test that their real delegate is doing its job. Also, we move the compositor_factory from views::Widget and aura::Desktop to ui::Compositor.
BUG=101091 TEST=bots stay green Review URL: http://codereview.chromium.org/8240006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107103 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/gpu_browsertest.cc3
-rw-r--r--chrome/chrome_tests.gypi1
-rw-r--r--chrome/test/base/chrome_test_suite.cc11
-rw-r--r--content/content_tests.gypi1
-rw-r--r--content/test/content_test_suite.cc4
-rw-r--r--ui/aura/desktop.cc5
-rw-r--r--ui/aura/desktop.h10
-rw-r--r--ui/aura/test/aura_test_base.cc7
-rw-r--r--ui/aura/test/test_suite.cc1
-rw-r--r--ui/aura_shell/test_suite.cc5
-rw-r--r--ui/gfx/compositor/compositor.cc3
-rw-r--r--ui/gfx/compositor/compositor.gyp22
-rw-r--r--ui/gfx/compositor/compositor.h16
-rw-r--r--ui/gfx/compositor/compositor_test_support.cc20
-rw-r--r--ui/gfx/compositor/compositor_test_support.h5
-rw-r--r--ui/gfx/compositor/layer_unittest.cc2
-rw-r--r--ui/gfx/compositor/test_compositor.cc12
-rw-r--r--ui/gfx/compositor/test_compositor.h5
-rw-r--r--views/run_all_unittests.cc5
-rw-r--r--views/test/views_test_base.cc15
-rw-r--r--views/widget/native_widget_gtk.cc4
-rw-r--r--views/widget/native_widget_wayland.cc4
-rw-r--r--views/widget/native_widget_win.cc4
-rw-r--r--views/widget/widget.cc3
-rw-r--r--views/widget/widget.h10
25 files changed, 97 insertions, 81 deletions
diff --git a/chrome/browser/gpu_browsertest.cc b/chrome/browser/gpu_browsertest.cc
index 37b68ca..987c3de 100644
--- a/chrome/browser/gpu_browsertest.cc
+++ b/chrome/browser/gpu_browsertest.cc
@@ -11,12 +11,11 @@
#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/test/base/in_process_browser_test.h"
-#include "chrome/test/base/test_launcher_utils.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/browser/tab_contents/tab_contents.h"
#include "googleurl/src/gurl.h"
#include "net/base/net_util.h"
-#include "ui/gfx/gl/gl_implementation.h"
+#include "ui/gfx/gl/gl_switches.h"
class GPUBrowserTest : public InProcessBrowserTest {
protected:
diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi
index bd20a2e..6fa82f0 100644
--- a/chrome/chrome_tests.gypi
+++ b/chrome/chrome_tests.gypi
@@ -63,6 +63,7 @@
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
'../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
+ '../ui/gfx/compositor/compositor.gyp:compositor_test_support',
],
'export_dependent_settings': [
'renderer',
diff --git a/chrome/test/base/chrome_test_suite.cc b/chrome/test/base/chrome_test_suite.cc
index ad54d70..e5b3e70 100644
--- a/chrome/test/base/chrome_test_suite.cc
+++ b/chrome/test/base/chrome_test_suite.cc
@@ -27,10 +27,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/ui_base_paths.h"
-
-#if defined(TOOLKIT_VIEWS)
-#include "views/view.h"
-#endif
+#include "ui/gfx/compositor/compositor_test_support.h"
#if defined(OS_MACOSX)
#include "base/mac/mac_util.h"
@@ -196,10 +193,8 @@ void ChromeTestSuite::Initialize() {
resources_pack_path.Append(FILE_PATH_LITERAL("resources.pak"));
ResourceBundle::AddDataPackToSharedInstance(resources_pack_path);
-#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX)
- // Turn of GPU compositing in browser during unit tests.
- views::View::set_use_acceleration_when_possible(false);
-#endif
+ // Mock out the compositor on platforms that use it.
+ ui::CompositorTestSupport::SetupMockCompositor();
stats_filename_ = base::StringPrintf("unit_tests-%d",
base::GetCurrentProcId());
diff --git a/content/content_tests.gypi b/content/content_tests.gypi
index bba6e9d..ffbbd3c 100644
--- a/content/content_tests.gypi
+++ b/content/content_tests.gypi
@@ -15,6 +15,7 @@
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
'../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
+ '../ui/gfx/compositor/compositor.gyp:compositor_test_support',
'../ui/gfx/surface/surface.gyp:surface',
'../ui/ui.gyp:ui_test_support',
'../webkit/support/webkit_support.gyp:appcache',
diff --git a/content/test/content_test_suite.cc b/content/test/content_test_suite.cc
index c962fb3..1307aaa 100644
--- a/content/test/content_test_suite.cc
+++ b/content/test/content_test_suite.cc
@@ -13,6 +13,7 @@
#include "content/test/test_content_client.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/ui_base_paths.h"
+#include "ui/gfx/compositor/compositor_test_support.h"
namespace {
@@ -65,6 +66,9 @@ void ContentTestSuite::Initialize() {
content::RegisterPathProvider();
ui::RegisterPathProvider();
+ // Mock out the compositor on platforms that use it.
+ ui::CompositorTestSupport::SetupMockCompositor();
+
testing::TestEventListeners& listeners =
testing::UnitTest::GetInstance()->listeners();
listeners.Append(new TestContentClientInitializer);
diff --git a/ui/aura/desktop.cc b/ui/aura/desktop.cc
index bbc6e2a..d8a9c0a 100644
--- a/ui/aura/desktop.cc
+++ b/ui/aura/desktop.cc
@@ -42,7 +42,6 @@ static const int kDefaultHostWindowHeight = 1024;
} // namespace
Desktop* Desktop::instance_ = NULL;
-ui::Compositor*(*Desktop::compositor_factory_)() = NULL;
bool Desktop::use_fullscreen_host_window_ = false;
Desktop::Desktop()
@@ -62,8 +61,8 @@ Desktop::Desktop()
host_->SetDesktop(this);
last_mouse_location_ = host_->QueryMouseLocation();
- if (compositor_factory_) {
- compositor_ = (*Desktop::compositor_factory())();
+ if (ui::Compositor::compositor_factory()) {
+ compositor_ = (*ui::Compositor::compositor_factory())(this);
} else {
compositor_ = ui::Compositor::Create(this, host_->GetAcceleratedWidget(),
host_->GetSize());
diff --git a/ui/aura/desktop.h b/ui/aura/desktop.h
index e6b6c97..ffeed27 100644
--- a/ui/aura/desktop.h
+++ b/ui/aura/desktop.h
@@ -49,13 +49,6 @@ class AURA_EXPORT Desktop : public ui::CompositorDelegate,
static Desktop* GetInstance();
static void DeleteInstanceForTesting();
- static void set_compositor_factory_for_testing(ui::Compositor*(*factory)()) {
- compositor_factory_ = factory;
- }
- static ui::Compositor* (*compositor_factory())() {
- return compositor_factory_;
- }
-
static void set_use_fullscreen_host_window(bool use_fullscreen) {
use_fullscreen_host_window_ = use_fullscreen;
}
@@ -171,9 +164,6 @@ class AURA_EXPORT Desktop : public ui::CompositorDelegate,
static Desktop* instance_;
- // Factory used to create Compositors. Settable by tests.
- static ui::Compositor*(*compositor_factory_)();
-
// If set before the Desktop is created, the host window will cover the entire
// screen. Note that this can still be overridden via the
// switches::kAuraHostWindowSize flag.
diff --git a/ui/aura/test/aura_test_base.cc b/ui/aura/test/aura_test_base.cc
index c2cff110..61ffed4 100644
--- a/ui/aura/test/aura_test_base.cc
+++ b/ui/aura/test/aura_test_base.cc
@@ -10,15 +10,10 @@
#include "ui/aura/desktop.h"
#include "ui/aura/test/test_desktop_delegate.h"
-#include "ui/gfx/compositor/test_compositor.h"
namespace aura {
namespace test {
-static ui::Compositor* TestCreateCompositor() {
- return new ui::TestCompositor();
-}
-
AuraTestBase::AuraTestBase()
: setup_called_(false),
teardown_called_(false) {
@@ -26,7 +21,6 @@ AuraTestBase::AuraTestBase()
OleInitialize(NULL);
#endif
- aura::Desktop::set_compositor_factory_for_testing(&TestCreateCompositor);
// TestDesktopDelegate is owned by the desktop.
new TestDesktopDelegate();
Desktop::GetInstance()->Show();
@@ -50,7 +44,6 @@ AuraTestBase::~AuraTestBase() {
// Ensure that we don't use the previously-allocated static Desktop object
// later -- on Linux, it holds a reference to our message loop's X connection.
aura::Desktop::DeleteInstanceForTesting();
- aura::Desktop::set_compositor_factory_for_testing(NULL);
}
void AuraTestBase::SetUp() {
diff --git a/ui/aura/test/test_suite.cc b/ui/aura/test/test_suite.cc
index 11e0f3b..4c4faa6 100644
--- a/ui/aura/test/test_suite.cc
+++ b/ui/aura/test/test_suite.cc
@@ -29,6 +29,7 @@ void AuraTestSuite::Initialize() {
// output, it'll pass regardless of the system language.
ui::ResourceBundle::InitSharedInstance("en-US");
ui::CompositorTestSupport::Initialize();
+ ui::CompositorTestSupport::SetupMockCompositor();
}
void AuraTestSuite::Shutdown() {
diff --git a/ui/aura_shell/test_suite.cc b/ui/aura_shell/test_suite.cc
index 5ccb18f..07fcddc 100644
--- a/ui/aura_shell/test_suite.cc
+++ b/ui/aura_shell/test_suite.cc
@@ -11,15 +11,11 @@
#include "ui/base/ui_base_paths.h"
#include "ui/gfx/compositor/compositor_test_support.h"
#include "ui/gfx/gfx_paths.h"
-#include "ui/gfx/gl/gl_implementation.h"
AuraShellTestSuite::AuraShellTestSuite(int argc, char** argv)
: TestSuite(argc, argv) {}
void AuraShellTestSuite::Initialize() {
-#if defined(OS_LINUX)
- gfx::InitializeGLBindings(gfx::kGLImplementationOSMesaGL);
-#endif
base::TestSuite::Initialize();
gfx::RegisterPathProvider();
@@ -29,6 +25,7 @@ void AuraShellTestSuite::Initialize() {
// output, it'll pass regardless of the system language.
ui::ResourceBundle::InitSharedInstance("en-US");
ui::CompositorTestSupport::Initialize();
+ ui::CompositorTestSupport::SetupMockCompositor();
}
void AuraShellTestSuite::Shutdown() {
diff --git a/ui/gfx/compositor/compositor.cc b/ui/gfx/compositor/compositor.cc
index 87aa06e..388d7d9 100644
--- a/ui/gfx/compositor/compositor.cc
+++ b/ui/gfx/compositor/compositor.cc
@@ -16,6 +16,9 @@ TextureDrawParams::TextureDrawParams()
vertically_flipped(false) {
}
+// static
+Compositor*(*Compositor::compositor_factory_)(CompositorDelegate*) = NULL;
+
Compositor::Compositor(CompositorDelegate* delegate, const gfx::Size& size)
: delegate_(delegate),
size_(size),
diff --git a/ui/gfx/compositor/compositor.gyp b/ui/gfx/compositor/compositor.gyp
index 02368cf..d4ce8d5 100644
--- a/ui/gfx/compositor/compositor.gyp
+++ b/ui/gfx/compositor/compositor.gyp
@@ -106,8 +106,8 @@
'target_name': 'compositor_test_support',
'type': 'static_library',
'dependencies': [
- '<(DEPTH)/webkit/support/webkit_support.gyp:webkit_support',
- '<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
+ '<(DEPTH)/base/base.gyp:base',
+ '<(DEPTH)/skia/skia.gyp:skia',
],
'sources': [
'compositor_test_support.cc',
@@ -117,8 +117,24 @@
['use_webkit_compositor == 1', {
'dependencies': [
'<(DEPTH)/webkit/support/webkit_support.gyp:webkit_support',
+ '<(DEPTH)/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
],
}],
+ ['views_compositor==1', {
+ 'sources': [
+ 'compositor.cc',
+ 'compositor.h',
+ 'layer.cc',
+ 'layer.h',
+ 'layer_animator.cc',
+ 'layer_animator.h',
+ 'layer_animator_delegate.h',
+ 'test_compositor.cc',
+ 'test_compositor.h',
+ 'test_texture.cc',
+ 'test_texture.h',
+ ],
+ }],
],
},
{
@@ -142,8 +158,6 @@
'layer_animator_unittest.cc',
'layer_unittest.cc',
'run_all_unittests.cc',
- 'test_compositor.cc',
- 'test_compositor.h',
'test_compositor_host.h',
'test_compositor_host_linux.cc',
'test_compositor_host_win.cc',
diff --git a/ui/gfx/compositor/compositor.h b/ui/gfx/compositor/compositor.h
index 574fed8..4ec89da 100644
--- a/ui/gfx/compositor/compositor.h
+++ b/ui/gfx/compositor/compositor.h
@@ -137,6 +137,16 @@ class COMPOSITOR_EXPORT Compositor : public base::RefCounted<Compositor> {
void RemoveObserver(CompositorObserver* observer);
bool HasObserver(CompositorObserver* observer);
+ static void set_compositor_factory_for_testing(
+ ui::Compositor*(*factory)(ui::CompositorDelegate* owner)) {
+ compositor_factory_ = factory;
+ }
+
+ static ui::Compositor* (*compositor_factory())(
+ ui::CompositorDelegate* owner) {
+ return compositor_factory_;
+ }
+
protected:
Compositor(CompositorDelegate* delegate, const gfx::Size& size);
virtual ~Compositor();
@@ -169,6 +179,12 @@ class COMPOSITOR_EXPORT Compositor : public base::RefCounted<Compositor> {
ObserverList<CompositorObserver> observer_list_;
+ // Factory used to create Compositors. Settable by tests.
+ // The delegate can be NULL if you don't wish to catch the ScheduleDraw()
+ // calls to it.
+ static ui::Compositor*(*compositor_factory_)(
+ ui::CompositorDelegate* delegate);
+
friend class base::RefCounted<Compositor>;
};
diff --git a/ui/gfx/compositor/compositor_test_support.cc b/ui/gfx/compositor/compositor_test_support.cc
index e72bd0c..d9e88e2 100644
--- a/ui/gfx/compositor/compositor_test_support.cc
+++ b/ui/gfx/compositor/compositor_test_support.cc
@@ -9,6 +9,11 @@
#include "webkit/glue/webkitplatformsupport_impl.h"
#endif
+#if defined(VIEWS_COMPOSITOR)
+#include "ui/gfx/compositor/compositor.h"
+#include "ui/gfx/compositor/test_compositor.h"
+#endif
+
namespace ui {
#if defined(USE_WEBKIT_COMPOSITOR)
@@ -32,4 +37,19 @@ void CompositorTestSupport::Terminate() {
#endif
}
+void CompositorTestSupport::SetupMockCompositor() {
+#if defined(USE_WEBKIT_COMPOSITOR)
+ // TODO(backer): We've got dependencies in Layer that require
+ // WebKit support even though we're mocking the Compositor. We
+ // would ideally mock out these unnecessary dependencies as well.
+ DCHECK(g_webkit_support);
+#endif
+
+#if defined(VIEWS_COMPOSITOR)
+ // Use a mock compositor that noops draws.
+ ui::Compositor::set_compositor_factory_for_testing(
+ ui::TestCompositor::Create);
+#endif
+}
+
} // namespace ui
diff --git a/ui/gfx/compositor/compositor_test_support.h b/ui/gfx/compositor/compositor_test_support.h
index de520a0..cd7ea2e 100644
--- a/ui/gfx/compositor/compositor_test_support.h
+++ b/ui/gfx/compositor/compositor_test_support.h
@@ -10,8 +10,13 @@ namespace ui {
class CompositorTestSupport {
public:
+ // Called by programs that want to use a real compositor,
+ // but skip the typical initialization of browser_main.cc.
static void Initialize();
static void Terminate();
+
+ // Called by tests that want to use a mocked compositor.
+ static void SetupMockCompositor();
};
} // namespace ui
diff --git a/ui/gfx/compositor/layer_unittest.cc b/ui/gfx/compositor/layer_unittest.cc
index aa230f9..33ecee9 100644
--- a/ui/gfx/compositor/layer_unittest.cc
+++ b/ui/gfx/compositor/layer_unittest.cc
@@ -238,7 +238,7 @@ class LayerWithDelegateTest : public testing::Test {
// Overridden from testing::Test:
virtual void SetUp() OVERRIDE {
- compositor_ = new TestCompositor();
+ compositor_ = new TestCompositor(NULL);
}
virtual void TearDown() OVERRIDE {
diff --git a/ui/gfx/compositor/test_compositor.cc b/ui/gfx/compositor/test_compositor.cc
index f34021e..4bc6faa 100644
--- a/ui/gfx/compositor/test_compositor.cc
+++ b/ui/gfx/compositor/test_compositor.cc
@@ -19,9 +19,11 @@ class TestCompositorDelegate : public ui::CompositorDelegate {
DISALLOW_COPY_AND_ASSIGN(TestCompositorDelegate);
};
-TestCompositor::TestCompositor()
- : Compositor(new TestCompositorDelegate, gfx::Size(100, 100)) {
- owned_delegate_.reset(static_cast<TestCompositorDelegate*>(delegate()));
+TestCompositor::TestCompositor(CompositorDelegate *owner)
+ : Compositor((owner ? owner : new TestCompositorDelegate),
+ gfx::Size(100, 100)) {
+ if (!owner)
+ owned_delegate_.reset(static_cast<TestCompositorDelegate*>(delegate()));
}
TestCompositor::~TestCompositor() {
@@ -46,6 +48,10 @@ void TestCompositor::DrawTree() {
#endif
}
+ui::Compositor* TestCompositor::Create(ui::CompositorDelegate* owner) {
+ return new ui::TestCompositor(owner);
+}
+
void TestCompositor::OnWidgetSizeChanged() {
}
diff --git a/ui/gfx/compositor/test_compositor.h b/ui/gfx/compositor/test_compositor.h
index 6af5a94..6472496 100644
--- a/ui/gfx/compositor/test_compositor.h
+++ b/ui/gfx/compositor/test_compositor.h
@@ -18,7 +18,7 @@ class TestCompositorDelegate;
// Trivial Compositor implementation that creates Textures of type TestTexture.
class TestCompositor : public ui::Compositor {
public:
- TestCompositor();
+ explicit TestCompositor(CompositorDelegate* owner);
virtual ~TestCompositor();
// ui::Compositor:
@@ -28,6 +28,9 @@ class TestCompositor : public ui::Compositor {
virtual void Blur(const gfx::Rect& bounds) OVERRIDE;
virtual void DrawTree() OVERRIDE;
+ // A simple factory that creates a test compositor with a given delegate
+ static ui::Compositor* Create(ui::CompositorDelegate* owner);
+
protected:
virtual void OnWidgetSizeChanged() OVERRIDE;
diff --git a/views/run_all_unittests.cc b/views/run_all_unittests.cc
index e9749ce..631db9e 100644
--- a/views/run_all_unittests.cc
+++ b/views/run_all_unittests.cc
@@ -19,11 +19,8 @@ class ViewTestSuite : public base::TestSuite {
ui::RegisterPathProvider();
ui::ResourceBundle::InitSharedInstance("en-US");
-#if defined(OS_LINUX)
- // Disable GPU browser compositor during unit tests.
- views::View::set_use_acceleration_when_possible(false);
-#endif
ui::CompositorTestSupport::Initialize();
+ ui::CompositorTestSupport::SetupMockCompositor();
}
virtual void Shutdown() {
diff --git a/views/test/views_test_base.cc b/views/test/views_test_base.cc
index 264a58a..0a3568a 100644
--- a/views/test/views_test_base.cc
+++ b/views/test/views_test_base.cc
@@ -8,9 +8,6 @@
#include <ole2.h>
#endif
-#include "ui/gfx/compositor/test_compositor.h"
-#include "views/widget/widget.h"
-
#if defined(USE_AURA)
#include "ui/aura/desktop.h"
#include "ui/aura/test/test_desktop_delegate.h"
@@ -18,10 +15,6 @@
namespace views {
-static ui::Compositor* TestCreateCompositor() {
- return new ui::TestCompositor();
-}
-
ViewsTestBase::ViewsTestBase()
: setup_called_(false),
teardown_called_(false) {
@@ -29,10 +22,7 @@ ViewsTestBase::ViewsTestBase()
OleInitialize(NULL);
#endif
#if defined(USE_AURA)
- aura::Desktop::set_compositor_factory_for_testing(&TestCreateCompositor);
new aura::test::TestDesktopDelegate;
-#else
- Widget::set_compositor_factory_for_testing(&TestCreateCompositor);
#endif
}
@@ -60,11 +50,6 @@ void ViewsTestBase::TearDown() {
teardown_called_ = true;
views_delegate_.reset();
testing::Test::TearDown();
-#if defined(USE_AURA)
- aura::Desktop::set_compositor_factory_for_testing(NULL);
-#else
- Widget::set_compositor_factory_for_testing(NULL);
-#endif
}
void ViewsTestBase::RunPendingMessages() {
diff --git a/views/widget/native_widget_gtk.cc b/views/widget/native_widget_gtk.cc
index d344b1d..d9cd0dd 100644
--- a/views/widget/native_widget_gtk.cc
+++ b/views/widget/native_widget_gtk.cc
@@ -691,8 +691,8 @@ void NativeWidgetGtk::InitNativeWidget(const Widget::InitParams& params) {
}
if (View::get_use_acceleration_when_possible()) {
- if (Widget::compositor_factory()) {
- compositor_ = (*Widget::compositor_factory())();
+ if (ui::Compositor::compositor_factory()) {
+ compositor_ = (*ui::Compositor::compositor_factory())(this);
} else {
gint width, height;
gdk_drawable_get_size(window_contents_->window, &width, &height);
diff --git a/views/widget/native_widget_wayland.cc b/views/widget/native_widget_wayland.cc
index 0f5616e..d85db33 100644
--- a/views/widget/native_widget_wayland.cc
+++ b/views/widget/native_widget_wayland.cc
@@ -83,8 +83,8 @@ void NativeWidgetWayland::InitNativeWidget(const Widget::InitParams& params) {
SetNativeWindowProperty(kNativeWidgetKey, this);
if (View::get_use_acceleration_when_possible()) {
- if (Widget::compositor_factory()) {
- compositor_ = (*Widget::compositor_factory())();
+ if (ui::Compositor::compositor_factory()) {
+ compositor_ = (*ui::Compositor::compositor_factory())(this);
} else {
compositor_ = ui::Compositor::Create(this,
egl_window_,
diff --git a/views/widget/native_widget_win.cc b/views/widget/native_widget_win.cc
index 92b83ea..60dae84 100644
--- a/views/widget/native_widget_win.cc
+++ b/views/widget/native_widget_win.cc
@@ -1290,8 +1290,8 @@ LRESULT NativeWidgetWin::OnCreate(CREATESTRUCT* create_struct) {
#if defined(VIEWS_COMPOSITOR)
if (View::get_use_acceleration_when_possible()) {
- if (Widget::compositor_factory()) {
- compositor_ = (*Widget::compositor_factory())();
+ if (ui::Compositor::compositor_factory()) {
+ compositor_ = (*Widget::compositor_factory())(this);
} else {
CRect window_rect;
GetClientRect(&window_rect);
diff --git a/views/widget/widget.cc b/views/widget/widget.cc
index b837772..6c8dbcc 100644
--- a/views/widget/widget.cc
+++ b/views/widget/widget.cc
@@ -1100,9 +1100,6 @@ void Widget::DestroyRootView() {
////////////////////////////////////////////////////////////////////////////////
// Widget, private:
-// static
-ui::Compositor*(*Widget::compositor_factory_)() = NULL;
-
bool Widget::ShouldReleaseCaptureOnMouseReleased() const {
return true;
}
diff --git a/views/widget/widget.h b/views/widget/widget.h
index e361c59..296cab0 100644
--- a/views/widget/widget.h
+++ b/views/widget/widget.h
@@ -496,13 +496,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
return non_client_view_ ? non_client_view_->client_view() : NULL;
}
- static void set_compositor_factory_for_testing(ui::Compositor*(*factory)()) {
- compositor_factory_ = factory;
- }
- static ui::Compositor* (*compositor_factory())() {
- return compositor_factory_;
- }
-
const ui::Compositor* GetCompositor() const;
ui::Compositor* GetCompositor();
@@ -722,9 +715,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// See |is_top_level()| accessor.
bool is_top_level_;
- // Factory used to create Compositors. Settable by tests.
- static ui::Compositor*(*compositor_factory_)();
-
// Tracks whether native widget has been initialized.
bool native_widget_initialized_;