Make sure webrtc::VideoSourceInterface is released on the main render thread.
[chromium-blink-merge.git] / content / public / test / unittest_test_suite.cc
blob934eb44b860c28c020ede27b3efbd746b045bec3
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/public/test/unittest_test_suite.h"
7 #include "base/logging.h"
8 #include "base/rand_util.h"
9 #include "base/test/test_suite.h"
10 #include "third_party/WebKit/public/platform/Platform.h"
11 #include "third_party/WebKit/public/web/WebKit.h"
13 namespace content {
15 #if !defined(OS_IOS)
16 // A stubbed out WebKit platform support impl.
17 class UnitTestTestSuite::UnitTestWebKitPlatformSupport
18 : public blink::Platform {
19 public:
20 UnitTestWebKitPlatformSupport() {}
21 virtual ~UnitTestWebKitPlatformSupport() {}
22 virtual void cryptographicallyRandomValues(unsigned char* buffer,
23 size_t length) OVERRIDE {
24 base::RandBytes(buffer, length);
26 virtual const unsigned char* getTraceCategoryEnabledFlag(
27 const char* categoryName) {
28 // Causes tracing macros to be disabled.
29 static const unsigned char kEnabled = 0;
30 return &kEnabled;
33 #endif // !OS_IOS
35 UnitTestTestSuite::UnitTestTestSuite(base::TestSuite* test_suite)
36 : test_suite_(test_suite) {
37 DCHECK(test_suite);
38 #if !defined(OS_IOS)
39 webkit_platform_support_.reset(new UnitTestWebKitPlatformSupport);
40 blink::initialize(webkit_platform_support_.get());
41 #endif
44 UnitTestTestSuite::~UnitTestTestSuite() {
45 #if !defined(OS_IOS)
46 blink::shutdown();
47 #endif
50 int UnitTestTestSuite::Run() {
51 return test_suite_->Run();
54 } // namespace content