| Index: cc/test/layer_tree_test.h
|
| diff --git a/cc/test/layer_tree_test.h b/cc/test/layer_tree_test.h
|
| deleted file mode 100644
|
| index 35a35464424263fc8ba55f915d49a31b7066cef2..0000000000000000000000000000000000000000
|
| --- a/cc/test/layer_tree_test.h
|
| +++ /dev/null
|
| @@ -1,388 +0,0 @@
|
| -// Copyright 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CC_TEST_LAYER_TREE_TEST_H_
|
| -#define CC_TEST_LAYER_TREE_TEST_H_
|
| -
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/threading/thread.h"
|
| -#include "cc/animation/animation_delegate.h"
|
| -#include "cc/trees/layer_tree_host.h"
|
| -#include "cc/trees/layer_tree_host_impl.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace cc {
|
| -class FakeExternalBeginFrameSource;
|
| -class FakeLayerTreeHostClient;
|
| -class FakeOutputSurface;
|
| -class LayerImpl;
|
| -class LayerTreeHost;
|
| -class LayerTreeHostClient;
|
| -class LayerTreeHostImpl;
|
| -class TestContextProvider;
|
| -class TestGpuMemoryBufferManager;
|
| -class TestWebGraphicsContext3D;
|
| -
|
| -// Used by test stubs to notify the test when something interesting happens.
|
| -class TestHooks : public AnimationDelegate {
|
| - public:
|
| - TestHooks();
|
| - ~TestHooks() override;
|
| -
|
| - void ReadSettings(const LayerTreeSettings& settings);
|
| -
|
| - virtual scoped_ptr<Rasterizer> CreateRasterizer(LayerTreeHostImpl* host_impl);
|
| - virtual void CreateResourceAndTileTaskWorkerPool(
|
| - LayerTreeHostImpl* host_impl,
|
| - scoped_ptr<TileTaskWorkerPool>* tile_task_worker_pool,
|
| - scoped_ptr<ResourcePool>* resource_pool,
|
| - scoped_ptr<ResourcePool>* staging_resource_pool);
|
| - virtual void WillBeginImplFrameOnThread(LayerTreeHostImpl* host_impl,
|
| - const BeginFrameArgs& args) {}
|
| - virtual void BeginMainFrameAbortedOnThread(LayerTreeHostImpl* host_impl,
|
| - CommitEarlyOutReason reason) {}
|
| - virtual void BeginCommitOnThread(LayerTreeHostImpl* host_impl) {}
|
| - virtual void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) {}
|
| - virtual void WillActivateTreeOnThread(LayerTreeHostImpl* host_impl) {}
|
| - virtual void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) {}
|
| - virtual void InitializedRendererOnThread(LayerTreeHostImpl* host_impl,
|
| - bool success) {}
|
| - virtual DrawResult PrepareToDrawOnThread(
|
| - LayerTreeHostImpl* host_impl,
|
| - LayerTreeHostImpl::FrameData* frame_data,
|
| - DrawResult draw_result);
|
| - virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) {}
|
| - virtual void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) {}
|
| - virtual void SwapBuffersCompleteOnThread(LayerTreeHostImpl* host_impl) {}
|
| - virtual void NotifyReadyToActivateOnThread(LayerTreeHostImpl* host_impl) {}
|
| - virtual void NotifyReadyToDrawOnThread(LayerTreeHostImpl* host_impl) {}
|
| - virtual void NotifyTileStateChangedOnThread(LayerTreeHostImpl* host_impl,
|
| - const Tile* tile) {}
|
| - virtual void AnimateLayers(LayerTreeHostImpl* host_impl,
|
| - base::TimeTicks monotonic_time) {}
|
| - virtual void UpdateAnimationState(LayerTreeHostImpl* host_impl,
|
| - bool has_unfinished_animation) {}
|
| - virtual void WillAnimateLayers(LayerTreeHostImpl* host_impl,
|
| - base::TimeTicks monotonic_time) {}
|
| - virtual void ApplyViewportDeltas(
|
| - const gfx::Vector2dF& inner_delta,
|
| - const gfx::Vector2dF& outer_delta,
|
| - const gfx::Vector2dF& elastic_overscroll_delta,
|
| - float scale,
|
| - float top_controls_delta) {}
|
| - virtual void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta,
|
| - float scale,
|
| - float top_controls_delta) {}
|
| - virtual void BeginMainFrame(const BeginFrameArgs& args) {}
|
| - virtual void WillBeginMainFrame() {}
|
| - virtual void DidBeginMainFrame() {}
|
| - virtual void Layout() {}
|
| - virtual void DidInitializeOutputSurface() {}
|
| - virtual void DidFailToInitializeOutputSurface() {}
|
| - virtual void DidAddAnimation() {}
|
| - virtual void WillCommit() {}
|
| - virtual void DidCommit() {}
|
| - virtual void DidCommitAndDrawFrame() {}
|
| - virtual void DidCompleteSwapBuffers() {}
|
| - virtual void DidSetVisibleOnImplTree(LayerTreeHostImpl* host_impl,
|
| - bool visible) {}
|
| - virtual void ScheduleComposite() {}
|
| - virtual void SendBeginFramesToChildren(const BeginFrameArgs& args) {}
|
| -
|
| - // Hooks for SchedulerClient.
|
| - virtual void WillBeginImplFrame(const BeginFrameArgs& args) {}
|
| - virtual void ScheduledActionWillSendBeginMainFrame() {}
|
| - virtual void ScheduledActionSendBeginMainFrame() {}
|
| - virtual void ScheduledActionDrawAndSwapIfPossible() {}
|
| - virtual void ScheduledActionAnimate() {}
|
| - virtual void ScheduledActionCommit() {}
|
| - virtual void ScheduledActionBeginOutputSurfaceCreation() {}
|
| - virtual void ScheduledActionPrepareTiles() {}
|
| -
|
| - // Implementation of AnimationDelegate:
|
| - void NotifyAnimationStarted(base::TimeTicks monotonic_time,
|
| - Animation::TargetProperty target_property,
|
| - int group) override {}
|
| - void NotifyAnimationFinished(base::TimeTicks monotonic_time,
|
| - Animation::TargetProperty target_property,
|
| - int group) override {}
|
| -
|
| - virtual void RequestNewOutputSurface() = 0;
|
| -};
|
| -
|
| -class BeginTask;
|
| -class LayerTreeHostClientForTesting;
|
| -class TimeoutTask;
|
| -
|
| -// The LayerTreeTests runs with the main loop running. It instantiates a single
|
| -// LayerTreeHostForTesting and associated LayerTreeHostImplForTesting and
|
| -// LayerTreeHostClientForTesting.
|
| -//
|
| -// BeginTest() is called once the main message loop is running and the layer
|
| -// tree host is initialized.
|
| -//
|
| -// Key stages of the drawing loop, e.g. drawing or commiting, redirect to
|
| -// LayerTreeTest methods of similar names. To track the commit process, override
|
| -// these functions.
|
| -//
|
| -// The test continues until someone calls EndTest. EndTest can be called on any
|
| -// thread, but be aware that ending the test is an asynchronous process.
|
| -class LayerTreeTest : public testing::Test, public TestHooks {
|
| - public:
|
| - ~LayerTreeTest() override;
|
| -
|
| - virtual void EndTest();
|
| - void EndTestAfterDelayMs(int delay_milliseconds);
|
| -
|
| - void PostAddAnimationToMainThread(Layer* layer_to_receive_animation);
|
| - void PostAddInstantAnimationToMainThread(Layer* layer_to_receive_animation);
|
| - void PostAddLongAnimationToMainThread(Layer* layer_to_receive_animation);
|
| - void PostSetDeferCommitsToMainThread(bool defer_commits);
|
| - void PostSetNeedsCommitToMainThread();
|
| - void PostSetNeedsUpdateLayersToMainThread();
|
| - void PostSetNeedsRedrawToMainThread();
|
| - void PostSetNeedsRedrawRectToMainThread(const gfx::Rect& damage_rect);
|
| - void PostSetVisibleToMainThread(bool visible);
|
| - void PostSetNextCommitForcesRedrawToMainThread();
|
| - void PostCompositeImmediatelyToMainThread();
|
| -
|
| - void DoBeginTest();
|
| - void Timeout();
|
| -
|
| - bool verify_property_trees() const { return verify_property_trees_; }
|
| - void set_verify_property_trees(bool verify_property_trees) {
|
| - verify_property_trees_ = verify_property_trees;
|
| - }
|
| -
|
| - protected:
|
| - LayerTreeTest();
|
| -
|
| - virtual void InitializeSettings(LayerTreeSettings* settings) {}
|
| -
|
| - void RealEndTest();
|
| -
|
| - virtual void DispatchAddAnimation(Layer* layer_to_receive_animation,
|
| - double animation_duration);
|
| - void DispatchSetDeferCommits(bool defer_commits);
|
| - void DispatchSetNeedsCommit();
|
| - void DispatchSetNeedsUpdateLayers();
|
| - void DispatchSetNeedsRedraw();
|
| - void DispatchSetNeedsRedrawRect(const gfx::Rect& damage_rect);
|
| - void DispatchSetVisible(bool visible);
|
| - void DispatchSetNextCommitForcesRedraw();
|
| - void DispatchDidAddAnimation();
|
| - void DispatchCompositeImmediately();
|
| -
|
| - virtual void AfterTest() = 0;
|
| - virtual void WillBeginTest();
|
| - virtual void BeginTest() = 0;
|
| - virtual void SetupTree();
|
| -
|
| - virtual void RunTest(bool threaded,
|
| - bool delegating_renderer,
|
| - bool impl_side_painting);
|
| - virtual void RunTestWithImplSidePainting();
|
| -
|
| - bool HasImplThread() { return proxy() ? proxy()->HasImplThread() : false; }
|
| - base::SingleThreadTaskRunner* ImplThreadTaskRunner() {
|
| - DCHECK(proxy());
|
| - return proxy()->ImplThreadTaskRunner() ? proxy()->ImplThreadTaskRunner()
|
| - : main_task_runner_.get();
|
| - }
|
| - base::SingleThreadTaskRunner* MainThreadTaskRunner() {
|
| - return main_task_runner_.get();
|
| - }
|
| - Proxy* proxy() const {
|
| - return layer_tree_host_ ? layer_tree_host_->proxy() : NULL;
|
| - }
|
| - TaskGraphRunner* task_graph_runner() const {
|
| - return task_graph_runner_.get();
|
| - }
|
| -
|
| - bool TestEnded() const { return ended_; }
|
| -
|
| - LayerTreeHost* layer_tree_host();
|
| - bool delegating_renderer() const { return delegating_renderer_; }
|
| - FakeOutputSurface* output_surface() { return output_surface_; }
|
| - int LastCommittedSourceFrameNumber(LayerTreeHostImpl* impl) const;
|
| -
|
| - void DestroyLayerTreeHost();
|
| -
|
| - // By default, output surface recreation is synchronous.
|
| - void RequestNewOutputSurface() override;
|
| - // Override this for pixel tests, where you need a real output surface.
|
| - virtual scoped_ptr<OutputSurface> CreateOutputSurface();
|
| - // Override this for unit tests, which should not produce pixel output.
|
| - virtual scoped_ptr<FakeOutputSurface> CreateFakeOutputSurface();
|
| -
|
| - TestWebGraphicsContext3D* TestContext();
|
| -
|
| - private:
|
| - LayerTreeSettings settings_;
|
| - scoped_ptr<LayerTreeHostClientForTesting> client_;
|
| - scoped_ptr<LayerTreeHost> layer_tree_host_;
|
| - FakeOutputSurface* output_surface_;
|
| - FakeExternalBeginFrameSource* external_begin_frame_source_;
|
| -
|
| - bool beginning_;
|
| - bool end_when_begin_returns_;
|
| - bool timed_out_;
|
| - bool scheduled_;
|
| - bool started_;
|
| - bool ended_;
|
| - bool delegating_renderer_;
|
| - bool verify_property_trees_;
|
| -
|
| - int timeout_seconds_;
|
| -
|
| - scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_;
|
| - scoped_ptr<base::Thread> impl_thread_;
|
| - scoped_ptr<SharedBitmapManager> shared_bitmap_manager_;
|
| - scoped_ptr<TestGpuMemoryBufferManager> gpu_memory_buffer_manager_;
|
| - scoped_ptr<TaskGraphRunner> task_graph_runner_;
|
| - base::CancelableClosure timeout_;
|
| - scoped_refptr<TestContextProvider> compositor_contexts_;
|
| - base::WeakPtr<LayerTreeTest> main_thread_weak_ptr_;
|
| - base::WeakPtrFactory<LayerTreeTest> weak_factory_;
|
| -};
|
| -
|
| -} // namespace cc
|
| -
|
| -#define SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer_MainThreadPaint) { \
|
| - RunTest(false, false, false); \
|
| - } \
|
| - class SingleThreadDirectNoImplNeedsSemicolon##TEST_FIXTURE_NAME {}
|
| -
|
| -#define SINGLE_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer_ImplSidePaint) { \
|
| - RunTest(false, false, true); \
|
| - } \
|
| - class SingleThreadDirectImplNeedsSemicolon##TEST_FIXTURE_NAME {}
|
| -
|
| -#define SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - SINGLE_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - TEST_F(TEST_FIXTURE_NAME, \
|
| - RunSingleThread_DelegatingRenderer_MainThreadPaint) { \
|
| - RunTest(false, true, false); \
|
| - } \
|
| - class SingleThreadDelegatingNoImplNeedsSemicolon##TEST_FIXTURE_NAME {}
|
| -
|
| -#define SINGLE_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - TEST_F(TEST_FIXTURE_NAME, \
|
| - RunSingleThread_DelegatingRenderer_ImplSidePaint) { \
|
| - RunTest(false, true, true); \
|
| - } \
|
| - class SingleThreadDelegatingImplNeedsSemicolon##TEST_FIXTURE_NAME {}
|
| -
|
| -#define SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - SINGLE_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_THREAD_IMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - SINGLE_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_THREAD_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \
|
| - SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_MainThreadPaint) { \
|
| - RunTest(true, false, false); \
|
| - } \
|
| - class MultiThreadDirectNoImplNeedsSemicolon##TEST_FIXTURE_NAME {}
|
| -
|
| -#define MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_ImplSidePaint) { \
|
| - RunTest(true, false, true); \
|
| - } \
|
| - class MultiThreadDirectImplNeedsSemicolon##TEST_FIXTURE_NAME {}
|
| -
|
| -#define MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \
|
| - MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - TEST_F(TEST_FIXTURE_NAME, \
|
| - RunMultiThread_DelegatingRenderer_MainThreadPaint) { \
|
| - RunTest(true, true, false); \
|
| - } \
|
| - class MultiThreadDelegatingNoImplNeedsSemicolon##TEST_FIXTURE_NAME {}
|
| -
|
| -#define MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DelegatingRenderer_ImplSidePaint) { \
|
| - RunTest(true, true, true); \
|
| - } \
|
| - class MultiThreadDelegatingImplNeedsSemicolon##TEST_FIXTURE_NAME {}
|
| -
|
| -#define MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \
|
| - MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define MULTI_THREAD_IMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \
|
| - MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F( \
|
| - TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F( \
|
| - TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F( \
|
| - TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_AND_MULTI_THREAD_IMPL_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#define SINGLE_AND_MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \
|
| - SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -// Some tests want to control when notify ready for activation occurs,
|
| -// but this is not supported in the single-threaded case.
|
| -#define SINGLE_AND_MULTI_THREAD_BLOCKNOTIFY_TEST_F(TEST_FIXTURE_NAME) \
|
| - SINGLE_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \
|
| - MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME)
|
| -
|
| -#endif // CC_TEST_LAYER_TREE_TEST_H_
|
|
|