From cbf42f2066c7fe282cea4aa307505cb73b674d9d Mon Sep 17 00:00:00 2001 From: "danakj@chromium.org" Date: Wed, 7 Aug 2013 21:48:12 +0000 Subject: Clean up compositor initialization/destruction. Moved from https://codereview.chromium.org/21052007/ Currently the ContextFactory is outliving the compositor thread in tests, which is bad since the contexts in there can be bound to the compositor thread. Then we end up reusing those contexts and bad things happen. This enforces ordering for initializing and destroying the compositor as follows: Initialize ContextFactory ..Compositor::Initialize ....Create Compositor instances ....Delete Compositor instances ..Compositor::Terminate The Compositor::Terminate call also destroys the ContextFactory. The ContextFactory can be initialized in one of two ways: 1. ImageTransportFactory::Initialize will set up the ContextFactory. This is used by things that invoke all of content/browser/. 2. Compositor::InitializeContextFactoryForTests() must be explicitly called by any unit tests that create a compositor. Since some tests want a real GL context and some don't, this does away with the misnomer of initializing the Compositor once for the entire test suite, and then re-initializing somewhere in the middle of the test suite. Instead, each test must Initialize/Terminate the compositor with the ContextFactory type of its choice. Incidently, this test enables 20 tests on aura or win_aura that were previously being skipped. TBR=piman@chromium.org BUG=258625 Review URL: https://codereview.chromium.org/22293003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216278 0039d316-1c4b-4281-b951-d872f2087c98 --- ui/snapshot/snapshot_aura_unittest.cc | 1 - 1 file changed, 1 deletion(-) (limited to 'ui/snapshot') diff --git a/ui/snapshot/snapshot_aura_unittest.cc b/ui/snapshot/snapshot_aura_unittest.cc index 206069b..b72629c 100644 --- a/ui/snapshot/snapshot_aura_unittest.cc +++ b/ui/snapshot/snapshot_aura_unittest.cc @@ -11,7 +11,6 @@ #include "ui/aura/test/test_window_delegate.h" #include "ui/aura/test/test_windows.h" #include "ui/aura/window.h" -#include "ui/compositor/compositor_setup.h" #include "ui/compositor/layer.h" #include "ui/gfx/canvas.h" #include "ui/gfx/gfx_paths.h" -- cgit v1.1