// Copyright 2013 The Flutter 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 FLUTTER_FLOW_TESTING_MOCK_EMBEDDER_H_ #define FLUTTER_FLOW_TESTING_MOCK_EMBEDDER_H_ #include "flutter/flow/embedded_views.h" namespace flutter { namespace testing { class MockViewEmbedder : public ExternalViewEmbedder { public: MockViewEmbedder(); ~MockViewEmbedder(); void AddCanvas(DlCanvas* canvas); // |ExternalViewEmbedder| DlCanvas* GetRootCanvas() override; // |ExternalViewEmbedder| void CancelFrame() override; // |ExternalViewEmbedder| void BeginFrame(GrDirectContext* context, const fml::RefPtr& raster_thread_merger) override; // |ExternalViewEmbedder| void PrepareFlutterView(SkISize frame_size, double device_pixel_ratio) override; // |ExternalViewEmbedder| void PrerollCompositeEmbeddedView( int64_t view_id, std::unique_ptr params) override; // |ExternalViewEmbedder| DlCanvas* CompositeEmbeddedView(int64_t view_id) override; std::vector prerolled_views() const { return prerolled_views_; } std::vector painted_views() const { return painted_views_; } private: std::deque contexts_; std::vector prerolled_views_; std::vector painted_views_; }; } // namespace testing } // namespace flutter #endif // FLUTTER_FLOW_TESTING_MOCK_EMBEDDER_H_