diff options
author | kalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-07 22:55:44 +0000 |
---|---|---|
committer | kalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-07 22:55:44 +0000 |
commit | f9451a81caf32ebae0c5e13903698b6270ee4b9d (patch) | |
tree | e897644ae1ea172d6ac5d28a669e61d8bbad39cc /components/test | |
parent | ef0efbe57a1ae50c4cae7292ad36d84706712446 (diff) | |
download | chromium_src-f9451a81caf32ebae0c5e13903698b6270ee4b9d.zip chromium_src-f9451a81caf32ebae0c5e13903698b6270ee4b9d.tar.gz chromium_src-f9451a81caf32ebae0c5e13903698b6270ee4b9d.tar.bz2 |
Revert 216278 "Clean up compositor initialization/destruction."
interactive_ui_test failures in TabDragging tests:
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%282%29/builds/17046
> 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
TBR=danakj@chromium.org
Review URL: https://codereview.chromium.org/22603007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216294 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'components/test')
-rw-r--r-- | components/test/run_all_unittests.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/components/test/run_all_unittests.cc b/components/test/run_all_unittests.cc index a881798..49032ba 100644 --- a/components/test/run_all_unittests.cc +++ b/components/test/run_all_unittests.cc @@ -6,6 +6,7 @@ #include "base/test/test_suite.h" #include "content/public/test/test_content_client_initializer.h" #include "testing/gtest/include/gtest/gtest.h" +#include "ui/compositor/compositor_setup.h" namespace components { @@ -33,6 +34,9 @@ class ComponentsUnitTestEventListener : public testing::EmptyTestEventListener { int main(int argc, char** argv) { base::TestSuite test_suite(argc, argv); + // Mock out the compositor on platforms that use it. + ui::SetupTestCompositor(); + // The listener will set up common test environment for all components unit // tests. testing::TestEventListeners& listeners = |