@@ -131,7 +131,7 @@ struct PlatformView {
131131 SkRect clipped_frame;
132132
133133 explicit PlatformView (const EmbedderExternalView* view) {
134- assert (view->HasPlatformView ());
134+ FML_DCHECK (view->HasPlatformView ());
135135 view_identifier = view->GetViewIdentifier ();
136136 params = view->GetEmbeddedViewParams ();
137137
@@ -140,23 +140,35 @@ struct PlatformView {
140140 for (auto i = params->mutatorsStack ().Begin ();
141141 i != params->mutatorsStack ().End (); ++i) {
142142 const auto & m = *i;
143- if (m->GetType () == MutatorType::kTransform ) {
144- transform.preConcat (m->GetMatrix ());
145- } else if (m->GetType () == MutatorType::kClipRect ) {
146- auto rect = transform.mapRect (m->GetRect ());
147- if (!clipped_frame.intersect (rect)) {
148- clipped_frame = SkRect::MakeEmpty ();
143+ switch (m->GetType ()) {
144+ case kClipRect : {
145+ auto rect = transform.mapRect (m->GetRect ());
146+ if (!clipped_frame.intersect (rect)) {
147+ clipped_frame = SkRect::MakeEmpty ();
148+ }
149+ break ;
149150 }
150- } else if (m->GetType () == MutatorType::kClipRRect ) {
151- auto rect = transform.mapRect (m->GetRRect ().getBounds ());
152- if (!clipped_frame.intersect (rect)) {
153- clipped_frame = SkRect::MakeEmpty ();
151+ case kClipRRect : {
152+ auto rect = transform.mapRect (m->GetRRect ().getBounds ());
153+ if (!clipped_frame.intersect (rect)) {
154+ clipped_frame = SkRect::MakeEmpty ();
155+ }
156+ break ;
154157 }
155- } else if (m->GetType () == MutatorType::kClipPath ) {
156- auto rect = transform.mapRect (m->GetPath ().getBounds ());
157- if (!clipped_frame.intersect (rect)) {
158- clipped_frame = SkRect::MakeEmpty ();
158+ case kClipPath : {
159+ auto rect = transform.mapRect (m->GetPath ().getBounds ());
160+ if (!clipped_frame.intersect (rect)) {
161+ clipped_frame = SkRect::MakeEmpty ();
162+ }
163+ break ;
159164 }
165+ case kTransform : {
166+ transform.preConcat (m->GetMatrix ());
167+ break ;
168+ }
169+ case kOpacity :
170+ case kBackdropFilter :
171+ break ;
160172 }
161173 }
162174 }
@@ -254,8 +266,8 @@ class Layer {
254266 std::vector<PlatformView> platform_views_;
255267 std::vector<EmbedderExternalView*> flutter_contents_;
256268 DlRegion flutter_contents_region_;
257- friend class LayerBuilder ;
258269 std::unique_ptr<EmbedderRenderTarget> render_target_;
270+ friend class LayerBuilder ;
259271};
260272
261273// / A layout builder is responsible for building an optimized list of Layers
@@ -344,7 +356,7 @@ class LayerBuilder {
344356 }
345357
346358 void AddFlutterContents (EmbedderExternalView* contents) {
347- assert (contents->HasEngineRenderedContents ());
359+ FML_DCHECK (contents->HasEngineRenderedContents ());
348360
349361 DlRegion region = contents->GetDlRegion ();
350362 GetLayerForFlutterContentsRegion (region).AddFlutterContents (contents,
@@ -420,9 +432,8 @@ void EmbedderExternalViewEmbedder::SubmitFrame(
420432 }
421433 if (target != nullptr ) {
422434 return target;
423- } else {
424- return create_render_target_callback_ (context, aiks_context, config);
425435 }
436+ return create_render_target_callback_ (context, aiks_context, config);
426437 });
427438
428439 // This is where unused render targets will be collected. Control may flow to
0 commit comments