| // Copyright 2016 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. |
| |
| #include "flutter/lib/ui/semantics/semantics_update_builder.h" |
| |
| #include <memory> |
| |
| #include "flutter/lib/ui/painting/matrix.h" |
| #include "lib/tonic/converter/dart_converter.h" |
| #include "lib/tonic/dart_args.h" |
| #include "lib/tonic/dart_binding_macros.h" |
| #include "lib/tonic/dart_library_natives.h" |
| |
| namespace blink { |
| |
| IMPLEMENT_WRAPPERTYPEINFO(ui, SemanticsUpdate); |
| |
| #define FOR_EACH_BINDING(V) V(SemanticsUpdate, dispose) |
| |
| DART_BIND_ALL(SemanticsUpdate, FOR_EACH_BINDING) |
| |
| ftl::RefPtr<SemanticsUpdate> SemanticsUpdate::create( |
| std::vector<SemanticsNode> nodes) { |
| return ftl::MakeRefCounted<SemanticsUpdate>(std::move(nodes)); |
| } |
| |
| SemanticsUpdate::SemanticsUpdate(std::vector<SemanticsNode> nodes) |
| : nodes_(std::move(nodes)) {} |
| |
| SemanticsUpdate::~SemanticsUpdate() = default; |
| |
| std::vector<SemanticsNode> SemanticsUpdate::takeNodes() { |
| return std::move(nodes_); |
| } |
| |
| void SemanticsUpdate::dispose() { |
| ClearDartWrapper(); |
| } |
| |
| } // namespace blink |