gitextract_4zx3e2p3/ ├── .clang-format ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── 1-bug-report.en-US.yml │ │ ├── 2-feature-request.en-US.yml │ │ └── config.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── actions/ │ │ ├── android-explorer-build/ │ │ │ └── action.yml │ │ ├── android-sdk-release/ │ │ │ └── action.yml │ │ ├── clay-macos-build/ │ │ │ └── action.yml │ │ ├── common-deps/ │ │ │ └── action.yml │ │ ├── free-android-disk/ │ │ │ └── action.yml │ │ ├── generate-changelog/ │ │ │ └── action.yml │ │ ├── get-latest-tag/ │ │ │ └── action.yml │ │ ├── harmony-explorer-build/ │ │ │ └── action.yml │ │ ├── ios-common-deps/ │ │ │ └── action.yml │ │ ├── ios-explorer-build/ │ │ │ └── action.yml │ │ ├── ios-sdk-publish/ │ │ │ └── action.yml │ │ ├── macos-explorer-build/ │ │ │ └── action.yml │ │ ├── release-changelog/ │ │ │ └── action.yml │ │ ├── setup-android-env/ │ │ │ └── action.yml │ │ ├── windows-common-deps/ │ │ │ └── action.yml │ │ └── windows-explorer-build/ │ │ └── action.yml │ └── workflows/ │ ├── ci.yml │ ├── cocoapods_token_keepalive.yml │ ├── codeql.yml │ ├── css-defines-publish.yml │ ├── issue-management.yml │ ├── lynx-core-publish.yml │ ├── lynx-types-publish.yml │ ├── publish-release.yml │ ├── sdk-release-test.yml │ ├── tasm-publish.yml │ ├── type-config-publish.yml │ └── type-element-api-publish.yml ├── .gitignore ├── .gn ├── .habitat ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .rtf/ │ ├── android-ut-lynx.template │ ├── config │ ├── native-ut-devtool.template │ └── native-ut-lynx.template ├── .tools_shared ├── AGENTS.md ├── BUILD.gn ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── CPPLINT.cfg ├── DEFAULT_REVIEWERS ├── Gemfile ├── LICENSE ├── NOTICE ├── README.md ├── SECURITY.md ├── agents/ │ └── code_review/ │ └── commit_message_format.md ├── base/ │ ├── CPPLINT.cfg │ ├── README.md │ ├── include/ │ │ ├── algorithm.h │ │ ├── auto_create_optional.h │ │ ├── auto_reset.h │ │ ├── base_defines.h │ │ ├── base_export.h │ │ ├── base_public_headers.gni │ │ ├── base_trace/ │ │ │ └── trace_event_utils.h │ │ ├── boost/ │ │ │ └── unordered.h │ │ ├── bundled_optional.h │ │ ├── bundled_optional_lldb.py │ │ ├── cast_util.h │ │ ├── closure.h │ │ ├── compiler_specific.h │ │ ├── concurrent_queue.h │ │ ├── datauri_utils.h │ │ ├── debug/ │ │ │ ├── backtrace.h │ │ │ ├── lynx_assert.h │ │ │ └── lynx_error.h │ │ ├── expected.h │ │ ├── expected_internal.h │ │ ├── file_utils.h │ │ ├── flex_optional.h │ │ ├── float_comparison.h │ │ ├── fml/ │ │ │ ├── LICENSE │ │ │ ├── concurrent_message_loop.h │ │ │ ├── cpu_affinity.h │ │ │ ├── delayed_task.h │ │ │ ├── eintr_wrapper.h │ │ │ ├── fml_trace_event_def.h │ │ │ ├── hash_combine.h │ │ │ ├── macros.h │ │ │ ├── make_copyable.h │ │ │ ├── memory/ │ │ │ │ ├── ref_counted.h │ │ │ │ ├── ref_counted_internal.h │ │ │ │ ├── ref_ptr.h │ │ │ │ ├── ref_ptr_internal.h │ │ │ │ ├── task_runner_checker.h │ │ │ │ ├── weak_ptr.h │ │ │ │ └── weak_ptr_internal.h │ │ │ ├── message_loop.h │ │ │ ├── message_loop_impl.h │ │ │ ├── message_loop_task_queues.h │ │ │ ├── platform/ │ │ │ │ ├── android/ │ │ │ │ │ ├── cpu_affinity.h │ │ │ │ │ └── message_loop_android.h │ │ │ │ ├── darwin/ │ │ │ │ │ ├── cf_utils.h │ │ │ │ │ └── message_loop_darwin.h │ │ │ │ ├── harmony/ │ │ │ │ │ └── message_loop_harmony.h │ │ │ │ ├── linux/ │ │ │ │ │ ├── message_loop_linux.h │ │ │ │ │ └── timerfd.h │ │ │ │ ├── thread_config_setter.h │ │ │ │ └── win/ │ │ │ │ ├── message_loop_win.h │ │ │ │ ├── task_runner_win32.h │ │ │ │ └── task_runner_win32_window.h │ │ │ ├── raster_thread_merger.h │ │ │ ├── shared_thread_merger.h │ │ │ ├── synchronization/ │ │ │ │ ├── atomic_object.h │ │ │ │ ├── count_down_latch.h │ │ │ │ ├── semaphore.h │ │ │ │ ├── shared_mutex.h │ │ │ │ ├── shared_mutex_posix.h │ │ │ │ ├── shared_mutex_std.h │ │ │ │ ├── sync_switch.h │ │ │ │ └── waitable_event.h │ │ │ ├── task_queue_id.h │ │ │ ├── task_runner.h │ │ │ ├── task_runner_delegate.h │ │ │ ├── task_source.h │ │ │ ├── task_source_grade.h │ │ │ ├── thread.h │ │ │ ├── thread_host.h │ │ │ ├── time/ │ │ │ │ ├── chrono_timestamp_provider.h │ │ │ │ ├── time_delta.h │ │ │ │ ├── time_point.h │ │ │ │ ├── timer.h │ │ │ │ └── timestamp_provider.h │ │ │ ├── unique_fd.h │ │ │ ├── unique_object.h │ │ │ └── wakeable.h │ │ ├── geometry/ │ │ │ ├── point.h │ │ │ ├── rect.h │ │ │ └── size.h │ │ ├── hybrid_map.h │ │ ├── linked_hash_map.h │ │ ├── linked_hash_map_lldb.py │ │ ├── log/ │ │ │ ├── alog_wrapper.h │ │ │ ├── log_stream.h │ │ │ ├── logging.h │ │ │ ├── logging_base.h │ │ │ └── logging_darwin.h │ │ ├── lru_cache.h │ │ ├── lynx_actor.h │ │ ├── md5.h │ │ ├── memory/ │ │ │ └── memory_pressure_level.h │ │ ├── no_destructor.h │ │ ├── path_utils.h │ │ ├── platform/ │ │ │ ├── android/ │ │ │ │ ├── java_type.h │ │ │ │ ├── jni_convert_helper.h │ │ │ │ ├── jni_utils.h │ │ │ │ └── scoped_java_ref.h │ │ │ ├── darwin/ │ │ │ │ └── type_utils.h │ │ │ └── harmony/ │ │ │ ├── harmony_vsync_manager.h │ │ │ └── napi_util.h │ │ ├── position.h │ │ ├── shared_vector.h │ │ ├── sorted_for_each.h │ │ ├── string/ │ │ │ ├── quickjs_dtoa.h │ │ │ ├── string_conversion_win.h │ │ │ ├── string_number_convert.h │ │ │ └── string_utils.h │ │ ├── thread/ │ │ │ ├── base_semaphore.h │ │ │ ├── pthread_rw_lock_guard.h │ │ │ └── timed_task.h │ │ ├── timer/ │ │ │ └── time_utils.h │ │ ├── to_underlying.h │ │ ├── type_traits_addon.h │ │ ├── value/ │ │ │ ├── array.h │ │ │ ├── base_string.h │ │ │ ├── base_string_lldb.py │ │ │ ├── base_value.h │ │ │ ├── byte_array.h │ │ │ ├── lynx_api_types.h │ │ │ ├── lynx_value_api.h │ │ │ ├── lynx_value_extended.h │ │ │ ├── lynx_value_lldb.py │ │ │ ├── lynx_value_types.h │ │ │ ├── path_parser.h │ │ │ ├── ref_counted_class.h │ │ │ ├── ref_type.h │ │ │ └── table.h │ │ ├── vector.h │ │ ├── vector2d.h │ │ ├── vector_helper.h │ │ ├── vector_lldb.py │ │ ├── version.h │ │ └── version_util.h │ ├── platform/ │ │ ├── android/ │ │ │ ├── .gitignore │ │ │ ├── BUILD.gn │ │ │ ├── CMakeLists.txt │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── base/ │ │ │ │ ├── CalledByNative.java │ │ │ │ ├── IBaseNativeLibraryLoader.java │ │ │ │ ├── LynxBaseEnv.java │ │ │ │ ├── LynxBaseTrace.java │ │ │ │ ├── log/ │ │ │ │ │ ├── AbsBaseLogDelegate.java │ │ │ │ │ └── LynxLog.java │ │ │ │ └── memory/ │ │ │ │ ├── MemoryPressureCallback.java │ │ │ │ └── MemoryPressureLevel.java │ │ │ └── jni/ │ │ │ ├── .gitignore │ │ │ ├── BUILD.gn │ │ │ └── jni_configs.yml │ │ ├── darwin/ │ │ │ ├── BUILD.gn │ │ │ ├── LynxBaseDefines.h │ │ │ ├── LynxBaseEnv.h │ │ │ ├── LynxBaseEnv.mm │ │ │ ├── log/ │ │ │ │ ├── LynxLog.h │ │ │ │ └── LynxLog.mm │ │ │ └── trace/ │ │ │ ├── LynxBaseTrace.h │ │ │ └── LynxBaseTrace.mm │ │ ├── harmony/ │ │ │ ├── .gitignore │ │ │ ├── .ohpmignore │ │ │ ├── BUILD.gn │ │ │ ├── Index.ets │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── build-profile.json5 │ │ │ ├── consumer-rules.txt │ │ │ ├── hvigorfile.ts │ │ │ ├── obfuscation-rules.txt │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ ├── cpp/ │ │ │ │ ├── entry.cc │ │ │ │ └── types/ │ │ │ │ └── liblynxbase/ │ │ │ │ ├── index.d.ts │ │ │ │ └── oh-package.json5 │ │ │ └── main/ │ │ │ ├── ets/ │ │ │ │ ├── Index.ets │ │ │ │ ├── LynxBaseEnv.ets │ │ │ │ ├── LynxBaseTrace.ets │ │ │ │ ├── log/ │ │ │ │ │ └── LynxLog.ets │ │ │ │ └── service/ │ │ │ │ ├── IBaseServiceProvider.ets │ │ │ │ ├── ILynxBaseLogService.ets │ │ │ │ ├── ILynxBaseTraceService.ets │ │ │ │ └── LynxBaseServiceCenter.ets │ │ │ └── module.json5 │ │ └── windows/ │ │ ├── BUILD.gn │ │ ├── lynx_base_env.cc │ │ └── lynx_base_env.h │ ├── src/ │ │ ├── BUILD.gn │ │ ├── algorithm_unittest.cc │ │ ├── auto_create_optional_unittest.cc │ │ ├── auto_reset_unittest.cc │ │ ├── base.gni │ │ ├── base_trace/ │ │ │ ├── base_trace_event_def.h │ │ │ ├── trace_android.cc │ │ │ ├── trace_event.h │ │ │ ├── trace_event_utils.cc │ │ │ ├── trace_harmony.cc │ │ │ └── trace_harmony.h │ │ ├── boost/ │ │ │ └── unordered_unittest.cc │ │ ├── bundled_optional_unittest.cc │ │ ├── closure_unittest.cc │ │ ├── concurrent_queue_unittest.cc │ │ ├── datauri_utils.cc │ │ ├── datauri_utils_unittest.cc │ │ ├── debug/ │ │ │ ├── backtrace.cc │ │ │ ├── lynx_error.cc │ │ │ └── lynx_error_unittest.cc │ │ ├── expected_unittest.cc │ │ ├── file_utils.cc │ │ ├── file_utils_unittest.cc │ │ ├── flex_optional_unittest.cc │ │ ├── fml/ │ │ │ ├── LICENSE │ │ │ ├── concurrent_message_loop.cc │ │ │ ├── cpu_affinity.cc │ │ │ ├── cpu_affinity_unittests.cc │ │ │ ├── hash_combine_unittests.cc │ │ │ ├── memory/ │ │ │ │ ├── ref_counted_unittest.cc │ │ │ │ ├── task_runner_checker.cc │ │ │ │ ├── task_runner_checker_unittest.cc │ │ │ │ └── weak_ptr_unittest.cc │ │ │ ├── message_loop.cc │ │ │ ├── message_loop_impl.cc │ │ │ ├── message_loop_impl_unittests.cc │ │ │ ├── message_loop_task_queues.cc │ │ │ ├── message_loop_task_queues_merge_unmerge_unittests.cc │ │ │ ├── message_loop_task_queues_unittests.cc │ │ │ ├── message_loop_unittests.cc │ │ │ ├── platform/ │ │ │ │ ├── android/ │ │ │ │ │ ├── cpu_affinity.cc │ │ │ │ │ ├── message_loop_android.cc │ │ │ │ │ ├── message_loop_android_ndk.cc │ │ │ │ │ └── thread_config_setter_android.cc │ │ │ │ ├── darwin/ │ │ │ │ │ ├── cf_utils_unittests.mm │ │ │ │ │ ├── message_loop_darwin.mm │ │ │ │ │ ├── thread_config_setter_darwin.mm │ │ │ │ │ └── thread_name_setter_darwin.cc │ │ │ │ ├── harmony/ │ │ │ │ │ └── message_loop_harmony.cc │ │ │ │ ├── linux/ │ │ │ │ │ ├── message_loop_linux.cc │ │ │ │ │ └── timerfd.cc │ │ │ │ ├── posix/ │ │ │ │ │ └── thread_name_setter_posix.cc │ │ │ │ └── win/ │ │ │ │ ├── message_loop_win.cc │ │ │ │ ├── task_runner_win32.cc │ │ │ │ ├── task_runner_win32_window.cc │ │ │ │ └── thread_name_setter_win.cc │ │ │ ├── raster_thread_merger.cc │ │ │ ├── raster_thread_merger_unittests.cc │ │ │ ├── shared_thread_merger.cc │ │ │ ├── synchronization/ │ │ │ │ ├── count_down_latch.cc │ │ │ │ ├── count_down_latch_unittests.cc │ │ │ │ ├── semaphore.cc │ │ │ │ ├── semaphore_unittest.cc │ │ │ │ ├── shared_mutex_posix.cc │ │ │ │ ├── shared_mutex_std.cc │ │ │ │ ├── sync_switch.cc │ │ │ │ ├── sync_switch_unittest.cc │ │ │ │ ├── waitable_event.cc │ │ │ │ └── waitable_event_unittest.cc │ │ │ ├── task_runner.cc │ │ │ ├── task_runner_unittests.cc │ │ │ ├── task_source.cc │ │ │ ├── task_source_unittests.cc │ │ │ ├── thread.cc │ │ │ ├── thread_host.cc │ │ │ ├── thread_name_setter.h │ │ │ ├── thread_unittests.cc │ │ │ ├── time/ │ │ │ │ ├── chrono_timestamp_provider.cc │ │ │ │ ├── time_delta_unittest.cc │ │ │ │ ├── time_point.cc │ │ │ │ ├── time_point_unittest.cc │ │ │ │ ├── time_unittest.cc │ │ │ │ └── timer.cc │ │ │ └── unique_fd.cc │ │ ├── geometry_unittest.cc │ │ ├── hybrid_map_unittest.cc │ │ ├── linked_hash_map_unittest.cc │ │ ├── log/ │ │ │ ├── alog_wrapper.cc │ │ │ ├── log_stream.cc │ │ │ ├── log_stream_unittest.cc │ │ │ ├── logging.cc │ │ │ ├── logging_android.cc │ │ │ ├── logging_base.cc │ │ │ ├── logging_darwin.mm │ │ │ ├── logging_harmony.cc │ │ │ └── logging_harmony.h │ │ ├── lynx_actor_unittest.cc │ │ ├── md5.cc │ │ ├── path_utils_unittest.cc │ │ ├── platform/ │ │ │ ├── android/ │ │ │ │ ├── java_type.cc │ │ │ │ ├── jni_convert_helper.cc │ │ │ │ ├── jni_utils.cc │ │ │ │ └── scoped_java_ref.cc │ │ │ └── harmony/ │ │ │ ├── harmony_vsync_manager.cc │ │ │ └── napi_util.cc │ │ ├── sorted_for_each_unittest.cc │ │ ├── string/ │ │ │ ├── quickjs_dtoa.c │ │ │ ├── string_conversion_win.cc │ │ │ ├── string_number_convert.cc │ │ │ ├── string_number_convert_unittest.cc │ │ │ ├── string_utils.cc │ │ │ └── string_utils_unittest.cc │ │ ├── thread/ │ │ │ ├── timed_task.cc │ │ │ └── timed_task_unittest.cc │ │ ├── timer/ │ │ │ ├── time_utils.cc │ │ │ └── time_utils_unittest.cc │ │ ├── to_underlying_unittest.cc │ │ ├── type_traits_addon_unittest.cc │ │ ├── value/ │ │ │ ├── base_string.cc │ │ │ ├── base_value.cc │ │ │ ├── base_value_print.cc │ │ │ ├── base_value_unittest.cc │ │ │ ├── byte_array.cc │ │ │ ├── lynx_value_api_impl.cc │ │ │ ├── lynx_value_extended_empty.cc │ │ │ ├── path_parser.cc │ │ │ ├── path_parser_unittest.cc │ │ │ └── table.cc │ │ ├── vector.cc │ │ ├── vector_unittest.cc │ │ └── version_unittest.cc │ └── trace/ │ ├── README.md │ ├── android/ │ │ ├── .gitignore │ │ ├── BUILD.gn │ │ ├── CMakeLists.txt │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── proguard-rules.pro │ │ └── src/ │ │ ├── android_test/ │ │ │ └── java/ │ │ │ ├── AndroidManifest.xml │ │ │ └── com/ │ │ │ └── lynx/ │ │ │ └── trace/ │ │ │ └── TraceControllerTest.java │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lynx/ │ │ │ ├── tasm/ │ │ │ │ └── base/ │ │ │ │ ├── LynxTraceEnv.java │ │ │ │ ├── TraceController.java │ │ │ │ └── TraceEvent.java │ │ │ └── trace/ │ │ │ └── CalledByNative.java │ │ └── jni/ │ │ ├── .gitignore │ │ ├── BUILD.gn │ │ └── jni_configs.yml │ ├── darwin/ │ │ ├── .gitignore │ │ ├── BUILD.gn │ │ ├── CPPLINT.cfg │ │ ├── LynxTraceController.h │ │ ├── LynxTraceController.mm │ │ ├── LynxTraceController_mock.mm │ │ ├── LynxTraceEvent.h │ │ ├── LynxTraceEvent.mm │ │ ├── LynxTraceEventWrapper.h │ │ ├── LynxTraceEventWrapper.mm │ │ └── trace-prefix.h │ └── native/ │ ├── BUILD.gn │ ├── hook_systrace/ │ │ ├── cpu_info_trace.cc │ │ ├── cpu_info_trace.h │ │ ├── hook_system_trace.h │ │ ├── hook_system_trace_android.cc │ │ ├── hook_system_trace_default.cc │ │ ├── hook_system_trace_harmony.cc │ │ └── hook_systrace.gni │ ├── instance_counter_trace.cc │ ├── instance_counter_trace.h │ ├── internal_trace_category.h │ ├── platform/ │ │ ├── android/ │ │ │ ├── trace_controller_android.cc │ │ │ ├── trace_controller_android.h │ │ │ ├── trace_controller_android_mock.cc │ │ │ ├── trace_event_android_mock.cc │ │ │ ├── trace_event_android_perfetto.cc │ │ │ └── trace_event_android_systrace.cc │ │ ├── darwin/ │ │ │ ├── trace_controller_darwin.h │ │ │ └── trace_controller_darwin.mm │ │ ├── harmony/ │ │ │ ├── trace_controller_delegate_harmony.cc │ │ │ ├── trace_controller_delegate_harmony.h │ │ │ ├── trace_controller_harmony.cc │ │ │ ├── trace_controller_harmony.h │ │ │ └── trace_event_utils_systrace_harmony.cc │ │ ├── platform.gni │ │ └── windows/ │ │ ├── trace_controller_win.cc │ │ ├── trace_controller_win.h │ │ └── trace_controller_win_mock.cc │ ├── trace_controller.cc │ ├── trace_controller.h │ ├── trace_controller_impl.cc │ ├── trace_controller_impl.h │ ├── trace_controller_unittest.cc │ ├── trace_defines.h │ ├── trace_event.h │ ├── trace_event_export_symbol.cc │ ├── trace_event_export_symbol.h │ ├── trace_event_unittest.cc │ ├── trace_event_utils_perfetto.h │ ├── trace_event_utils_perfetto_mock.cc │ ├── trace_event_utils_systrace.h │ ├── trace_event_utils_systrace_android.cc │ ├── trace_event_utils_systrace_default.cc │ ├── trace_export.h │ ├── track_event_wrapper.cc │ ├── track_event_wrapper.h │ └── track_event_wrapper_mock.cc ├── build_overrides/ │ ├── android.gni │ ├── angle.gni │ ├── bindings_files.gni │ ├── build.gni │ ├── codec_files.gni │ ├── darwin.gni │ ├── fml.gni │ ├── glslang.gni │ ├── oliver.gni │ ├── renderer_utils_files.gni │ ├── resource_file.gni │ ├── services_files.gni │ ├── spirv_tools.gni │ ├── swiftshader.gni │ ├── vulkan_headers.gni │ ├── vulkan_loader.gni │ ├── vulkan_tools.gni │ ├── wayland.gni │ └── windows.gni ├── clay/ │ ├── BUILD.gn │ ├── LICENSE │ ├── LICENSE.flutter │ ├── README.md │ ├── assets/ │ │ ├── BUILD.gn │ │ ├── asset_manager.cc │ │ ├── asset_manager.h │ │ ├── asset_resolver.h │ │ ├── directory_asset_bundle.cc │ │ └── directory_asset_bundle.h │ ├── build/ │ │ ├── concurrent_jobs.gni │ │ ├── copy_info_plist.py │ │ ├── generate_coverage.py │ │ ├── get_concurrent_jobs.py │ │ ├── git_revision.py │ │ ├── zip.py │ │ └── zip_bundle.gni │ ├── common/ │ │ ├── BUILD.gn │ │ ├── config.gni │ │ ├── constants.h │ │ ├── element_id.cc │ │ ├── element_id.h │ │ ├── exported_symbols.sym │ │ ├── exported_symbols_mac.sym │ │ ├── graphics/ │ │ │ ├── BUILD.gn │ │ │ ├── drawable_image.cc │ │ │ ├── drawable_image.h │ │ │ ├── gl/ │ │ │ │ ├── gl_api.h │ │ │ │ ├── gl_api_common.cc │ │ │ │ ├── gl_api_common.h │ │ │ │ ├── gl_api_windows.cc │ │ │ │ ├── gl_api_windows.h │ │ │ │ ├── gl_pipeline_helper.cc │ │ │ │ ├── gl_pipeline_helper.h │ │ │ │ ├── gl_shader_program.cc │ │ │ │ ├── gl_shader_program.h │ │ │ │ ├── scoped_framebuffer_binder.cc │ │ │ │ ├── scoped_framebuffer_binder.h │ │ │ │ ├── scoped_texture_binder.cc │ │ │ │ └── scoped_texture_binder.h │ │ │ ├── gl_context_switch.cc │ │ │ ├── gl_context_switch.h │ │ │ ├── graphic_meminfo.h │ │ │ ├── msaa_sample_count.h │ │ │ ├── persistent_cache.cc │ │ │ ├── persistent_cache.h │ │ │ ├── screenshot.h │ │ │ ├── shared_drawable_image.cc │ │ │ ├── shared_drawable_image.h │ │ │ ├── shared_image_external_bitmap.cc │ │ │ ├── shared_image_external_bitmap.h │ │ │ ├── shared_image_external_texture.cc │ │ │ └── shared_image_external_texture.h │ │ ├── recyclable.h │ │ ├── service/ │ │ │ ├── BUILD.gn │ │ │ ├── service.cc │ │ │ ├── service.h │ │ │ ├── service_manager.cc │ │ │ ├── service_manager.h │ │ │ └── service_unittests.cc │ │ ├── settings.cc │ │ ├── settings.h │ │ ├── sha1.cc │ │ ├── sha1.h │ │ ├── sha1_include.cc │ │ ├── sys_info.cc │ │ ├── sys_info.h │ │ ├── task_runners.cc │ │ ├── task_runners.h │ │ ├── thread_host.cc │ │ ├── thread_host.h │ │ ├── thread_host_holder.cc │ │ └── thread_host_holder.h │ ├── example/ │ │ └── glfw/ │ │ ├── BUILD.gn │ │ ├── README.md │ │ ├── clay_glfw.cc │ │ ├── clay_logo.h │ │ ├── custom_task_runner.cc │ │ ├── custom_task_runner.h │ │ ├── event_loop.cc │ │ ├── event_loop.h │ │ ├── platform_view_impl.h │ │ ├── shell_impl.cc │ │ ├── shell_impl.h │ │ ├── surface_gl_impl.h │ │ ├── thread_host_holder.cc │ │ └── thread_host_holder.h │ ├── flow/ │ │ ├── BUILD.gn │ │ ├── animation/ │ │ │ ├── animation_host.cc │ │ │ ├── animation_host.h │ │ │ ├── animation_mutator.cc │ │ │ ├── animation_mutator.h │ │ │ ├── scroll_offset_animation.cc │ │ │ ├── scroll_offset_animation.h │ │ │ └── scroll_offset_animation_unittests.cc │ │ ├── compositor/ │ │ │ ├── compositor_state.cc │ │ │ ├── compositor_state.h │ │ │ ├── compositor_state_unittests.cc │ │ │ └── overlay_views.h │ │ ├── compositor_context.cc │ │ ├── compositor_context.h │ │ ├── diff_context.cc │ │ ├── diff_context.h │ │ ├── diff_context_unittests.cc │ │ ├── drawable_image_unittests.cc │ │ ├── embedded_view_params_unittests.cc │ │ ├── embedded_views.cc │ │ ├── embedded_views.h │ │ ├── flow_rendering_backend.h │ │ ├── flow_run_all_unittests.cc │ │ ├── flow_test_utils.cc │ │ ├── flow_test_utils.h │ │ ├── frame_timings.cc │ │ ├── frame_timings.h │ │ ├── frame_timings_recorder_unittests.cc │ │ ├── gl_context_switch_unittests.cc │ │ ├── layer_snapshot_store.cc │ │ ├── layer_snapshot_store.h │ │ ├── layers/ │ │ │ ├── backdrop_filter_layer.cc │ │ │ ├── backdrop_filter_layer.h │ │ │ ├── backdrop_filter_layer_unittests.cc │ │ │ ├── cacheable_layer.cc │ │ │ ├── cacheable_layer.h │ │ │ ├── checkerboard_layertree_unittests.cc │ │ │ ├── clip_path_layer.cc │ │ │ ├── clip_path_layer.h │ │ │ ├── clip_path_layer_unittests.cc │ │ │ ├── clip_rect_layer.cc │ │ │ ├── clip_rect_layer.h │ │ │ ├── clip_rect_layer_unittests.cc │ │ │ ├── clip_rrect_layer.cc │ │ │ ├── clip_rrect_layer.h │ │ │ ├── clip_rrect_layer_unittests.cc │ │ │ ├── clip_shape_layer.h │ │ │ ├── color_filter_layer.cc │ │ │ ├── color_filter_layer.h │ │ │ ├── color_filter_layer_unittests.cc │ │ │ ├── container_layer.cc │ │ │ ├── container_layer.h │ │ │ ├── container_layer_unittests.cc │ │ │ ├── drawable_image_layer.cc │ │ │ ├── drawable_image_layer.h │ │ │ ├── drawable_image_layer_unittests.cc │ │ │ ├── external_view_layer.cc │ │ │ ├── external_view_layer.h │ │ │ ├── image_filter_layer.cc │ │ │ ├── image_filter_layer.h │ │ │ ├── image_filter_layer_unittests.cc │ │ │ ├── layer.cc │ │ │ ├── layer.h │ │ │ ├── layer_raster_cache_item.cc │ │ │ ├── layer_raster_cache_item.h │ │ │ ├── layer_state_stack.cc │ │ │ ├── layer_state_stack.h │ │ │ ├── layer_state_stack_unittests.cc │ │ │ ├── layer_tree.cc │ │ │ ├── layer_tree.h │ │ │ ├── layer_tree_unittests.cc │ │ │ ├── offscreen_surface.cc │ │ │ ├── offscreen_surface.h │ │ │ ├── offscreen_surface_unittests.cc │ │ │ ├── opacity_layer.cc │ │ │ ├── opacity_layer.h │ │ │ ├── opacity_layer_unittests.cc │ │ │ ├── performance_overlay_layer.cc │ │ │ ├── performance_overlay_layer.h │ │ │ ├── performance_overlay_layer_unittests.cc │ │ │ ├── physical_shape_layer.cc │ │ │ ├── physical_shape_layer.h │ │ │ ├── physical_shape_layer_unittests.cc │ │ │ ├── picture_complexity.cc │ │ │ ├── picture_complexity.h │ │ │ ├── picture_complexity_calculator_skity.cc │ │ │ ├── picture_complexity_calculator_skity.h │ │ │ ├── picture_complexity_gl.cc │ │ │ ├── picture_complexity_gl.h │ │ │ ├── picture_complexity_helper_skia.h │ │ │ ├── picture_complexity_helper_skity.h │ │ │ ├── picture_complexity_metal.cc │ │ │ ├── picture_complexity_metal.h │ │ │ ├── picture_layer.cc │ │ │ ├── picture_layer.h │ │ │ ├── picture_raster_cache_item.cc │ │ │ ├── picture_raster_cache_item.h │ │ │ ├── platform_view_layer.cc │ │ │ ├── platform_view_layer.h │ │ │ ├── platform_view_layer_unittests.cc │ │ │ ├── punch_hole_layer.cc │ │ │ ├── punch_hole_layer.h │ │ │ ├── punch_hole_layer_unittests.cc │ │ │ ├── shader_mask_layer.cc │ │ │ ├── shader_mask_layer.h │ │ │ ├── shader_mask_layer_unittests.cc │ │ │ ├── transform_layer.cc │ │ │ ├── transform_layer.h │ │ │ └── transform_layer_unittests.cc │ │ ├── matrix_clip_tracker.cc │ │ ├── matrix_clip_tracker.h │ │ ├── matrix_clip_tracker_unittests.cc │ │ ├── mutators_stack_unittests.cc │ │ ├── paint_region.cc │ │ ├── paint_region.h │ │ ├── paint_utils.cc │ │ ├── paint_utils.h │ │ ├── raster_cache.cc │ │ ├── raster_cache.h │ │ ├── raster_cache_item.h │ │ ├── raster_cache_key.cc │ │ ├── raster_cache_key.h │ │ ├── raster_cache_unittests.cc │ │ ├── raster_cache_util.cc │ │ ├── raster_cache_util.h │ │ ├── rtree.cc │ │ ├── rtree.h │ │ ├── rtree_unittests.cc │ │ ├── services/ │ │ │ └── animation_event_service.h │ │ ├── stopwatch.cc │ │ ├── stopwatch.h │ │ ├── stopwatch_unittests.cc │ │ ├── surface.cc │ │ ├── surface.h │ │ ├── surface_frame.cc │ │ ├── surface_frame.h │ │ ├── surface_frame_unittests.cc │ │ ├── testing/ │ │ │ ├── diff_context_test.cc │ │ │ ├── diff_context_test.h │ │ │ ├── gl_context_switch_test.cc │ │ │ ├── gl_context_switch_test.h │ │ │ ├── gpu_object_layer_test.cc │ │ │ ├── gpu_object_layer_test.h │ │ │ ├── layer_test.h │ │ │ ├── mock_drawable_image.cc │ │ │ ├── mock_drawable_image.h │ │ │ ├── mock_drawable_image_unittests.cc │ │ │ ├── mock_layer.cc │ │ │ ├── mock_layer.h │ │ │ ├── mock_layer_unittests.cc │ │ │ ├── mock_raster_cache.cc │ │ │ ├── mock_raster_cache.h │ │ │ ├── mock_shared_image_backing.cc │ │ │ ├── mock_shared_image_backing.h │ │ │ ├── mock_shared_image_unittests.cc │ │ │ ├── picture_complexity_unittests.cc │ │ │ ├── picture_test_utils.cc │ │ │ └── picture_test_utils.h │ │ ├── view_slicer.cc │ │ ├── view_slicer.h │ │ └── view_slicer_unittests.cc │ ├── fml/ │ │ ├── BUILD.gn │ │ ├── LICENSE │ │ ├── ascii_trie.cc │ │ ├── ascii_trie.h │ │ ├── ascii_trie_unittests.cc │ │ ├── atomic_sequence_num.h │ │ ├── backtrace.cc │ │ ├── backtrace.h │ │ ├── backtrace_android.cc │ │ ├── backtrace_stub.cc │ │ ├── backtrace_unittests.cc │ │ ├── base32.cc │ │ ├── base32.h │ │ ├── base32_unittest.cc │ │ ├── base64.cc │ │ ├── base64.h │ │ ├── base64_unittests.cc │ │ ├── command_line.cc │ │ ├── command_line.h │ │ ├── command_line_unittest.cc │ │ ├── container.h │ │ ├── container_unittests.cc │ │ ├── endianness.cc │ │ ├── endianness.h │ │ ├── endianness_unittests.cc │ │ ├── file.cc │ │ ├── file.h │ │ ├── file_unittest.cc │ │ ├── fml.gni │ │ ├── hex_codec.cc │ │ ├── hex_codec.h │ │ ├── hex_codec_unittest.cc │ │ ├── icu_util.cc │ │ ├── icu_util.h │ │ ├── log_level.h │ │ ├── log_settings.cc │ │ ├── log_settings.h │ │ ├── logging.cc │ │ ├── logging.h │ │ ├── logging_unittests.cc │ │ ├── mapping.cc │ │ ├── mapping.h │ │ ├── mapping_unittests.cc │ │ ├── math.h │ │ ├── math_unittests.cc │ │ ├── native_library.h │ │ ├── paths.cc │ │ ├── paths.h │ │ ├── paths_unittests.cc │ │ ├── platform/ │ │ │ ├── android/ │ │ │ │ ├── CPPLINT.cfg │ │ │ │ ├── jni_android.cc │ │ │ │ ├── jni_android.h │ │ │ │ ├── jni_weak_ref.cc │ │ │ │ ├── jni_weak_ref.h │ │ │ │ ├── paths_android.cc │ │ │ │ └── paths_android.h │ │ │ ├── darwin/ │ │ │ │ ├── cf_utils.cc │ │ │ │ ├── cf_utils.h │ │ │ │ ├── cf_utils_unittests.mm │ │ │ │ ├── paths_darwin.mm │ │ │ │ ├── platform_version.h │ │ │ │ ├── platform_version.mm │ │ │ │ ├── scoped_block.h │ │ │ │ ├── scoped_block.mm │ │ │ │ ├── scoped_nsobject.h │ │ │ │ ├── scoped_nsobject.mm │ │ │ │ ├── string_range_sanitization.h │ │ │ │ ├── string_range_sanitization.mm │ │ │ │ └── string_range_sanitization_unittests.mm │ │ │ ├── harmony/ │ │ │ │ ├── paths_harmony.cc │ │ │ │ └── paths_harmony.h │ │ │ ├── linux/ │ │ │ │ ├── paths_linux.cc │ │ │ │ ├── proc_maps_linux.cc │ │ │ │ └── proc_maps_linux.h │ │ │ ├── posix/ │ │ │ │ ├── command_line_posix.cc │ │ │ │ ├── file_posix.cc │ │ │ │ ├── mapping_posix.cc │ │ │ │ ├── native_library_posix.cc │ │ │ │ ├── paths_posix.cc │ │ │ │ └── posix_wrappers_posix.cc │ │ │ └── win/ │ │ │ ├── command_line_win.cc │ │ │ ├── errors_win.cc │ │ │ ├── errors_win.h │ │ │ ├── file_win.cc │ │ │ ├── file_win_unittests.cc │ │ │ ├── mapping_win.cc │ │ │ ├── native_library_win.cc │ │ │ ├── paths_win.cc │ │ │ ├── posix_wrappers_win.cc │ │ │ ├── wstring_conversion.cc │ │ │ ├── wstring_conversion.h │ │ │ └── wstring_conversion_unittests.cc │ │ ├── posix_wrappers.h │ │ ├── size.h │ │ └── status.h │ ├── gfx/ │ │ ├── BUILD.gn │ │ ├── animation/ │ │ │ ├── accelerate_decelerate_interpolator.cc │ │ │ ├── accelerate_decelerate_interpolator.h │ │ │ ├── accelerate_interpolator.cc │ │ │ ├── accelerate_interpolator.h │ │ │ ├── animation_data.cc │ │ │ ├── animation_data.h │ │ │ ├── animation_event_handler.h │ │ │ ├── animation_handler.cc │ │ │ ├── animation_handler.h │ │ │ ├── animation_handler_unittests.cc │ │ │ ├── animation_properties_util.h │ │ │ ├── animator.cc │ │ │ ├── animator.h │ │ │ ├── animator_listener.h │ │ │ ├── animator_listener_adapter.h │ │ │ ├── animator_target.h │ │ │ ├── anticipate_interpolator.cc │ │ │ ├── anticipate_interpolator.h │ │ │ ├── anticipate_overshoot_interpolator.cc │ │ │ ├── anticipate_overshoot_interpolator.h │ │ │ ├── bounce_animator.cc │ │ │ ├── bounce_animator.h │ │ │ ├── bounce_interpolator.cc │ │ │ ├── bounce_interpolator.h │ │ │ ├── build.gni │ │ │ ├── cubic_bezier_interpolator.cc │ │ │ ├── cubic_bezier_interpolator.h │ │ │ ├── cubic_bezier_interpolator_unittests.cc │ │ │ ├── cycle_interpolator.cc │ │ │ ├── cycle_interpolator.h │ │ │ ├── decelerate_interpolator.cc │ │ │ ├── decelerate_interpolator.h │ │ │ ├── dynamic_animator.cc │ │ │ ├── dynamic_animator.h │ │ │ ├── fling_animator.cc │ │ │ ├── fling_animator.h │ │ │ ├── interpolator.cc │ │ │ ├── interpolator.h │ │ │ ├── keyframe.cc │ │ │ ├── keyframe.h │ │ │ ├── keyframe_set.cc │ │ │ ├── keyframe_set.h │ │ │ ├── keyframes_manager.cc │ │ │ ├── keyframes_manager.h │ │ │ ├── lut_interpolator.cc │ │ │ ├── lut_interpolator.h │ │ │ ├── overshoot_interpolator.cc │ │ │ ├── overshoot_interpolator.h │ │ │ ├── path_interpolator.cc │ │ │ ├── path_interpolator.h │ │ │ ├── picture_animation_type.h │ │ │ ├── steps_interpolator.cc │ │ │ ├── steps_interpolator.h │ │ │ ├── timing_function_data.cc │ │ │ ├── timing_function_data.h │ │ │ ├── transition_data.cc │ │ │ ├── transition_data.h │ │ │ ├── transition_manager.cc │ │ │ ├── transition_manager.h │ │ │ ├── type_evaluator.h │ │ │ ├── value_animator.cc │ │ │ ├── value_animator.h │ │ │ ├── value_animator_unittests.cc │ │ │ ├── viscous_fluid_interpolator.cc │ │ │ └── viscous_fluid_interpolator.h │ │ ├── attributes.h │ │ ├── attributes_testing.h │ │ ├── comparable.h │ │ ├── geometry/ │ │ │ ├── axis.h │ │ │ ├── box_shadow_operations.cc │ │ │ ├── box_shadow_operations.h │ │ │ ├── box_shadow_value.h │ │ │ ├── build.gni │ │ │ ├── direction.h │ │ │ ├── filter_operations.cc │ │ │ ├── filter_operations.h │ │ │ ├── filter_value.h │ │ │ ├── float_point.cc │ │ │ ├── float_point.h │ │ │ ├── float_point3d.cc │ │ │ ├── float_point3d.h │ │ │ ├── float_rect.cc │ │ │ ├── float_rect.h │ │ │ ├── float_rounded_rect.cc │ │ │ ├── float_rounded_rect.h │ │ │ ├── float_size.h │ │ │ ├── float_vector2d.cc │ │ │ ├── float_vector2d.h │ │ │ ├── float_vector3d.cc │ │ │ ├── float_vector3d.h │ │ │ ├── math_util.h │ │ │ ├── path.cc │ │ │ ├── path.h │ │ │ ├── point.h │ │ │ ├── quaternion.cc │ │ │ ├── quaternion.h │ │ │ ├── rect.h │ │ │ ├── size.h │ │ │ ├── sticky_info.h │ │ │ ├── transform.cc │ │ │ ├── transform.h │ │ │ ├── transform_operation.cc │ │ │ ├── transform_operation.h │ │ │ ├── transform_operations.cc │ │ │ ├── transform_operations.h │ │ │ ├── transform_origin.h │ │ │ ├── transform_raw.h │ │ │ ├── transform_util.cc │ │ │ └── transform_util.h │ │ ├── gfx_rendering_backend.h │ │ ├── gfx_utils.cc │ │ ├── gfx_utils.h │ │ ├── gpu_object.h │ │ ├── gpu_object_unittests.cc │ │ ├── gpu_ref_object.h │ │ ├── graphics_canvas.cc │ │ ├── graphics_canvas.h │ │ ├── graphics_context.cc │ │ ├── graphics_context.h │ │ ├── graphics_isolate.cc │ │ ├── graphics_isolate.h │ │ ├── image/ │ │ │ ├── animated_image.cc │ │ │ ├── animated_image.h │ │ │ ├── base_image.cc │ │ │ ├── base_image.h │ │ │ ├── base_image_instance.cc │ │ │ ├── base_image_instance.h │ │ │ ├── build.gni │ │ │ ├── codec.h │ │ │ ├── decode_priority.h │ │ │ ├── decoding_image.cc │ │ │ ├── decoding_image.h │ │ │ ├── frame_info.h │ │ │ ├── graphics_image.cc │ │ │ ├── graphics_image.h │ │ │ ├── graphics_image_skia.cc │ │ │ ├── graphics_image_skia.h │ │ │ ├── graphics_image_skia_lazy.cc │ │ │ ├── graphics_image_skia_lazy.h │ │ │ ├── graphics_image_skity.cc │ │ │ ├── graphics_image_skity.h │ │ │ ├── graphics_image_skity_lazy.cc │ │ │ ├── graphics_image_skity_lazy.h │ │ │ ├── image.cc │ │ │ ├── image.h │ │ │ ├── image_data.h │ │ │ ├── image_data_cache.cc │ │ │ ├── image_data_cache.h │ │ │ ├── image_data_cache_unittests.cc │ │ │ ├── image_decoder.cc │ │ │ ├── image_decoder.h │ │ │ ├── image_descriptor.cc │ │ │ ├── image_descriptor.h │ │ │ ├── image_descriptor_platform.cc │ │ │ ├── image_descriptor_platform.h │ │ │ ├── image_descriptor_skia.cc │ │ │ ├── image_descriptor_skia.h │ │ │ ├── image_info.h │ │ │ ├── image_produce_context.h │ │ │ ├── image_producer.cc │ │ │ ├── image_producer.h │ │ │ ├── image_resource.cc │ │ │ ├── image_resource.h │ │ │ ├── image_resource_client.h │ │ │ ├── image_upload_manager.cc │ │ │ ├── image_upload_manager.h │ │ │ ├── multi_frame_codec.cc │ │ │ ├── multi_frame_codec.h │ │ │ ├── platform_image.h │ │ │ ├── single_frame_codec.cc │ │ │ ├── single_frame_codec.h │ │ │ ├── skimage_holder.cc │ │ │ ├── skimage_holder.h │ │ │ ├── static_image.cc │ │ │ ├── static_image.h │ │ │ ├── svg_image.cc │ │ │ ├── svg_image.h │ │ │ ├── svg_image_holder.cc │ │ │ └── svg_image_holder.h │ │ ├── paint.cc │ │ ├── paint.h │ │ ├── paint_decoding_image.h │ │ ├── paint_image.cc │ │ ├── paint_image.h │ │ ├── paint_image_skia.cc │ │ ├── paint_image_skia.h │ │ ├── paint_image_skia_lazy.cc │ │ ├── paint_image_skia_lazy.h │ │ ├── paint_image_skity.cc │ │ ├── paint_image_skity.h │ │ ├── paint_recorder.h │ │ ├── paint_recorder_skia.cc │ │ ├── paint_recorder_skity.cc │ │ ├── paint_unittests.cc │ │ ├── picture.cc │ │ ├── picture.h │ │ ├── pixel_helper.h │ │ ├── rendering_backend.h │ │ ├── scroll_direction.h │ │ ├── shared_image/ │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ ├── android_hardwarebuffer_utils.cc │ │ │ │ ├── android_hardwarebuffer_utils.h │ │ │ │ ├── scoped_a_native_window.cc │ │ │ │ ├── scoped_a_native_window.h │ │ │ │ ├── scoped_java_surface.cc │ │ │ │ ├── scoped_java_surface.h │ │ │ │ ├── surface_texture.cc │ │ │ │ ├── surface_texture.h │ │ │ │ ├── surface_texture_listener.cc │ │ │ │ └── surface_texture_listener.h │ │ │ ├── android_egl_image_representation.cc │ │ │ ├── android_egl_image_representation.h │ │ │ ├── android_hardwarebuffer_image_backing.cc │ │ │ ├── android_hardwarebuffer_image_backing.h │ │ │ ├── android_surface_texture_image_backing.cc │ │ │ ├── android_surface_texture_image_backing.h │ │ │ ├── angle_d3d_image_representation.cc │ │ │ ├── angle_d3d_image_representation.h │ │ │ ├── angle_software_shm_image_backing.cc │ │ │ ├── angle_software_shm_image_backing.h │ │ │ ├── angle_sw_shm_image_representation.cc │ │ │ ├── angle_sw_shm_image_representation.h │ │ │ ├── cgl_image_representation.h │ │ │ ├── cgl_image_representation.mm │ │ │ ├── cv_pixelbuffer_image_backing.h │ │ │ ├── cv_pixelbuffer_image_backing.mm │ │ │ ├── d3d9_texture_image_backing.cc │ │ │ ├── d3d9_texture_image_backing.h │ │ │ ├── d3d_image_representation.cc │ │ │ ├── d3d_image_representation.h │ │ │ ├── d3d_texture_image_backing.cc │ │ │ ├── d3d_texture_image_backing.h │ │ │ ├── eagl_image_representation.h │ │ │ ├── eagl_image_representation.mm │ │ │ ├── egl_image_backing.cc │ │ │ ├── egl_image_backing.h │ │ │ ├── epoxy_shm_image_backing.cc │ │ │ ├── epoxy_shm_image_backing.h │ │ │ ├── epoxy_shm_image_representation.cc │ │ │ ├── epoxy_shm_image_representation.h │ │ │ ├── fence_sync.h │ │ │ ├── iosurface_image_backing.h │ │ │ ├── iosurface_image_backing.mm │ │ │ ├── linux_shm_image_representation.cc │ │ │ ├── linux_shm_image_representation.h │ │ │ ├── mtl_fence_sync.h │ │ │ ├── mtl_fence_sync.mm │ │ │ ├── mtl_image_representation.h │ │ │ ├── mtl_image_representation.mm │ │ │ ├── native_image_egl_image_representation.cc │ │ │ ├── native_image_egl_image_representation.h │ │ │ ├── native_image_image_backing.cc │ │ │ ├── native_image_image_backing.h │ │ │ ├── shared_image_backing.cc │ │ │ ├── shared_image_backing.h │ │ │ ├── shared_image_representation.cc │ │ │ ├── shared_image_representation.h │ │ │ ├── shared_image_sink.cc │ │ │ ├── shared_image_sink.h │ │ │ ├── shared_image_sink_accessor.cc │ │ │ ├── shared_image_sink_accessor.h │ │ │ ├── skia_gl_image_representation.cc │ │ │ ├── skia_gl_image_representation.h │ │ │ ├── skia_mtl_image_representation.h │ │ │ ├── skia_mtl_image_representation.mm │ │ │ ├── skia_shm_image_representation.cc │ │ │ ├── skia_shm_image_representation.h │ │ │ ├── skity_gl_image_representation.cc │ │ │ ├── skity_gl_image_representation.h │ │ │ ├── skity_mtl_image_representation.h │ │ │ ├── skity_mtl_image_representation.mm │ │ │ ├── utils/ │ │ │ │ ├── angle_get_proc.cc │ │ │ │ ├── angle_get_proc.h │ │ │ │ ├── dxgi_utils.cc │ │ │ │ ├── dxgi_utils.h │ │ │ │ ├── functions_angle.cc │ │ │ │ ├── functions_angle.h │ │ │ │ ├── gl_texture_converter.cc │ │ │ │ ├── gl_texture_converter.h │ │ │ │ ├── image_utils.cc │ │ │ │ └── image_utils.h │ │ │ ├── vulkan_image_hardwarebuffer_representation.cc │ │ │ └── vulkan_image_hardwarebuffer_representation.h │ │ ├── skia/ │ │ │ ├── build.gni │ │ │ ├── picture_skia.cc │ │ │ ├── picture_skia.h │ │ │ ├── skia_canvas.cc │ │ │ ├── skia_canvas.h │ │ │ ├── skia_concurrent_executor.cc │ │ │ └── skia_concurrent_executor.h │ │ ├── skity/ │ │ │ ├── BUILD.gn │ │ │ ├── picture_skity.cc │ │ │ ├── picture_skity.h │ │ │ ├── rendering_material.cc │ │ │ ├── rendering_material.h │ │ │ ├── skity_auto_canvas_save.h │ │ │ ├── skity_canvas.cc │ │ │ ├── skity_canvas.h │ │ │ ├── skity_decoding_image.cc │ │ │ ├── skity_decoding_image.h │ │ │ ├── skity_image.cc │ │ │ ├── skity_image.h │ │ │ ├── skity_lazy_image_traveller.cc │ │ │ └── skity_lazy_image_traveller.h │ │ ├── skity_to_skia_utils.h │ │ ├── style/ │ │ │ ├── blend_mode.h │ │ │ ├── borders_data.cc │ │ │ ├── borders_data.h │ │ │ ├── box_data.h │ │ │ ├── build.gni │ │ │ ├── color.cc │ │ │ ├── color.h │ │ │ ├── color.tmpl │ │ │ ├── color_filter.cc │ │ │ ├── color_filter.h │ │ │ ├── color_filter_unittests.cc │ │ │ ├── color_gen.inl │ │ │ ├── color_source.cc │ │ │ ├── color_source.h │ │ │ ├── color_source_unittests.cc │ │ │ ├── color_unittests.cc │ │ │ ├── color_unittests_helper.h │ │ │ ├── enum_unittests.cc │ │ │ ├── image_filter.cc │ │ │ ├── image_filter.h │ │ │ ├── image_filter_unittests.cc │ │ │ ├── length.h │ │ │ ├── mask_filter.cc │ │ │ ├── mask_filter.h │ │ │ ├── mask_filter_unittests.cc │ │ │ ├── outline_data.cc │ │ │ ├── outline_data.h │ │ │ ├── path_effect.cc │ │ │ ├── path_effect.h │ │ │ ├── path_effect_unittests.cc │ │ │ ├── runtime_effect.cc │ │ │ ├── runtime_effect.h │ │ │ ├── sampling_options.h │ │ │ ├── shadow.h │ │ │ ├── tile_mode.h │ │ │ ├── vertices.cc │ │ │ ├── vertices.h │ │ │ └── vertices_unittests.cc │ │ ├── svg/ │ │ │ └── svg_dom.h │ │ ├── testing_utils.h │ │ ├── text_blob.cc │ │ ├── text_blob.h │ │ ├── text_blob_skia.cc │ │ ├── text_blob_skia.h │ │ ├── text_blob_skity.cc │ │ ├── text_blob_skity.h │ │ └── vulkan/ │ │ ├── build.gni │ │ ├── vulkan_buffer.cc │ │ ├── vulkan_buffer.h │ │ ├── vulkan_command_pool_helper.cc │ │ ├── vulkan_command_pool_helper.h │ │ ├── vulkan_fence_helper.cc │ │ ├── vulkan_fence_helper.h │ │ ├── vulkan_helper.cc │ │ ├── vulkan_helper.h │ │ ├── vulkan_image.cc │ │ └── vulkan_image.h │ ├── lynx_adaptor/ │ │ ├── BUILD.gn │ │ ├── base_def.h │ │ ├── clay_value.cc │ │ ├── clay_value.h │ │ ├── layout_context_clay.cc │ │ ├── layout_context_clay.h │ │ ├── lynx_event_dispatcher.cc │ │ ├── lynx_event_dispatcher.h │ │ ├── native_module/ │ │ │ ├── AGENTS.md │ │ │ ├── build.gni │ │ │ ├── lynx_config_module.cc │ │ │ ├── lynx_config_module.h │ │ │ ├── lynx_exposure_module.cc │ │ │ ├── lynx_exposure_module.h │ │ │ ├── lynx_focus_module.cc │ │ │ ├── lynx_focus_module.h │ │ │ ├── lynx_intersection_observer_module.cc │ │ │ ├── lynx_intersection_observer_module.h │ │ │ ├── lynx_module_base.cc │ │ │ ├── lynx_module_base.h │ │ │ ├── lynx_module_factory.cc │ │ │ ├── lynx_module_factory.h │ │ │ ├── lynx_text_info_module.cc │ │ │ ├── lynx_text_info_module.h │ │ │ ├── lynx_ui_method_module.cc │ │ │ ├── lynx_ui_method_module.h │ │ │ ├── lynx_websocket_module.cc │ │ │ ├── lynx_websocket_module.h │ │ │ └── spec/ │ │ │ └── lynx_ui_method.spec.md │ │ ├── native_platform_view.cc │ │ ├── native_platform_view.h │ │ ├── native_platform_view_mock.cc │ │ ├── native_view_service_desktop.cc │ │ ├── native_view_service_desktop.h │ │ ├── painting_context_clay.cc │ │ ├── painting_context_clay.h │ │ ├── perf_controller_clay.cc │ │ ├── perf_controller_clay.h │ │ ├── platform_extra_bundle_clay.h │ │ ├── prop_bundle_impl.cc │ │ ├── prop_bundle_impl.h │ │ ├── resource_loader_embedder.cc │ │ ├── resource_loader_embedder.h │ │ ├── ui_delegate_clay.cc │ │ ├── ui_delegate_clay.h │ │ ├── value_converter.cc │ │ └── value_converter.h │ ├── memory/ │ │ ├── BUILD.gn │ │ ├── discardable_memory.h │ │ ├── discardable_memory_allocator.h │ │ ├── discardable_memory_allocator_impl.cc │ │ ├── discardable_memory_allocator_impl.h │ │ ├── discardable_memory_allocator_unittests.cc │ │ ├── discardable_memory_impl.h │ │ ├── discardable_memory_impl_posix.cc │ │ ├── discardable_memory_impl_win.cc │ │ ├── discardable_memory_unittests.cc │ │ ├── heap_discardable_memory.h │ │ ├── heap_discardable_memory_unittests.cc │ │ ├── memory_pressure_listener.cc │ │ ├── memory_pressure_listener.h │ │ ├── memory_pressure_listener_unittests.cc │ │ ├── memory_pressure_monitor.cc │ │ ├── memory_pressure_monitor.h │ │ ├── system_memory_pressure_evaluator.cc │ │ ├── system_memory_pressure_evaluator.h │ │ ├── system_memory_pressure_evaluator_mac.cc │ │ ├── system_memory_pressure_evaluator_mac.h │ │ ├── system_memory_pressure_evaluator_mac_unittests.cc │ │ ├── system_memory_pressure_evaluator_win.cc │ │ ├── system_memory_pressure_evaluator_win.h │ │ └── system_memory_pressure_evaluator_win_unittests.cc │ ├── net/ │ │ ├── BUILD.gn │ │ ├── cache/ │ │ │ ├── build.gni │ │ │ ├── cache_stats.cc │ │ │ ├── cache_stats.h │ │ │ ├── net_disk_cache.cc │ │ │ ├── net_disk_cache.h │ │ │ ├── net_resource_cache_key.cc │ │ │ └── net_resource_cache_key.h │ │ ├── fetcher/ │ │ │ ├── build.gni │ │ │ ├── http_resource_fetcher.cc │ │ │ ├── http_resource_fetcher.h │ │ │ ├── http_resource_fetcher_factory.cc │ │ │ ├── http_resource_fetcher_factory.h │ │ │ ├── http_resource_fetcher_host.cc │ │ │ ├── http_resource_fetcher_host.h │ │ │ └── http_resource_fetcher_unittests.cc │ │ ├── loader/ │ │ │ ├── build.gni │ │ │ ├── data_image_loader.cc │ │ │ ├── data_image_loader.h │ │ │ ├── resource_loader.h │ │ │ ├── resource_loader_creator_service.h │ │ │ ├── resource_loader_factory.cc │ │ │ ├── resource_loader_factory.h │ │ │ ├── resource_loader_intercept.h │ │ │ └── resource_loader_platform.h │ │ ├── macros.h │ │ ├── net_loader_callback.cc │ │ ├── net_loader_callback.h │ │ ├── net_loader_manager.cc │ │ ├── net_loader_manager.h │ │ ├── net_loader_manager_unittests.cc │ │ ├── resource_type.h │ │ └── url/ │ │ ├── LICENSE.txt │ │ ├── README.chromium │ │ ├── README.md │ │ ├── build.gni │ │ ├── uri.cc │ │ ├── uri.h │ │ ├── url_helper.cc │ │ ├── url_helper.h │ │ ├── url_helper_test.cc │ │ ├── url_parse.cc │ │ ├── url_parse.h │ │ ├── url_parse_internal.cc │ │ └── url_parse_internal.h │ ├── public/ │ │ ├── clay.h │ │ ├── event_delegate.h │ │ ├── layout_delegate.h │ │ ├── style_types.h │ │ ├── ui_component_delegate.h │ │ └── value.h │ ├── shell/ │ │ ├── common/ │ │ │ ├── BUILD.gn │ │ │ ├── context_options.cc │ │ │ ├── context_options.h │ │ │ ├── devtools_instrumentation.cc │ │ │ ├── devtools_instrumentation.h │ │ │ ├── display.cc │ │ │ ├── display.h │ │ │ ├── display_manager.cc │ │ │ ├── display_manager.h │ │ │ ├── engine.cc │ │ │ ├── engine.h │ │ │ ├── expired_on_task_runner.h │ │ │ ├── frame_timing_listener.h │ │ │ ├── one_shot_callback.h │ │ │ ├── output_surface.cc │ │ │ ├── output_surface.h │ │ │ ├── pipeline_timing_delegate.h │ │ │ ├── platform_view.cc │ │ │ ├── platform_view.h │ │ │ ├── pointer_data_dispatcher.cc │ │ │ ├── pointer_data_dispatcher.h │ │ │ ├── pointer_data_to_event.cc │ │ │ ├── pointer_data_to_event.h │ │ │ ├── rasterizer.cc │ │ │ ├── rasterizer.h │ │ │ ├── resource_cache_limit_calculator.cc │ │ │ ├── resource_cache_limit_calculator.h │ │ │ ├── scheduler/ │ │ │ │ ├── scheduler.cc │ │ │ │ ├── scheduler.h │ │ │ │ ├── scheduler_client.h │ │ │ │ ├── scheduler_state_machine.cc │ │ │ │ └── scheduler_state_machine.h │ │ │ ├── screenshot_utils.cc │ │ │ ├── screenshot_utils.h │ │ │ ├── scroll_fluency_monitor_delegate.h │ │ │ ├── serialization_callbacks.cc │ │ │ ├── serialization_callbacks.h │ │ │ ├── services/ │ │ │ │ ├── animation_event_service_impl.cc │ │ │ │ ├── animation_event_service_impl.h │ │ │ │ ├── animator_info_service.cc │ │ │ │ ├── animator_info_service.h │ │ │ │ ├── compositor/ │ │ │ │ │ ├── compositor_service.cc │ │ │ │ │ ├── compositor_service.h │ │ │ │ │ ├── platform_overlay_service.h │ │ │ │ │ ├── platform_overlay_service_fallback.cc │ │ │ │ │ ├── presenter_service.cc │ │ │ │ │ ├── presenter_service.h │ │ │ │ │ └── presenter_service_fallback.cc │ │ │ │ ├── drag_drop_service.cc │ │ │ │ ├── drag_drop_service.h │ │ │ │ ├── gesture_mediate_service.h │ │ │ │ ├── initialize_service.cc │ │ │ │ ├── initialize_service.h │ │ │ │ ├── instrumentation_service.cc │ │ │ │ ├── instrumentation_service.h │ │ │ │ ├── platform_const_service.cc │ │ │ │ ├── platform_const_service.h │ │ │ │ ├── raster_frame_service.cc │ │ │ │ ├── raster_frame_service.h │ │ │ │ ├── rasterizer_service.cc │ │ │ │ ├── rasterizer_service.h │ │ │ │ ├── screenshot_encoder.cc │ │ │ │ ├── screenshot_encoder.h │ │ │ │ ├── screenshot_service.cc │ │ │ │ ├── screenshot_service.h │ │ │ │ ├── sync_compositor_service.cc │ │ │ │ ├── sync_compositor_service.h │ │ │ │ ├── ui_frame_service.cc │ │ │ │ ├── ui_frame_service.h │ │ │ │ └── vsync_waiter_service.h │ │ │ ├── shell.cc │ │ │ ├── shell.h │ │ │ ├── shell_common_rendering_backend.h │ │ │ ├── skia_event_tracer_impl.cc │ │ │ ├── skia_event_tracer_impl.h │ │ │ ├── switches.cc │ │ │ ├── switches.h │ │ │ ├── variable_refresh_rate_display.cc │ │ │ ├── variable_refresh_rate_display.h │ │ │ ├── variable_refresh_rate_reporter.h │ │ │ ├── vsync_waiter.cc │ │ │ ├── vsync_waiter.h │ │ │ ├── vsync_waiter_fallback.cc │ │ │ ├── vsync_waiter_fallback.h │ │ │ ├── vsync_waiter_macos.h │ │ │ └── vsync_waiter_macos.mm │ │ ├── config.gni │ │ ├── gpu/ │ │ │ ├── BUILD.gn │ │ │ ├── gpu.gni │ │ │ ├── gpu_surface_gl_delegate.cc │ │ │ ├── gpu_surface_gl_delegate.h │ │ │ ├── gpu_surface_gl_skia.cc │ │ │ ├── gpu_surface_gl_skia.h │ │ │ ├── gpu_surface_gl_skity.cc │ │ │ ├── gpu_surface_gl_skity.h │ │ │ ├── gpu_surface_metal_delegate.cc │ │ │ ├── gpu_surface_metal_delegate.h │ │ │ ├── gpu_surface_metal_skia.h │ │ │ ├── gpu_surface_metal_skia.mm │ │ │ ├── gpu_surface_metal_skity.h │ │ │ ├── gpu_surface_metal_skity.mm │ │ │ ├── gpu_surface_software.cc │ │ │ ├── gpu_surface_software.h │ │ │ ├── gpu_surface_software_delegate.cc │ │ │ ├── gpu_surface_software_delegate.h │ │ │ ├── trace_gl_fuctions.cc │ │ │ └── trace_gl_fuctions.h │ │ ├── platform/ │ │ │ ├── common/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── engine_switches.cc │ │ │ │ ├── engine_switches.h │ │ │ │ ├── engine_switches_unittests.cc │ │ │ │ ├── path_utils.cc │ │ │ │ ├── path_utils.h │ │ │ │ ├── path_utils_unittests.cc │ │ │ │ ├── platform_provided_menu.h │ │ │ │ ├── text_editing_delta.cc │ │ │ │ ├── text_editing_delta.h │ │ │ │ ├── text_editing_delta_unittests.cc │ │ │ │ ├── text_input_model.cc │ │ │ │ ├── text_input_model.h │ │ │ │ ├── text_input_model_unittests.cc │ │ │ │ ├── text_range.h │ │ │ │ └── text_range_unittests.cc │ │ │ ├── darwin/ │ │ │ │ ├── CPPLINT.cfg │ │ │ │ ├── common/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── clay_service_manager_service_darwin.h │ │ │ │ │ ├── clay_service_manager_service_darwin.mm │ │ │ │ │ ├── framework/ │ │ │ │ │ │ ├── Headers/ │ │ │ │ │ │ │ ├── ClayServiceManager.h │ │ │ │ │ │ │ └── FlutterMacros.h │ │ │ │ │ │ └── Source/ │ │ │ │ │ │ └── ClayServiceManager.mm │ │ │ │ │ └── framework_shared.gni │ │ │ │ ├── graphics/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── FlutterDarwinContextMetalSkia.h │ │ │ │ │ ├── FlutterDarwinContextMetalSkia.mm │ │ │ │ │ ├── FlutterDarwinContextMetalSkity.h │ │ │ │ │ └── FlutterDarwinContextMetalSkity.mm │ │ │ │ └── macos/ │ │ │ │ ├── BUILD.gn │ │ │ │ └── framework/ │ │ │ │ ├── Headers/ │ │ │ │ │ ├── ClayMacOS.h │ │ │ │ │ ├── ClayViewProvider.h │ │ │ │ │ ├── FlutterAppDelegate.h │ │ │ │ │ ├── FlutterEngine.h │ │ │ │ │ ├── FlutterPlatformViews.h │ │ │ │ │ ├── FlutterPluginMacOS.h │ │ │ │ │ ├── FlutterPluginRegistrarMacOS.h │ │ │ │ │ ├── FlutterView.h │ │ │ │ │ └── FlutterViewController.h │ │ │ │ └── Source/ │ │ │ │ ├── ClayMouseCursorPlugin.h │ │ │ │ ├── ClayMouseCursorPlugin.mm │ │ │ │ ├── ClayViewProvider.mm │ │ │ │ ├── ClayViewProvider_Internal.h │ │ │ │ ├── FlutterAppDelegate.mm │ │ │ │ ├── FlutterEmbedderKeyResponder.h │ │ │ │ ├── FlutterEmbedderKeyResponder.mm │ │ │ │ ├── FlutterEngine.mm │ │ │ │ ├── FlutterEngine_Internal.h │ │ │ │ ├── FlutterKeyPrimaryResponder.h │ │ │ │ ├── FlutterKeyboardManager.h │ │ │ │ ├── FlutterKeyboardManager.mm │ │ │ │ ├── FlutterKeyboardViewDelegate.h │ │ │ │ ├── FlutterPlatformViewController.h │ │ │ │ ├── FlutterPlatformViewController.mm │ │ │ │ ├── FlutterRenderer.h │ │ │ │ ├── FlutterRenderer.mm │ │ │ │ ├── FlutterSurface.h │ │ │ │ ├── FlutterSurface.mm │ │ │ │ ├── FlutterSurfaceManager.h │ │ │ │ ├── FlutterSurfaceManager.mm │ │ │ │ ├── FlutterTextInputPlugin.h │ │ │ │ ├── FlutterTextInputPlugin.mm │ │ │ │ ├── FlutterThreadSynchronizer.h │ │ │ │ ├── FlutterThreadSynchronizer.mm │ │ │ │ ├── FlutterView.h │ │ │ │ ├── FlutterView.mm │ │ │ │ ├── FlutterViewController.mm │ │ │ │ ├── FlutterViewController_Internal.h │ │ │ │ ├── FlutterViewEngineProvider.h │ │ │ │ ├── FlutterViewEngineProvider.mm │ │ │ │ ├── FlutterViewProvider.h │ │ │ │ ├── KeyCodeMap.g.mm │ │ │ │ └── KeyCodeMap_Internal.h │ │ │ ├── embedder/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── embedder_engine.cc │ │ │ │ ├── embedder_engine.h │ │ │ │ ├── embedder_struct_macros.h │ │ │ │ ├── embedder_surface.cc │ │ │ │ ├── embedder_surface.h │ │ │ │ ├── embedder_surface_gl.cc │ │ │ │ ├── embedder_surface_gl.h │ │ │ │ ├── embedder_surface_metal.h │ │ │ │ ├── embedder_surface_metal.mm │ │ │ │ ├── embedder_surface_software.cc │ │ │ │ ├── embedder_surface_software.h │ │ │ │ ├── embedder_task_runner.cc │ │ │ │ ├── embedder_task_runner.h │ │ │ │ ├── embedder_thread_host.cc │ │ │ │ ├── embedder_thread_host.h │ │ │ │ ├── platform_view_embedder.cc │ │ │ │ ├── platform_view_embedder.h │ │ │ │ ├── platform_view_embedder_delegate.cc │ │ │ │ ├── platform_view_embedder_delegate.h │ │ │ │ ├── shell_platform_embedder_rendering_backend.h │ │ │ │ ├── vsync_waiter_embedder.cc │ │ │ │ └── vsync_waiter_embedder.h │ │ │ ├── headless/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── clay_event_loop.cc │ │ │ │ ├── clay_event_loop.h │ │ │ │ ├── clay_headless_engine.cc │ │ │ │ ├── clay_headless_engine.h │ │ │ │ ├── clay_headless_renderer.cc │ │ │ │ ├── clay_headless_renderer.h │ │ │ │ ├── gl/ │ │ │ │ │ ├── clay_headless_renderer_angle.cc │ │ │ │ │ ├── clay_headless_renderer_angle.h │ │ │ │ │ ├── clay_headless_renderer_cgl.cc │ │ │ │ │ ├── clay_headless_renderer_cgl.h │ │ │ │ │ ├── clay_headless_renderer_epoxy.cc │ │ │ │ │ ├── clay_headless_renderer_epoxy.h │ │ │ │ │ ├── clay_headless_renderer_gl.cc │ │ │ │ │ ├── clay_headless_renderer_gl.h │ │ │ │ │ ├── clay_headless_renderer_gles.cc │ │ │ │ │ ├── clay_headless_renderer_gles.h │ │ │ │ │ ├── clay_headless_renderer_host_gl.cc │ │ │ │ │ └── clay_headless_renderer_host_gl.h │ │ │ │ ├── metal/ │ │ │ │ │ ├── clay_headless_renderer_metal.h │ │ │ │ │ └── clay_headless_renderer_metal.mm │ │ │ │ └── public/ │ │ │ │ └── embdder_headless_delegate.h │ │ │ └── windows/ │ │ │ ├── BUILD.gn │ │ │ ├── cursor_handler.cc │ │ │ ├── cursor_handler.h │ │ │ ├── direct_manipulation.cc │ │ │ ├── direct_manipulation.h │ │ │ ├── dpi_utils.cc │ │ │ ├── dpi_utils.h │ │ │ ├── egl/ │ │ │ │ ├── child_window_win.cc │ │ │ │ ├── child_window_win.h │ │ │ │ ├── context.cc │ │ │ │ ├── context.h │ │ │ │ ├── direct_composition_surface.cc │ │ │ │ ├── direct_composition_surface.h │ │ │ │ ├── egl.cc │ │ │ │ ├── egl.h │ │ │ │ ├── manager.cc │ │ │ │ ├── manager.h │ │ │ │ ├── surface.cc │ │ │ │ ├── surface.h │ │ │ │ ├── window_surface.cc │ │ │ │ └── window_surface.h │ │ │ ├── flutter_key_map.g.cc │ │ │ ├── flutter_project_bundle.cc │ │ │ ├── flutter_project_bundle.h │ │ │ ├── flutter_window.cc │ │ │ ├── flutter_window.h │ │ │ ├── flutter_windows_engine.cc │ │ │ ├── flutter_windows_engine.h │ │ │ ├── flutter_windows_view.cc │ │ │ ├── flutter_windows_view.h │ │ │ ├── keyboard_handler_base.h │ │ │ ├── keyboard_key_embedder_handler.cc │ │ │ ├── keyboard_key_embedder_handler.h │ │ │ ├── keyboard_key_handler.cc │ │ │ ├── keyboard_key_handler.h │ │ │ ├── keyboard_manager.cc │ │ │ ├── keyboard_manager.h │ │ │ ├── keyboard_utils.cc │ │ │ ├── keyboard_utils.h │ │ │ ├── platform_handler.cc │ │ │ ├── platform_handler.h │ │ │ ├── sequential_id_generator.cc │ │ │ ├── sequential_id_generator.h │ │ │ ├── task_runner.cc │ │ │ ├── task_runner.h │ │ │ ├── task_runner_window.cc │ │ │ ├── task_runner_window.h │ │ │ ├── text_input_manager.cc │ │ │ ├── text_input_manager.h │ │ │ ├── text_input_plugin.cc │ │ │ ├── text_input_plugin.h │ │ │ ├── text_input_plugin_delegate.h │ │ │ ├── window.cc │ │ │ ├── window.h │ │ │ ├── window_binding_handler.h │ │ │ ├── window_binding_handler_delegate.h │ │ │ ├── window_mouse_drop_handler.cc │ │ │ ├── window_mouse_drop_handler.h │ │ │ ├── window_move_handler.cc │ │ │ ├── window_move_handler.h │ │ │ ├── window_proc_delegate_manager.cc │ │ │ ├── window_proc_delegate_manager.h │ │ │ ├── windows_proc_table.cc │ │ │ ├── windows_proc_table.h │ │ │ └── windowsx_shim.h │ │ └── profiling/ │ │ ├── BUILD.gn │ │ ├── sampling_profiler.cc │ │ ├── sampling_profiler.h │ │ └── sampling_profiler_unittest.cc │ ├── testing/ │ │ ├── .vpython │ │ ├── .vpython3 │ │ ├── BUILD.gn │ │ ├── CPPLINT.cfg │ │ ├── analysis_options.yaml │ │ ├── analyze_core_dump.sh │ │ ├── android_systrace_test.py │ │ ├── assertions.h │ │ ├── assertions_skia.cc │ │ ├── assertions_skia.h │ │ ├── canvas_test.h │ │ ├── debugger_detection.cc │ │ ├── debugger_detection.h │ │ ├── fixture_test.cc │ │ ├── fixture_test.h │ │ ├── lsan_suppressions.txt │ │ ├── mock_canvas.cc │ │ ├── mock_canvas.h │ │ ├── mock_canvas_unittests.cc │ │ ├── post_task_sync.cc │ │ ├── post_task_sync.h │ │ ├── run_all_unittests.cc │ │ ├── run_tests.py │ │ ├── run_tests.sh │ │ ├── sanitizer_suppressions.sh │ │ ├── test_gl_surface.cc │ │ ├── test_gl_surface.h │ │ ├── test_metal_context.h │ │ ├── test_metal_context.mm │ │ ├── test_metal_surface.cc │ │ ├── test_metal_surface.h │ │ ├── test_metal_surface_impl.h │ │ ├── test_metal_surface_impl.mm │ │ ├── test_metal_surface_unittests.cc │ │ ├── test_timeout_listener.cc │ │ ├── test_timeout_listener.h │ │ ├── testing.cc │ │ ├── testing.gni │ │ ├── testing.h │ │ ├── thread_test.cc │ │ ├── thread_test.h │ │ ├── tsan_suppressions.txt │ │ ├── ubsan_suppressions.txt │ │ └── xvfb.py │ ├── third_party/ │ │ ├── CPPLINT.cfg │ │ ├── skity_geometry/ │ │ │ ├── BUILD.gn │ │ │ ├── include/ │ │ │ │ └── skity/ │ │ │ │ ├── geometry/ │ │ │ │ │ ├── matrix.hpp │ │ │ │ │ ├── point.hpp │ │ │ │ │ ├── rect.hpp │ │ │ │ │ ├── rrect.hpp │ │ │ │ │ ├── scalar.hpp │ │ │ │ │ └── vector.hpp │ │ │ │ └── macros.hpp │ │ │ └── src/ │ │ │ └── geometry/ │ │ │ ├── glm_helper.hpp │ │ │ ├── math.hpp │ │ │ ├── matrix.cc │ │ │ ├── rect.cc │ │ │ └── rrect.cc │ │ └── txt/ │ │ ├── .clang-format │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── BUILD.gn │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── benchmarks/ │ │ │ ├── paint_record_benchmarks.cc │ │ │ ├── paragraph_benchmarks.cc │ │ │ ├── paragraph_builder_benchmarks.cc │ │ │ ├── skparagraph_benchmarks.cc │ │ │ └── txt_run_all_benchmarks.cc │ │ ├── src/ │ │ │ ├── log/ │ │ │ │ ├── log.cc │ │ │ │ └── log.h │ │ │ ├── minikin/ │ │ │ │ ├── CmapCoverage.cpp │ │ │ │ ├── CmapCoverage.h │ │ │ │ ├── Emoji.cpp │ │ │ │ ├── Emoji.h │ │ │ │ ├── FontCollection.cpp │ │ │ │ ├── FontCollection.h │ │ │ │ ├── FontFamily.cpp │ │ │ │ ├── FontFamily.h │ │ │ │ ├── FontLanguage.cpp │ │ │ │ ├── FontLanguage.h │ │ │ │ ├── FontLanguageListCache.cpp │ │ │ │ ├── FontLanguageListCache.h │ │ │ │ ├── FontUtils.cpp │ │ │ │ ├── FontUtils.h │ │ │ │ ├── GraphemeBreak.cpp │ │ │ │ ├── GraphemeBreak.h │ │ │ │ ├── HbFontCache.cpp │ │ │ │ ├── HbFontCache.h │ │ │ │ ├── Hyphenator.cpp │ │ │ │ ├── Hyphenator.h │ │ │ │ ├── Layout.cpp │ │ │ │ ├── Layout.h │ │ │ │ ├── LayoutUtils.cpp │ │ │ │ ├── LayoutUtils.h │ │ │ │ ├── LineBreaker.cpp │ │ │ │ ├── LineBreaker.h │ │ │ │ ├── Measurement.cpp │ │ │ │ ├── Measurement.h │ │ │ │ ├── MinikinFont.cpp │ │ │ │ ├── MinikinFont.h │ │ │ │ ├── MinikinInternal.cpp │ │ │ │ ├── MinikinInternal.h │ │ │ │ ├── SparseBitSet.cpp │ │ │ │ ├── SparseBitSet.h │ │ │ │ ├── WordBreaker.cpp │ │ │ │ └── WordBreaker.h │ │ │ ├── skia/ │ │ │ │ ├── paragraph_builder_skia.cc │ │ │ │ ├── paragraph_builder_skia.h │ │ │ │ ├── paragraph_skia.cc │ │ │ │ └── paragraph_skia.h │ │ │ ├── tttext/ │ │ │ │ ├── paragraph_builder_tt_text.cc │ │ │ │ ├── paragraph_builder_tt_text.h │ │ │ │ ├── paragraph_tt_text.cc │ │ │ │ ├── paragraph_tt_text.h │ │ │ │ └── tttext_headers.h │ │ │ ├── txt/ │ │ │ │ ├── asset_font_manager_skia.cc │ │ │ │ ├── asset_font_manager_skia.h │ │ │ │ ├── asset_font_manager_skity.cc │ │ │ │ ├── asset_font_manager_skity.h │ │ │ │ ├── font_asset_provider.cc │ │ │ │ ├── font_asset_provider.h │ │ │ │ ├── font_asset_provider_skity.h │ │ │ │ ├── font_collection_skia.cc │ │ │ │ ├── font_collection_skia.h │ │ │ │ ├── font_collection_skity.cc │ │ │ │ ├── font_collection_skity.h │ │ │ │ ├── font_features.cc │ │ │ │ ├── font_features.h │ │ │ │ ├── font_skia.cc │ │ │ │ ├── font_skia.h │ │ │ │ ├── font_style.h │ │ │ │ ├── font_weight.h │ │ │ │ ├── line_metrics.h │ │ │ │ ├── paint_record.cc │ │ │ │ ├── paint_record.h │ │ │ │ ├── paragraph.h │ │ │ │ ├── paragraph_builder.cc │ │ │ │ ├── paragraph_builder.h │ │ │ │ ├── paragraph_builder_txt.cc │ │ │ │ ├── paragraph_builder_txt.h │ │ │ │ ├── paragraph_style.cc │ │ │ │ ├── paragraph_style.h │ │ │ │ ├── paragraph_txt.cc │ │ │ │ ├── paragraph_txt.h │ │ │ │ ├── placeholder_run.cc │ │ │ │ ├── placeholder_run.h │ │ │ │ ├── platform.cc │ │ │ │ ├── platform.h │ │ │ │ ├── platform_android.cc │ │ │ │ ├── platform_fuchsia.cc │ │ │ │ ├── platform_harmony.cc │ │ │ │ ├── platform_linux.cc │ │ │ │ ├── platform_mac.mm │ │ │ │ ├── platform_windows.cc │ │ │ │ ├── run_metrics.h │ │ │ │ ├── styled_runs.cc │ │ │ │ ├── styled_runs.h │ │ │ │ ├── test_font_manager.cc │ │ │ │ ├── test_font_manager.h │ │ │ │ ├── text_baseline.h │ │ │ │ ├── text_decoration.cc │ │ │ │ ├── text_decoration.h │ │ │ │ ├── text_shadow.cc │ │ │ │ ├── text_shadow.h │ │ │ │ ├── text_style.cc │ │ │ │ ├── text_style.h │ │ │ │ ├── typeface_font_asset_provider_skia.cc │ │ │ │ ├── typeface_font_asset_provider_skia.h │ │ │ │ ├── typeface_font_asset_provider_skity.cc │ │ │ │ └── typeface_font_asset_provider_skity.h │ │ │ └── utils/ │ │ │ ├── JenkinsHash.cpp │ │ │ ├── JenkinsHash.h │ │ │ ├── LinuxUtils.h │ │ │ ├── LruCache.h │ │ │ ├── MacUtils.h │ │ │ ├── TypeHelpers.h │ │ │ └── WindowsUtils.h │ │ └── tests/ │ │ ├── CmapCoverageTest.cpp │ │ ├── EmojiTest.cpp │ │ ├── FileUtils.cpp │ │ ├── FileUtils.h │ │ ├── FontCollectionItemizeTest.cpp │ │ ├── FontCollectionTest.cpp │ │ ├── FontFamilyTest.cpp │ │ ├── FontLanguageListCacheTest.cpp │ │ ├── FontTestUtils.cpp │ │ ├── FontTestUtils.h │ │ ├── GraphemeBreakTests.cpp │ │ ├── HbFontCacheTest.cpp │ │ ├── HyphenatorTest.cpp │ │ ├── ICUTestBase.h │ │ ├── LayoutTest.cpp │ │ ├── LayoutUtilsTest.cpp │ │ ├── MeasurementTests.cpp │ │ ├── MinikinFontForTest.cpp │ │ ├── MinikinFontForTest.h │ │ ├── SparseBitSetTest.cpp │ │ ├── UnicodeUtils.cpp │ │ ├── UnicodeUtils.h │ │ ├── UnicodeUtilsTest.cpp │ │ ├── WordBreakerTests.cpp │ │ ├── fake_provider.h │ │ ├── font_collection_unittests.cc │ │ ├── old/ │ │ │ ├── perftests/ │ │ │ │ ├── FontCollection.cpp │ │ │ │ ├── FontFamily.cpp │ │ │ │ ├── FontLanguage.cpp │ │ │ │ ├── GraphemeBreak.cpp │ │ │ │ ├── Hyphenator.cpp │ │ │ │ ├── WordBreaker.cpp │ │ │ │ └── main.cpp │ │ │ └── stresstest/ │ │ │ └── MultithreadTest.cpp │ │ ├── paragraph_unittests.cc │ │ ├── platform_fuchsia_unittests.cc │ │ ├── render_test.cc │ │ ├── render_test.h │ │ ├── txt_run_all_unittests.cc │ │ ├── txt_test_utils.cc │ │ └── txt_test_utils.h │ ├── tools/ │ │ └── make_keywords.py │ ├── ui/ │ │ ├── BUILD.gn │ │ ├── common/ │ │ │ ├── attribute_utils.cc │ │ │ ├── attribute_utils.h │ │ │ ├── attribute_utils_unittests.cc │ │ │ ├── background_data.cc │ │ │ ├── background_data.h │ │ │ ├── build.gni │ │ │ ├── editing_misc.h │ │ │ ├── fps_tracer.cc │ │ │ ├── fps_tracer.h │ │ │ ├── frame_timing_collector.cc │ │ │ ├── frame_timing_collector.h │ │ │ ├── gap_task.h │ │ │ ├── gap_worker.cc │ │ │ ├── gap_worker.h │ │ │ ├── input_client_manager.h │ │ │ ├── isolate.cc │ │ │ ├── isolate.h │ │ │ ├── json_utils.h │ │ │ ├── macros.h │ │ │ ├── measure_constraint.h │ │ │ ├── overlay_manager.cc │ │ │ ├── overlay_manager.h │ │ │ ├── render_settings.cc │ │ │ ├── render_settings.h │ │ │ ├── text_input_type_traits.h │ │ │ ├── text_selection.h │ │ │ ├── type_info.h │ │ │ ├── utils/ │ │ │ │ ├── floating_comparison.h │ │ │ │ ├── value_change_notifier.h │ │ │ │ ├── watch_dog.cc │ │ │ │ └── watch_dog.h │ │ │ ├── value_utils.cc │ │ │ └── value_utils.h │ │ ├── component/ │ │ │ ├── base_image_view.cc │ │ │ ├── base_image_view.h │ │ │ ├── base_view.cc │ │ │ ├── base_view.h │ │ │ ├── base_view_animation_mutator.cc │ │ │ ├── base_view_animation_mutator.h │ │ │ ├── base_view_unittests.cc │ │ │ ├── bounce_view/ │ │ │ │ ├── bounce_view.cc │ │ │ │ └── bounce_view.h │ │ │ ├── build.gni │ │ │ ├── builtin_views.cc │ │ │ ├── builtin_views.h │ │ │ ├── component.cc │ │ │ ├── component.h │ │ │ ├── component_constants.cc │ │ │ ├── component_constants.h │ │ │ ├── css_property.cc │ │ │ ├── css_property.h │ │ │ ├── editable/ │ │ │ │ ├── editable_view.cc │ │ │ │ ├── editable_view.h │ │ │ │ ├── ime_listener.h │ │ │ │ ├── ime_utils.cc │ │ │ │ ├── ime_utils.h │ │ │ │ ├── input_ng_view.cc │ │ │ │ ├── input_ng_view.h │ │ │ │ ├── input_view.cc │ │ │ │ ├── input_view.h │ │ │ │ ├── text_editing_controller.cc │ │ │ │ ├── text_editing_controller.h │ │ │ │ ├── text_input_controller.cc │ │ │ │ ├── text_input_controller.h │ │ │ │ ├── text_span.cc │ │ │ │ ├── text_span.h │ │ │ │ ├── text_utils.h │ │ │ │ ├── textarea_ng_view.cc │ │ │ │ ├── textarea_ng_view.h │ │ │ │ ├── textarea_ng_view_unittests.cc │ │ │ │ ├── textarea_view.cc │ │ │ │ └── textarea_view.h │ │ │ ├── expose_manager/ │ │ │ │ ├── expose_observer.cc │ │ │ │ └── expose_observer.h │ │ │ ├── focus/ │ │ │ │ ├── focus_isolate.cc │ │ │ │ └── focus_isolate.h │ │ │ ├── focus_event_handler.h │ │ │ ├── focus_node.cc │ │ │ ├── focus_node.h │ │ │ ├── hittest_request.h │ │ │ ├── image_view.cc │ │ │ ├── image_view.h │ │ │ ├── inline_image_view.cc │ │ │ ├── inline_image_view.h │ │ │ ├── intersection_observer.cc │ │ │ ├── intersection_observer.h │ │ │ ├── intersection_observer_manager.cc │ │ │ ├── intersection_observer_manager.h │ │ │ ├── isolated_gesture_detector.h │ │ │ ├── key_event_handler.cc │ │ │ ├── key_event_handler.h │ │ │ ├── keyframe_animator_unittests.cc │ │ │ ├── keywords.cc │ │ │ ├── keywords.h │ │ │ ├── keywords.in │ │ │ ├── layout_controller.cc │ │ │ ├── layout_controller.h │ │ │ ├── list/ │ │ │ │ ├── base_list_view.cc │ │ │ │ ├── base_list_view.h │ │ │ │ ├── base_list_view_unittests.cc │ │ │ │ ├── focus_list_adapter.cc │ │ │ │ ├── focus_list_adapter.h │ │ │ │ ├── focus_list_item_view_holder.cc │ │ │ │ ├── focus_list_item_view_holder.h │ │ │ │ ├── focus_list_view.cc │ │ │ │ ├── focus_list_view.h │ │ │ │ ├── focus_list_view_unittests.cc │ │ │ │ ├── list_adapter.cc │ │ │ │ ├── list_adapter.h │ │ │ │ ├── list_adapter_helper.cc │ │ │ │ ├── list_adapter_helper.h │ │ │ │ ├── list_adapter_updater.cc │ │ │ │ ├── list_adapter_updater.h │ │ │ │ ├── list_children_helper.cc │ │ │ │ ├── list_children_helper.h │ │ │ │ ├── list_common/ │ │ │ │ │ ├── layout_types.cc │ │ │ │ │ └── layout_types.h │ │ │ │ ├── list_container/ │ │ │ │ │ ├── list_container_view.cc │ │ │ │ │ ├── list_container_view.h │ │ │ │ │ ├── list_container_wrapper.cc │ │ │ │ │ └── list_container_wrapper.h │ │ │ │ ├── list_item_length_cache.cc │ │ │ │ ├── list_item_length_cache.h │ │ │ │ ├── list_item_length_cache_unittests.cc │ │ │ │ ├── list_item_view.cc │ │ │ │ ├── list_item_view.h │ │ │ │ ├── list_item_view_holder.cc │ │ │ │ ├── list_item_view_holder.h │ │ │ │ ├── list_layout_manager.cc │ │ │ │ ├── list_layout_manager.h │ │ │ │ ├── list_layout_manager_grid.cc │ │ │ │ ├── list_layout_manager_grid.h │ │ │ │ ├── list_layout_manager_linear.cc │ │ │ │ ├── list_layout_manager_linear.h │ │ │ │ ├── list_layout_manager_staggered_grid.cc │ │ │ │ ├── list_layout_manager_staggered_grid.h │ │ │ │ ├── list_orientation_helper.cc │ │ │ │ ├── list_orientation_helper.h │ │ │ │ ├── list_recycler.cc │ │ │ │ ├── list_recycler.h │ │ │ │ ├── list_scroller.cc │ │ │ │ ├── list_scroller.h │ │ │ │ ├── list_view.cc │ │ │ │ ├── list_view.h │ │ │ │ ├── list_wrapper.cc │ │ │ │ ├── list_wrapper.h │ │ │ │ ├── lynx_list_adapter.cc │ │ │ │ ├── lynx_list_adapter.h │ │ │ │ ├── lynx_list_data.cc │ │ │ │ ├── lynx_list_data.h │ │ │ │ ├── lynx_list_item_view_holder.cc │ │ │ │ ├── lynx_list_item_view_holder.h │ │ │ │ └── macros.h │ │ │ ├── measurable.h │ │ │ ├── mouse_cursor.h │ │ │ ├── native_view.cc │ │ │ ├── native_view.h │ │ │ ├── native_view_unittests.cc │ │ │ ├── nested_scroll/ │ │ │ │ ├── nested_scroll_manager.cc │ │ │ │ ├── nested_scroll_manager.h │ │ │ │ ├── nested_scrollable.cc │ │ │ │ ├── nested_scrollable.h │ │ │ │ ├── nested_scrollable_unittests.cc │ │ │ │ ├── overscroll_effect.cc │ │ │ │ ├── overscroll_effect.h │ │ │ │ ├── raster_fling_manager.cc │ │ │ │ └── raster_fling_manager.h │ │ │ ├── overlay_view.cc │ │ │ ├── overlay_view.h │ │ │ ├── overlay_view_unittests.cc │ │ │ ├── page_view.cc │ │ │ ├── page_view.h │ │ │ ├── page_view_unittests.cc │ │ │ ├── rubberband_distance.cc │ │ │ ├── rubberband_distance.h │ │ │ ├── scroll_view.cc │ │ │ ├── scroll_view.h │ │ │ ├── scroll_view_unittests.cc │ │ │ ├── scroll_wrapper.cc │ │ │ ├── scroll_wrapper.h │ │ │ ├── scrollable.cc │ │ │ ├── scrollable.h │ │ │ ├── scrollbar/ │ │ │ │ ├── scrollbar_orientation_helper.cc │ │ │ │ ├── scrollbar_orientation_helper.h │ │ │ │ ├── scrollbar_view.cc │ │ │ │ ├── scrollbar_view.h │ │ │ │ ├── scrollbar_wrapper.cc │ │ │ │ └── scrollbar_wrapper.h │ │ │ ├── scroller.cc │ │ │ ├── scroller.h │ │ │ ├── scroller_animator.cc │ │ │ ├── scroller_animator.h │ │ │ ├── selection_handle_view.cc │ │ │ ├── selection_handle_view.h │ │ │ ├── selection_popup_view.cc │ │ │ ├── selection_popup_view.h │ │ │ ├── soft_keyboard_resources.cc │ │ │ ├── soft_keyboard_resources.h │ │ │ ├── tappable_image_view.h │ │ │ ├── text/ │ │ │ │ ├── base_text_view.cc │ │ │ │ ├── base_text_view.h │ │ │ │ ├── inline_spec_styles.h │ │ │ │ ├── inline_text_view.cc │ │ │ │ ├── inline_text_view.h │ │ │ │ ├── internal_text_view.cc │ │ │ │ ├── internal_text_view.h │ │ │ │ ├── layout_client.h │ │ │ │ ├── layout_context.cc │ │ │ │ ├── layout_context.h │ │ │ │ ├── raw_text_view.cc │ │ │ │ ├── raw_text_view.h │ │ │ │ ├── tappable_text_view.h │ │ │ │ ├── text_paragraph_builder.cc │ │ │ │ ├── text_paragraph_builder.h │ │ │ │ ├── text_style.h │ │ │ │ ├── text_view.cc │ │ │ │ ├── text_view.h │ │ │ │ ├── text_view_unittests.cc │ │ │ │ ├── tttext_headers.h │ │ │ │ └── unicode_util.h │ │ │ ├── title_bar_view.cc │ │ │ ├── title_bar_view.h │ │ │ ├── view.cc │ │ │ ├── view.h │ │ │ ├── view_callback/ │ │ │ │ ├── list_container_event_callback_manager.cc │ │ │ │ ├── list_container_event_callback_manager.h │ │ │ │ ├── list_event_callback_manager.cc │ │ │ │ ├── list_event_callback_manager.h │ │ │ │ ├── scroll_event_callback_manager.cc │ │ │ │ └── scroll_event_callback_manager.h │ │ │ ├── view_context.cc │ │ │ ├── view_context.h │ │ │ ├── view_registry.cc │ │ │ ├── view_registry.h │ │ │ ├── view_tree_observer.cc │ │ │ └── view_tree_observer.h │ │ ├── compositing/ │ │ │ ├── build.gni │ │ │ ├── frame_builder.cc │ │ │ ├── frame_builder.h │ │ │ ├── frame_builder_unittests.cc │ │ │ ├── pending_container_layer.cc │ │ │ ├── pending_container_layer.h │ │ │ ├── pending_container_layer_unittests.cc │ │ │ ├── pending_drawable_image_layer.cc │ │ │ ├── pending_drawable_image_layer.h │ │ │ ├── pending_effect_layer.cc │ │ │ ├── pending_effect_layer.h │ │ │ ├── pending_external_view_layer.cc │ │ │ ├── pending_external_view_layer.h │ │ │ ├── pending_layer.cc │ │ │ ├── pending_layer.h │ │ │ ├── pending_layer_unittests.cc │ │ │ ├── pending_offset_layer.cc │ │ │ ├── pending_offset_layer.h │ │ │ ├── pending_picture_layer.cc │ │ │ ├── pending_picture_layer.h │ │ │ ├── pending_platform_view_layer.cc │ │ │ ├── pending_platform_view_layer.h │ │ │ ├── pending_punch_hole_layer.cc │ │ │ ├── pending_punch_hole_layer.h │ │ │ ├── pending_scroll_offset_layer.cc │ │ │ ├── pending_scroll_offset_layer.h │ │ │ ├── pending_transform_layer.cc │ │ │ ├── pending_transform_layer.h │ │ │ └── testing/ │ │ │ └── mock_pending_layer.h │ │ ├── event/ │ │ │ ├── build.gni │ │ │ ├── event_utils.cc │ │ │ ├── event_utils.h │ │ │ ├── focus_isolate_unittests.cc │ │ │ ├── focus_manager.cc │ │ │ ├── focus_manager.h │ │ │ ├── focus_manager_unittests.cc │ │ │ ├── gesture_event.cc │ │ │ ├── gesture_event.h │ │ │ ├── gesture_event_unittests.cc │ │ │ ├── key_code_converter.cc │ │ │ ├── key_code_converter.h │ │ │ ├── key_codes.h │ │ │ ├── key_event.cc │ │ │ ├── key_event.h │ │ │ └── keyboard_key.h │ │ ├── gesture/ │ │ │ ├── arena.h │ │ │ ├── arena_manager.cc │ │ │ ├── arena_manager.h │ │ │ ├── arena_member.h │ │ │ ├── build.gni │ │ │ ├── drag_drop_manager.cc │ │ │ ├── drag_drop_manager.h │ │ │ ├── drag_gesture_recognizer.cc │ │ │ ├── drag_gesture_recognizer.h │ │ │ ├── gesture_manager.cc │ │ │ ├── gesture_manager.h │ │ │ ├── gesture_manager_unittests.cc │ │ │ ├── gesture_recognizer.cc │ │ │ ├── gesture_recognizer.h │ │ │ ├── hit_test.h │ │ │ ├── hit_test_responsive_result.h │ │ │ ├── long_press_gesture_recognizer.cc │ │ │ ├── long_press_gesture_recognizer.h │ │ │ ├── macros.h │ │ │ ├── mouse_cursor_manager.cc │ │ │ ├── mouse_cursor_manager.h │ │ │ ├── mouse_region_manager.cc │ │ │ ├── mouse_region_manager.h │ │ │ ├── mouse_region_manager_unittests.cc │ │ │ ├── mouse_wheel_phase_handler.cc │ │ │ ├── mouse_wheel_phase_handler.h │ │ │ ├── multi_tap_gesture_recognizer.cc │ │ │ ├── multi_tap_gesture_recognizer.h │ │ │ ├── pointer_router.cc │ │ │ ├── pointer_router.h │ │ │ ├── scrollable_direction.h │ │ │ ├── tap_gesture_recognizer.cc │ │ │ ├── tap_gesture_recognizer.h │ │ │ ├── velocity_tracker.cc │ │ │ ├── velocity_tracker.h │ │ │ └── velocity_tracker_unittests.cc │ │ ├── lynx_module/ │ │ │ ├── build.gni │ │ │ ├── lynx_module_unittests.cc │ │ │ ├── lynx_ui_method_registrar.cc │ │ │ ├── lynx_ui_method_registrar.h │ │ │ ├── lynx_ui_method_types.h │ │ │ ├── lynx_ui_method_unittests.cc │ │ │ ├── type_utils.cc │ │ │ ├── type_utils.h │ │ │ ├── types.cc │ │ │ └── types.h │ │ ├── painter/ │ │ │ ├── border_side.h │ │ │ ├── box_decoration_data.h │ │ │ ├── box_painter.cc │ │ │ ├── box_painter.h │ │ │ ├── box_painter_unittests.cc │ │ │ ├── box_shadow_painter.cc │ │ │ ├── box_shadow_painter.h │ │ │ ├── build.gni │ │ │ ├── gradient.cc │ │ │ ├── gradient.h │ │ │ ├── gradient_factory.cc │ │ │ ├── gradient_factory.h │ │ │ ├── gradient_unittests.cc │ │ │ ├── image_painter.cc │ │ │ ├── image_painter.h │ │ │ ├── image_painter_unittests.cc │ │ │ ├── object_painter.cc │ │ │ ├── object_painter.h │ │ │ ├── painter_graphics_test.cc │ │ │ ├── painter_graphics_test.h │ │ │ ├── painting_context.cc │ │ │ ├── painting_context.h │ │ │ ├── painting_context_unittests.cc │ │ │ ├── text_painter.cc │ │ │ └── text_painter.h │ │ ├── platform/ │ │ │ ├── build.gni │ │ │ ├── common/ │ │ │ │ ├── native_view_service_common.cc │ │ │ │ ├── native_view_service_common.h │ │ │ │ ├── resource_loader_common.cc │ │ │ │ ├── resource_loader_common_net.cc │ │ │ │ ├── resource_loader_common_net.h │ │ │ │ └── utils.h │ │ │ ├── cursor_types.cc │ │ │ ├── cursor_types.h │ │ │ ├── keyboard_bridge.cc │ │ │ ├── keyboard_bridge.h │ │ │ ├── keyboard_types.h │ │ │ └── native_view_service.h │ │ ├── public/ │ │ │ ├── build.gni │ │ │ ├── clay.cc │ │ │ └── value.cc │ │ ├── render_delegate.h │ │ ├── rendering/ │ │ │ ├── abstract_node.cc │ │ │ ├── abstract_node.h │ │ │ ├── abstract_node_unittests.cc │ │ │ ├── build.gni │ │ │ ├── decode_utils.cc │ │ │ ├── decode_utils.h │ │ │ ├── editable/ │ │ │ │ ├── render_editable.cc │ │ │ │ └── render_editable.h │ │ │ ├── render_bounce.h │ │ │ ├── render_box.cc │ │ │ ├── render_box.h │ │ │ ├── render_box_unittests.cc │ │ │ ├── render_container.cc │ │ │ ├── render_container.h │ │ │ ├── render_dummy.h │ │ │ ├── render_external_content.cc │ │ │ ├── render_external_content.h │ │ │ ├── render_external_view.cc │ │ │ ├── render_external_view.h │ │ │ ├── render_image.cc │ │ │ ├── render_image.h │ │ │ ├── render_list.cc │ │ │ ├── render_list.h │ │ │ ├── render_object.cc │ │ │ ├── render_object.h │ │ │ ├── render_object_child_list.cc │ │ │ ├── render_object_child_list.h │ │ │ ├── render_object_child_list_unittests.cc │ │ │ ├── render_object_unittests.cc │ │ │ ├── render_overlay.cc │ │ │ ├── render_overlay.h │ │ │ ├── render_page.cc │ │ │ ├── render_page.h │ │ │ ├── render_scroll.cc │ │ │ ├── render_scroll.h │ │ │ ├── renderer.cc │ │ │ ├── renderer.h │ │ │ └── text/ │ │ │ ├── render_inline_text.cc │ │ │ ├── render_inline_text.h │ │ │ ├── render_text.cc │ │ │ └── render_text.h │ │ ├── resource/ │ │ │ ├── asset_font_manager_clay.h │ │ │ ├── asset_manager_font_provider_skia.cc │ │ │ ├── asset_manager_font_provider_skia.h │ │ │ ├── asset_manager_font_provider_skity.cc │ │ │ ├── asset_manager_font_provider_skity.h │ │ │ ├── build.gni │ │ │ ├── font_collection.cc │ │ │ ├── font_collection.h │ │ │ ├── font_resource_manager.cc │ │ │ ├── font_resource_manager.h │ │ │ ├── font_resource_manager_unittests.cc │ │ │ ├── gpu_resource_cache.cc │ │ │ ├── gpu_resource_cache.h │ │ │ ├── image_cache.h │ │ │ ├── image_fetcher.cc │ │ │ ├── image_fetcher.h │ │ │ ├── image_manager.cc │ │ │ ├── image_manager.h │ │ │ ├── image_resource_fetcher.cc │ │ │ └── image_resource_fetcher.h │ │ ├── semantics/ │ │ │ ├── build.gni │ │ │ ├── semantics_node.cc │ │ │ ├── semantics_node.h │ │ │ ├── semantics_owner.cc │ │ │ ├── semantics_owner.h │ │ │ ├── semantics_update_builder.cc │ │ │ ├── semantics_update_builder.h │ │ │ └── semantics_update_node.h │ │ ├── shadow/ │ │ │ ├── base_text_shadow_node.cc │ │ │ ├── base_text_shadow_node.h │ │ │ ├── build.gni │ │ │ ├── bundle.h │ │ │ ├── editable_ng_shadow_node.cc │ │ │ ├── editable_ng_shadow_node.h │ │ │ ├── editable_shadow_node.cc │ │ │ ├── editable_shadow_node.h │ │ │ ├── icu_no_substitute.cc │ │ │ ├── icu_substitute.cc │ │ │ ├── icu_substitute.h │ │ │ ├── image_shadow_node.cc │ │ │ ├── image_shadow_node.h │ │ │ ├── inline_image_shadow_node.cc │ │ │ ├── inline_image_shadow_node.h │ │ │ ├── inline_text_shadow_node.cc │ │ │ ├── inline_text_shadow_node.h │ │ │ ├── inline_truncation_shadow_node.cc │ │ │ ├── inline_truncation_shadow_node.h │ │ │ ├── inline_view_shadow_node.cc │ │ │ ├── inline_view_shadow_node.h │ │ │ ├── inner_inline_text_shadow_node.cc │ │ │ ├── inner_inline_text_shadow_node.h │ │ │ ├── inner_text_shadow_node.cc │ │ │ ├── inner_text_shadow_node.h │ │ │ ├── measure_utils.h │ │ │ ├── native_view_shadow_node.cc │ │ │ ├── native_view_shadow_node.h │ │ │ ├── raw_text_shadow_node.cc │ │ │ ├── raw_text_shadow_node.h │ │ │ ├── shadow_layout_context.cc │ │ │ ├── shadow_layout_context.h │ │ │ ├── shadow_node.cc │ │ │ ├── shadow_node.h │ │ │ ├── shadow_node_owner.cc │ │ │ ├── shadow_node_owner.h │ │ │ ├── text_render.cc │ │ │ ├── text_render.h │ │ │ ├── text_shadow_node.cc │ │ │ ├── text_shadow_node.h │ │ │ ├── text_unittests.cc │ │ │ ├── text_update_bundle.cc │ │ │ ├── text_update_bundle.h │ │ │ └── vertical_align_style.h │ │ ├── testing/ │ │ │ ├── test_utils.cc │ │ │ ├── test_utils.h │ │ │ ├── test_utils_unittests.cc │ │ │ ├── ui_test.cc │ │ │ └── ui_test.h │ │ ├── ui_rendering_backend.h │ │ └── window/ │ │ ├── build.gni │ │ ├── key_data.cc │ │ ├── key_data.h │ │ ├── key_data_helper.cc │ │ ├── key_data_helper.h │ │ ├── key_data_packet.cc │ │ ├── key_data_packet.h │ │ ├── pointer_data.cc │ │ ├── pointer_data.h │ │ ├── pointer_data_helper.cc │ │ ├── pointer_data_helper.h │ │ ├── pointer_data_packet.cc │ │ ├── pointer_data_packet.h │ │ ├── pointer_data_packet_converter.cc │ │ ├── pointer_data_packet_converter.h │ │ ├── pointer_data_packet_converter_unittests.cc │ │ ├── pointer_data_packet_unittests.cc │ │ ├── viewport_metrics.cc │ │ └── viewport_metrics.h │ └── version/ │ ├── BUILD.gn │ ├── version.cc │ ├── version.gni │ ├── version.h │ └── write_file.py ├── config.gni ├── core/ │ ├── AGENTS.md │ ├── BUILD.gn │ ├── Lynx.gni │ ├── animation/ │ │ ├── AGENTS.md │ │ ├── BUILD.gn │ │ ├── LICENSE │ │ ├── animation.cc │ │ ├── animation.h │ │ ├── animation_curve.cc │ │ ├── animation_curve.h │ │ ├── animation_delegate.h │ │ ├── animation_trace_event_def.h │ │ ├── animation_unittest.cc │ │ ├── basic_animation/ │ │ │ ├── AGENTS.md │ │ │ ├── BUILD.gn │ │ │ ├── animation_effect.cc │ │ │ ├── animation_effect.h │ │ │ ├── animation_effect_timing.cc │ │ │ ├── animation_effect_timing.h │ │ │ ├── animation_event_listener.h │ │ │ ├── animation_frame_callback.h │ │ │ ├── animation_frame_callback_provider.h │ │ │ ├── animation_timeline.cc │ │ │ ├── animation_timeline.h │ │ │ ├── animator_target.h │ │ │ ├── basic_animatable_values/ │ │ │ │ ├── animatable_values_unittest.cc │ │ │ │ ├── color_property_value.cc │ │ │ │ ├── color_property_value.h │ │ │ │ ├── float_property_value.cc │ │ │ │ ├── float_property_value.h │ │ │ │ ├── int_property_value.cc │ │ │ │ └── int_property_value.h │ │ │ ├── basic_animation.cc │ │ │ ├── basic_animation.h │ │ │ ├── basic_animation_curve.cc │ │ │ ├── basic_animation_curve.h │ │ │ ├── basic_keyframe_effect.cc │ │ │ ├── basic_keyframe_effect.h │ │ │ ├── basic_keyframe_model.cc │ │ │ ├── basic_keyframe_model.h │ │ │ ├── keyframe.cc │ │ │ ├── keyframe.h │ │ │ ├── property_value.h │ │ │ ├── thread_local_animation_handler.cc │ │ │ └── thread_local_animation_handler.h │ │ ├── constants.h │ │ ├── css_keyframe_manager.cc │ │ ├── css_keyframe_manager.h │ │ ├── css_keyframe_manager_unittest.cc │ │ ├── css_transition_manager.cc │ │ ├── css_transition_manager.h │ │ ├── css_transition_manager_unittest.cc │ │ ├── keyframe_effect.cc │ │ ├── keyframe_effect.h │ │ ├── keyframe_effect_unittest.cc │ │ ├── keyframe_model.cc │ │ ├── keyframe_model.h │ │ ├── keyframe_model_unittest.cc │ │ ├── keyframed_animation_curve.cc │ │ ├── keyframed_animation_curve.h │ │ ├── keyframed_animation_curve_unittest.cc │ │ ├── lynx_basic_animator/ │ │ │ ├── AGENTS.md │ │ │ ├── BUILD.gn │ │ │ ├── basic_animator.cc │ │ │ ├── basic_animator.h │ │ │ ├── basic_animator_event_listener.cc │ │ │ ├── basic_animator_event_listener.h │ │ │ ├── basic_animator_frame_callback_provider.cc │ │ │ ├── basic_animator_frame_callback_provider.h │ │ │ ├── basic_property_value.cc │ │ │ ├── basic_property_value.h │ │ │ └── lynx_basic_animator_unittest.cc │ │ ├── testing/ │ │ │ ├── mock_animation.cc │ │ │ ├── mock_animation.h │ │ │ ├── mock_css_keyframe_manager.cc │ │ │ ├── mock_css_keyframe_manager.h │ │ │ ├── mock_css_transition_manager.cc │ │ │ └── mock_css_transition_manager.h │ │ ├── transform_animation_curve.cc │ │ ├── transform_animation_curve.h │ │ ├── transform_animation_curve_unittest.cc │ │ └── utils/ │ │ ├── BUILD.gn │ │ ├── cubic_bezier.cc │ │ ├── cubic_bezier.h │ │ ├── cubic_bezier_unittest.cc │ │ ├── timing_function.cc │ │ ├── timing_function.h │ │ └── timing_function_unittest.cc │ ├── base/ │ │ ├── BUILD.gn │ │ ├── android/ │ │ │ ├── android_jni.cc │ │ │ ├── android_jni.h │ │ │ ├── android_jni_unittest.cc │ │ │ ├── callstack_util_android.cc │ │ │ ├── callstack_util_android.h │ │ │ ├── device_utils_android.cc │ │ │ ├── device_utils_android.h │ │ │ ├── fresco_blur_filter.c │ │ │ ├── fresco_blur_filter.h │ │ │ ├── java_only_array.cc │ │ │ ├── java_only_array.h │ │ │ ├── java_only_map.cc │ │ │ ├── java_only_map.h │ │ │ ├── java_value.cc │ │ │ ├── java_value.h │ │ │ ├── java_value_unittest.cc │ │ │ ├── jni_helper.cc │ │ │ ├── jni_helper.h │ │ │ ├── jni_helper_unittest.cc │ │ │ ├── lynx_android_blur.cc │ │ │ ├── lynx_error_android.cc │ │ │ ├── lynx_error_android.h │ │ │ ├── lynx_white_board_android.cc │ │ │ ├── message_loop_android_vsync.cc │ │ │ ├── message_loop_android_vsync.h │ │ │ ├── piper_data.cc │ │ │ ├── piper_data.h │ │ │ ├── vsync_monitor_android.cc │ │ │ └── vsync_monitor_android.h │ │ ├── darwin/ │ │ │ ├── config_darwin.h │ │ │ ├── config_darwin.mm │ │ │ ├── lynx_env_darwin.h │ │ │ ├── lynx_env_darwin.mm │ │ │ ├── lynx_trail_hub_impl_darwin.h │ │ │ ├── lynx_trail_hub_impl_darwin.mm │ │ │ ├── message_loop_darwin_vsync.cc │ │ │ ├── message_loop_darwin_vsync.h │ │ │ ├── vsync_monitor_darwin.h │ │ │ └── vsync_monitor_darwin.mm │ │ ├── debug/ │ │ │ ├── BUILD.gn │ │ │ ├── memory_tracer.cc │ │ │ ├── memory_tracer.h │ │ │ └── memory_tracer_android.cc │ │ ├── harmony/ │ │ │ ├── harmony_function_loader.cc │ │ │ ├── harmony_function_loader.h │ │ │ ├── harmony_napi_env_holder.cc │ │ │ ├── harmony_napi_env_holder.h │ │ │ ├── harmony_trace_event_def.h │ │ │ ├── napi_convert_helper.cc │ │ │ ├── napi_convert_helper.h │ │ │ ├── props_constant.h │ │ │ ├── threading/ │ │ │ │ └── js_thread_config_getter_harmony.cc │ │ │ ├── vsync_monitor_harmony.cc │ │ │ └── vsync_monitor_harmony.h │ │ ├── js_constants.h │ │ ├── json/ │ │ │ ├── json_util.h │ │ │ ├── json_utils.cc │ │ │ └── json_utils_unittests.cc │ │ ├── lynx_export.h │ │ ├── lynx_trace_categories.h │ │ ├── memory/ │ │ │ ├── memory_pressure_callback.cc │ │ │ ├── memory_pressure_callback.h │ │ │ └── memory_pressure_callback_unittest.cc │ │ ├── observer/ │ │ │ ├── observer.h │ │ │ ├── observer_list.cc │ │ │ └── observer_list.h │ │ ├── thread/ │ │ │ ├── atomic_lifecycle.cc │ │ │ ├── atomic_lifecycle.h │ │ │ ├── blocking_queue.h │ │ │ ├── blocking_queue_unittest.cc │ │ │ ├── once_task.h │ │ │ ├── once_task_unittest.cc │ │ │ ├── thread_utils.cc │ │ │ ├── thread_utils.h │ │ │ └── thread_utils_unittest.cc │ │ ├── threading/ │ │ │ ├── js_thread_config_getter.cc │ │ │ ├── js_thread_config_getter.h │ │ │ ├── task_runner_manufactor.cc │ │ │ ├── task_runner_manufactor.h │ │ │ ├── task_runner_manufactor_unittest.cc │ │ │ ├── task_runner_vsync.cc │ │ │ ├── task_runner_vsync.h │ │ │ ├── task_runner_vsync_unittest.cc │ │ │ ├── thread_merger.cc │ │ │ ├── thread_merger.h │ │ │ ├── thread_merger_unittest.cc │ │ │ ├── vsync_monitor.cc │ │ │ ├── vsync_monitor.h │ │ │ ├── vsync_monitor_default.cc │ │ │ └── vsync_monitor_unittest.cc │ │ ├── trace/ │ │ │ └── trace_event_def.h │ │ └── utils/ │ │ ├── any.h │ │ ├── paths_mac.h │ │ ├── paths_mac.mm │ │ ├── paths_win.cc │ │ └── paths_win.h │ ├── base_targets.gni │ ├── build/ │ │ ├── AGENTS.md │ │ └── BUILD.gn │ ├── event/ │ │ ├── AGENTS.md │ │ ├── BUILD.gn │ │ ├── custom_event.cc │ │ ├── custom_event.h │ │ ├── event.cc │ │ ├── event.h │ │ ├── event_dispatch_result.h │ │ ├── event_dispatcher.cc │ │ ├── event_dispatcher.h │ │ ├── event_listener.cc │ │ ├── event_listener.h │ │ ├── event_listener_map.cc │ │ ├── event_listener_map.h │ │ ├── event_listener_map_test.cc │ │ ├── event_listener_map_test.h │ │ ├── event_listener_test.cc │ │ ├── event_listener_test.h │ │ ├── event_target.cc │ │ ├── event_target.h │ │ ├── event_target_test.cc │ │ ├── event_target_test.h │ │ ├── keyboard_event.cc │ │ ├── keyboard_event.h │ │ ├── touch_event.cc │ │ └── touch_event.h │ ├── include/ │ │ ├── AGENTS.md │ │ └── starlight_standalone/ │ │ ├── starlight.h │ │ ├── starlight_config.h │ │ ├── starlight_enums.h │ │ ├── starlight_standalone.h │ │ └── starlight_value.h │ ├── inspector/ │ │ ├── BUILD.gn │ │ ├── console_message_postman.h │ │ ├── lepus_inspector_manager.h │ │ ├── observer/ │ │ │ ├── inspector_common_observer.h │ │ │ ├── inspector_element_observer.h │ │ │ ├── inspector_lepus_observer.h │ │ │ └── inspector_runtime_observer_ng.h │ │ ├── runtime_inspector_manager.h │ │ ├── runtime_inspector_manager_unittest.cc │ │ ├── runtime_inspector_manager_unittest.h │ │ └── style_sheet.h │ ├── list/ │ │ ├── BUILD.gn │ │ ├── decoupled_adapter_helper.cc │ │ ├── decoupled_adapter_helper.h │ │ ├── decoupled_batch_list_adapter.cc │ │ ├── decoupled_batch_list_adapter.h │ │ ├── decoupled_default_list_adapter.cc │ │ ├── decoupled_default_list_adapter.h │ │ ├── decoupled_default_list_adapter_unittest.cc │ │ ├── decoupled_grid_layout_manager.cc │ │ ├── decoupled_grid_layout_manager.h │ │ ├── decoupled_item_holder.cc │ │ ├── decoupled_item_holder.h │ │ ├── decoupled_linear_layout_manager.cc │ │ ├── decoupled_linear_layout_manager.h │ │ ├── decoupled_list_adapter.cc │ │ ├── decoupled_list_adapter.h │ │ ├── decoupled_list_adapter_unittest.cc │ │ ├── decoupled_list_anchor_manager.cc │ │ ├── decoupled_list_anchor_manager.h │ │ ├── decoupled_list_anchor_manager_unittest.cc │ │ ├── decoupled_list_children_helper.cc │ │ ├── decoupled_list_children_helper.h │ │ ├── decoupled_list_children_helper_unittest.cc │ │ ├── decoupled_list_container_default.cc │ │ ├── decoupled_list_container_default.h │ │ ├── decoupled_list_container_impl.cc │ │ ├── decoupled_list_container_impl.h │ │ ├── decoupled_list_container_impl_unittest.cc │ │ ├── decoupled_list_event_manager.cc │ │ ├── decoupled_list_event_manager.h │ │ ├── decoupled_list_event_manager_unittest.cc │ │ ├── decoupled_list_layout_manager.cc │ │ ├── decoupled_list_layout_manager.h │ │ ├── decoupled_list_layout_manager_unittest.cc │ │ ├── decoupled_list_orientation_helper.cc │ │ ├── decoupled_list_orientation_helper.h │ │ ├── decoupled_list_types.h │ │ ├── decoupled_staggered_grid_layout_manager.cc │ │ ├── decoupled_staggered_grid_layout_manager.h │ │ ├── decoupled_staggered_grid_layout_manager_unittest.cc │ │ ├── list_animation_manager.cc │ │ ├── list_animation_manager.h │ │ ├── list_animation_manager_default.cc │ │ ├── list_animation_manager_default.h │ │ ├── list_animation_manager_impl.cc │ │ ├── list_animation_manager_impl.h │ │ ├── list_container_delegate.h │ │ ├── list_element_delegate.h │ │ ├── list_item_element_delegate.h │ │ └── testing/ │ │ ├── fiber_data_source.h │ │ ├── mock_list_element.h │ │ ├── mock_list_item_element.h │ │ ├── radon_data_source.h │ │ └── utils.h │ ├── napi.gni │ ├── parser/ │ │ ├── BUILD.gn │ │ ├── input_stream.cc │ │ └── input_stream.h │ ├── public/ │ │ ├── BUILD.gn │ │ ├── box_model.h │ │ ├── devtool/ │ │ │ ├── lynx_devtool_proxy.h │ │ │ └── lynx_inspector_owner.h │ │ ├── jsb/ │ │ │ ├── extension_module_factory.h │ │ │ ├── lynx_extension_module.h │ │ │ ├── lynx_module_callback.h │ │ │ ├── lynx_native_module.h │ │ │ └── native_module_factory.h │ │ ├── layout_ctx_platform_impl.h │ │ ├── layout_node_manager.h │ │ ├── layout_node_value.h │ │ ├── list_container_proxy.h │ │ ├── list_data.h │ │ ├── list_engine_proxy.h │ │ ├── lynx_engine_proxy.h │ │ ├── lynx_extension_delegate.h │ │ ├── lynx_layout_proxy.h │ │ ├── lynx_resource_loader.h │ │ ├── lynx_runtime_proxy.h │ │ ├── page_options.h │ │ ├── painting_ctx_platform_impl.h │ │ ├── perf_controller_proxy.h │ │ ├── performance_controller_platform_impl.h │ │ ├── pipeline_option.h │ │ ├── platform_extra_bundle.h │ │ ├── platform_renderer_type.h │ │ ├── prop_bundle.h │ │ ├── pub_value.h │ │ ├── runtime_lifecycle_observer.h │ │ ├── text_layout_impl.h │ │ ├── text_utils.h │ │ ├── timing_key.h │ │ ├── ui_delegate.h │ │ ├── ui_operation_queue_interface.h │ │ ├── vsync_monitor_platform_impl.h │ │ └── vsync_observer_interface.h │ ├── renderer/ │ │ ├── BUILD.gn │ │ ├── build.gni │ │ ├── css/ │ │ │ ├── .gitignore │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ ├── css_color_utils.cc │ │ │ │ └── css_gradient_utils.cc │ │ │ ├── build.gni │ │ │ ├── computed_css_style.cc │ │ │ ├── computed_css_style.h │ │ │ ├── computed_css_style_css_text_helper.cc │ │ │ ├── computed_css_style_css_text_helper.h │ │ │ ├── computed_css_style_css_text_helper_unittest.cc │ │ │ ├── css_color.cc │ │ │ ├── css_color.h │ │ │ ├── css_color_unittest.cc │ │ │ ├── css_content_data.cc │ │ │ ├── css_content_data.h │ │ │ ├── css_debug_msg.h │ │ │ ├── css_decoder.cc │ │ │ ├── css_decoder.h │ │ │ ├── css_font_face_token.cc │ │ │ ├── css_font_face_token.h │ │ │ ├── css_font_face_token_unittest.cc │ │ │ ├── css_fragment.cc │ │ │ ├── css_fragment.h │ │ │ ├── css_fragment_decorator.cc │ │ │ ├── css_fragment_decorator.h │ │ │ ├── css_fragment_unittest.cc │ │ │ ├── css_keyframes_token.cc │ │ │ ├── css_keyframes_token.h │ │ │ ├── css_keyframes_token_unittest.cc │ │ │ ├── css_keywords.cc │ │ │ ├── css_keywords.h │ │ │ ├── css_keywords.tmpl │ │ │ ├── css_keywords_unittest.cc │ │ │ ├── css_parser_token.cc │ │ │ ├── css_parser_token.h │ │ │ ├── css_parser_token_unittest.cc │ │ │ ├── css_property.cc │ │ │ ├── css_property.h │ │ │ ├── css_property_bitset.h │ │ │ ├── css_property_bitset_unittest.cc │ │ │ ├── css_property_unittest.cc │ │ │ ├── css_selector_constants.cc │ │ │ ├── css_selector_constants.h │ │ │ ├── css_sheet.cc │ │ │ ├── css_sheet.h │ │ │ ├── css_style_sheet_manager.cc │ │ │ ├── css_style_sheet_manager.h │ │ │ ├── css_style_sheet_manager_unittest.cc │ │ │ ├── css_style_utils.cc │ │ │ ├── css_style_utils.h │ │ │ ├── css_style_utils_unittest.cc │ │ │ ├── css_utils.cc │ │ │ ├── css_utils.h │ │ │ ├── css_utils_unittest.cc │ │ │ ├── css_value.cc │ │ │ ├── css_value.h │ │ │ ├── css_value_lldb.py │ │ │ ├── css_value_unittest.cc │ │ │ ├── css_variable_handler.cc │ │ │ ├── css_variable_handler.h │ │ │ ├── css_variable_handler_unittest.cc │ │ │ ├── dynamic_css_configs.h │ │ │ ├── dynamic_css_styles_manager.cc │ │ │ ├── dynamic_css_styles_manager.h │ │ │ ├── dynamic_direction_styles_manager.cc │ │ │ ├── dynamic_direction_styles_manager.h │ │ │ ├── layout_node_unittest.cc │ │ │ ├── layout_property.cc │ │ │ ├── measure_context.cc │ │ │ ├── measure_context.h │ │ │ ├── ng/ │ │ │ │ ├── LICENSE │ │ │ │ ├── css_ng_utils.cc │ │ │ │ ├── css_ng_utils.h │ │ │ │ ├── invalidation/ │ │ │ │ │ ├── invalidation_set.cc │ │ │ │ │ ├── invalidation_set.h │ │ │ │ │ ├── invalidation_set_feature.h │ │ │ │ │ ├── invalidation_set_test.cc │ │ │ │ │ ├── rule_invalidation_set.cc │ │ │ │ │ ├── rule_invalidation_set.h │ │ │ │ │ └── rule_invalidation_set_test.cc │ │ │ │ ├── matcher/ │ │ │ │ │ ├── selector_matcher.cc │ │ │ │ │ ├── selector_matcher.h │ │ │ │ │ └── selector_matcher_test.cc │ │ │ │ ├── parser/ │ │ │ │ │ ├── css_parser_idioms.cc │ │ │ │ │ ├── css_parser_idioms.h │ │ │ │ │ ├── css_parser_token.cc │ │ │ │ │ ├── css_parser_token.h │ │ │ │ │ ├── css_parser_token_range.cc │ │ │ │ │ ├── css_parser_token_range.h │ │ │ │ │ ├── css_parser_token_stream.cc │ │ │ │ │ ├── css_parser_token_stream.h │ │ │ │ │ ├── css_parser_token_stream_test.cc │ │ │ │ │ ├── css_tokenizer.cc │ │ │ │ │ ├── css_tokenizer.h │ │ │ │ │ ├── css_tokenizer_codepoints.cc │ │ │ │ │ ├── css_tokenizer_input_stream.cc │ │ │ │ │ ├── css_tokenizer_input_stream.h │ │ │ │ │ ├── css_tokenizer_test.cc │ │ │ │ │ ├── number_parsing_options.h │ │ │ │ │ ├── string_to_number.cc │ │ │ │ │ └── string_to_number.h │ │ │ │ ├── selector/ │ │ │ │ │ ├── css_parser_context.h │ │ │ │ │ ├── css_selector_parser.cc │ │ │ │ │ ├── css_selector_parser.h │ │ │ │ │ ├── css_selector_parser_test.cc │ │ │ │ │ ├── lynx_css_selector.cc │ │ │ │ │ ├── lynx_css_selector.h │ │ │ │ │ ├── lynx_css_selector_empty.cc │ │ │ │ │ ├── lynx_css_selector_extra_data.cc │ │ │ │ │ ├── lynx_css_selector_extra_data.h │ │ │ │ │ ├── lynx_css_selector_impl.cc │ │ │ │ │ ├── lynx_css_selector_list.cc │ │ │ │ │ ├── lynx_css_selector_list.h │ │ │ │ │ └── lynx_css_selector_test.cc │ │ │ │ └── style/ │ │ │ │ ├── rule_data.h │ │ │ │ ├── rule_set.cc │ │ │ │ ├── rule_set.h │ │ │ │ ├── rule_set_unittest.cc │ │ │ │ └── style_rule.h │ │ │ ├── parser/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── animation_direction_handler.cc │ │ │ │ ├── animation_direction_handler.h │ │ │ │ ├── animation_direction_handler_unittest.cc │ │ │ │ ├── animation_fill_mode_handler.cc │ │ │ │ ├── animation_fill_mode_handler.h │ │ │ │ ├── animation_fill_mode_handler_unittest.cc │ │ │ │ ├── animation_iteration_count_handler.cc │ │ │ │ ├── animation_iteration_count_handler.h │ │ │ │ ├── animation_iteration_count_handler_unittest.cc │ │ │ │ ├── animation_name_handler.cc │ │ │ │ ├── animation_name_handler.h │ │ │ │ ├── animation_play_state_handler.cc │ │ │ │ ├── animation_play_state_handler.h │ │ │ │ ├── animation_property_handler.cc │ │ │ │ ├── animation_property_handler_unittest.cc │ │ │ │ ├── animation_shorthand_handler.cc │ │ │ │ ├── animation_shorthand_handler.h │ │ │ │ ├── animation_shorthand_handler_unittest.cc │ │ │ │ ├── aspect_ratio_handler.cc │ │ │ │ ├── aspect_ratio_handler.h │ │ │ │ ├── aspect_ratio_handler_unittest.cc │ │ │ │ ├── auto_font_size_handler.cc │ │ │ │ ├── auto_font_size_handler.h │ │ │ │ ├── auto_font_size_handler_unittest.cc │ │ │ │ ├── auto_font_size_preset_sizes_handler.cc │ │ │ │ ├── auto_font_size_preset_sizes_handler.h │ │ │ │ ├── auto_font_size_preset_sizes_handler_unittest.cc │ │ │ │ ├── background_box_handler.cc │ │ │ │ ├── background_box_handler.h │ │ │ │ ├── background_box_handler_unittest.cc │ │ │ │ ├── background_clip_handler.cc │ │ │ │ ├── background_clip_handler.h │ │ │ │ ├── background_clip_handler_unittest.cc │ │ │ │ ├── background_image_handler.cc │ │ │ │ ├── background_image_handler.h │ │ │ │ ├── background_image_handler_unittest.cc │ │ │ │ ├── background_position_handler.cc │ │ │ │ ├── background_position_handler.h │ │ │ │ ├── background_position_handler_unittest.cc │ │ │ │ ├── background_repeat_handler.cc │ │ │ │ ├── background_repeat_handler.h │ │ │ │ ├── background_repeat_handler_unittest.cc │ │ │ │ ├── background_shorthand_handler.cc │ │ │ │ ├── background_shorthand_handler.h │ │ │ │ ├── background_shorthand_handler_unittest.cc │ │ │ │ ├── background_size_handler.cc │ │ │ │ ├── background_size_handler.h │ │ │ │ ├── background_size_handler_unittest.cc │ │ │ │ ├── bool_handler.cc │ │ │ │ ├── bool_handler_unittest.cc │ │ │ │ ├── border_handler.cc │ │ │ │ ├── border_handler.h │ │ │ │ ├── border_handler_unittest.cc │ │ │ │ ├── border_radius_handler.cc │ │ │ │ ├── border_radius_handler.h │ │ │ │ ├── border_radius_handler_unittest.cc │ │ │ │ ├── border_style_handler.cc │ │ │ │ ├── border_width_handler.cc │ │ │ │ ├── clip_path_handler.cc │ │ │ │ ├── clip_path_handler.h │ │ │ │ ├── clip_path_handler_unittest.cc │ │ │ │ ├── color_handler.cc │ │ │ │ ├── color_handler_unittest.cc │ │ │ │ ├── css_parser_configs.h │ │ │ │ ├── css_string_parser.cc │ │ │ │ ├── css_string_parser.h │ │ │ │ ├── css_string_parser_unittest.cc │ │ │ │ ├── css_string_scanner.cc │ │ │ │ ├── css_string_scanner.h │ │ │ │ ├── css_string_scanner_unittest.cc │ │ │ │ ├── cursor_handler.cc │ │ │ │ ├── cursor_handler.h │ │ │ │ ├── enum_handler.cc │ │ │ │ ├── enum_handler.h │ │ │ │ ├── enum_handler_unittest.cc │ │ │ │ ├── filter_handler.cc │ │ │ │ ├── filter_handler.h │ │ │ │ ├── filter_handler_unittest.cc │ │ │ │ ├── flex_flow_handler.cc │ │ │ │ ├── flex_flow_handler.h │ │ │ │ ├── flex_flow_handler_unittest.cc │ │ │ │ ├── flex_handler.cc │ │ │ │ ├── flex_handler.h │ │ │ │ ├── flex_handler_unittest.cc │ │ │ │ ├── font_feature_settings_handler.cc │ │ │ │ ├── font_feature_settings_handler.h │ │ │ │ ├── font_length_handler.cc │ │ │ │ ├── font_length_handler.h │ │ │ │ ├── font_length_handler_unittest.cc │ │ │ │ ├── font_variation_settings_handler.cc │ │ │ │ ├── font_variation_settings_handler.h │ │ │ │ ├── four_sides_shorthand_handler.cc │ │ │ │ ├── four_sides_shorthand_handler.h │ │ │ │ ├── four_sides_shorthand_handler_unittest.cc │ │ │ │ ├── gap_handler.cc │ │ │ │ ├── gap_handler.h │ │ │ │ ├── grid_position_handler.cc │ │ │ │ ├── grid_position_handler.h │ │ │ │ ├── grid_template_handler.cc │ │ │ │ ├── grid_template_handler.h │ │ │ │ ├── grid_template_handler_unittest.cc │ │ │ │ ├── handler_defines.h │ │ │ │ ├── length_handler.cc │ │ │ │ ├── length_handler_unittest.cc │ │ │ │ ├── list_gap_handler.cc │ │ │ │ ├── list_gap_handler.h │ │ │ │ ├── list_gap_handler_unittest.cc │ │ │ │ ├── mask_shorthand_handler.cc │ │ │ │ ├── mask_shorthand_handler.h │ │ │ │ ├── number_handler.cc │ │ │ │ ├── number_handler_unittest.cc │ │ │ │ ├── offset_rotate_handler.cc │ │ │ │ ├── offset_rotate_handler.h │ │ │ │ ├── relative_align_handler.cc │ │ │ │ ├── relative_align_handler.h │ │ │ │ ├── shadow_handler.cc │ │ │ │ ├── shadow_handler.h │ │ │ │ ├── shadow_handler_unittest.cc │ │ │ │ ├── string_handler.cc │ │ │ │ ├── string_handler_unittest.cc │ │ │ │ ├── text_decoration_handler.cc │ │ │ │ ├── text_decoration_handler.h │ │ │ │ ├── text_decoration_handler_unittest.cc │ │ │ │ ├── text_stroke_handler.cc │ │ │ │ ├── text_stroke_handler.h │ │ │ │ ├── text_stroke_handler_unittest.cc │ │ │ │ ├── time_handler.cc │ │ │ │ ├── time_handler_unittest.cc │ │ │ │ ├── timing_function_handler.cc │ │ │ │ ├── timing_function_handler_unittest.cc │ │ │ │ ├── transform_handler.cc │ │ │ │ ├── transform_handler.h │ │ │ │ ├── transform_handler_unittest.cc │ │ │ │ ├── transform_origin_handler.cc │ │ │ │ ├── transform_origin_handler.h │ │ │ │ ├── transform_origin_handler_unittest.cc │ │ │ │ ├── transition_shorthand_handler.cc │ │ │ │ ├── transition_shorthand_handler.h │ │ │ │ ├── transition_shorthand_handler_unittest.cc │ │ │ │ ├── vertical_align_handler.cc │ │ │ │ └── vertical_align_handler.h │ │ │ ├── select_element_token.cc │ │ │ ├── select_element_token.h │ │ │ ├── select_element_token_unittest.cc │ │ │ ├── shared_css_fragment.cc │ │ │ ├── shared_css_fragment.h │ │ │ ├── shared_css_fragment_unittest.cc │ │ │ ├── style_node.cc │ │ │ ├── style_node.h │ │ │ ├── text_attributes.cc │ │ │ ├── text_attributes.h │ │ │ ├── transforms/ │ │ │ │ ├── LICENSE │ │ │ │ ├── transform_operation.cc │ │ │ │ ├── transform_operation.h │ │ │ │ ├── transform_operation_unittest.cc │ │ │ │ ├── transform_operations.cc │ │ │ │ ├── transform_operations.h │ │ │ │ └── transform_operations_unittest.cc │ │ │ ├── unit_handler.cc │ │ │ ├── unit_handler.h │ │ │ └── unit_handler_unittest.cc │ │ ├── data/ │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ ├── platform_data_android.cc │ │ │ │ └── platform_data_android.h │ │ │ ├── build.gni │ │ │ ├── harmony/ │ │ │ │ ├── platform_data_harmony.cc │ │ │ │ ├── platform_data_harmony.h │ │ │ │ ├── template_data_harmony.cc │ │ │ │ └── template_data_harmony.h │ │ │ ├── ios/ │ │ │ │ ├── platform_data_darwin.h │ │ │ │ └── platform_data_darwin.mm │ │ │ ├── lynx_view_data_manager.cc │ │ │ ├── lynx_view_data_manager.h │ │ │ ├── platform_data.h │ │ │ ├── template_data.cc │ │ │ └── template_data.h │ │ ├── dom/ │ │ │ ├── BUILD.gn │ │ │ ├── air/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── air_element/ │ │ │ │ │ ├── air_block_element.cc │ │ │ │ │ ├── air_block_element.h │ │ │ │ │ ├── air_block_element_unittest.cc │ │ │ │ │ ├── air_component_element.cc │ │ │ │ │ ├── air_component_element.h │ │ │ │ │ ├── air_element.cc │ │ │ │ │ ├── air_element.h │ │ │ │ │ ├── air_element_container.cc │ │ │ │ │ ├── air_element_container.h │ │ │ │ │ ├── air_element_container_unittest.cc │ │ │ │ │ ├── air_element_unittest.cc │ │ │ │ │ ├── air_for_element.cc │ │ │ │ │ ├── air_for_element.h │ │ │ │ │ ├── air_if_element.cc │ │ │ │ │ ├── air_if_element.h │ │ │ │ │ ├── air_page_element.cc │ │ │ │ │ └── air_page_element.h │ │ │ │ ├── air_touch_event_handler.cc │ │ │ │ ├── air_touch_event_handler.h │ │ │ │ ├── air_touch_event_handler_unittest.cc │ │ │ │ ├── lynx_air_parsed_style_store.cc │ │ │ │ ├── lynx_air_parsed_style_store.h │ │ │ │ └── testing/ │ │ │ │ └── air_lepus_context_mock.h │ │ │ ├── android/ │ │ │ │ ├── environment_android.cc │ │ │ │ ├── environment_android.h │ │ │ │ ├── lepus_message_consumer.cc │ │ │ │ ├── lepus_message_consumer.h │ │ │ │ ├── lynx_get_ui_result_android.cc │ │ │ │ ├── lynx_get_ui_result_android.h │ │ │ │ ├── lynx_template_bundle_android.cc │ │ │ │ ├── lynx_template_bundle_android.h │ │ │ │ ├── lynx_view_data_manager_android.cc │ │ │ │ └── lynx_view_data_manager_android.h │ │ │ ├── attribute_holder.cc │ │ │ ├── attribute_holder.h │ │ │ ├── attribute_holder_unittest.cc │ │ │ ├── base_element_container.cc │ │ │ ├── base_element_container.h │ │ │ ├── build.gni │ │ │ ├── component_attributes.cc │ │ │ ├── component_attributes.h │ │ │ ├── component_config.h │ │ │ ├── element.cc │ │ │ ├── element.h │ │ │ ├── element_bundle.cc │ │ │ ├── element_bundle.h │ │ │ ├── element_container.cc │ │ │ ├── element_container.h │ │ │ ├── element_container_unittest.cc │ │ │ ├── element_context_delegate.cc │ │ │ ├── element_context_delegate.h │ │ │ ├── element_context_delegate_unittest.cc │ │ │ ├── element_context_task_queue.cc │ │ │ ├── element_context_task_queue.h │ │ │ ├── element_layout_node_manager.cc │ │ │ ├── element_layout_node_manager.h │ │ │ ├── element_manager.cc │ │ │ ├── element_manager.h │ │ │ ├── element_manager_delegate.h │ │ │ ├── element_manager_unittest.cc │ │ │ ├── element_property.cc │ │ │ ├── element_property.h │ │ │ ├── element_unittest.cc │ │ │ ├── element_vsync_proxy.cc │ │ │ ├── element_vsync_proxy.h │ │ │ ├── element_vsync_proxy_unittest.cc │ │ │ ├── fiber/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── block_element.cc │ │ │ │ ├── block_element.h │ │ │ │ ├── block_element_unittest.cc │ │ │ │ ├── component_element.cc │ │ │ │ ├── component_element.h │ │ │ │ ├── fiber_element.cc │ │ │ │ ├── fiber_element.h │ │ │ │ ├── fiber_element_unittest.cc │ │ │ │ ├── fiber_node_info.cc │ │ │ │ ├── fiber_node_info.h │ │ │ │ ├── fiber_node_info_unittest.cc │ │ │ │ ├── for_element.cc │ │ │ │ ├── for_element.h │ │ │ │ ├── frame_element.cc │ │ │ │ ├── frame_element.h │ │ │ │ ├── if_element.cc │ │ │ │ ├── if_element.h │ │ │ │ ├── image_element.cc │ │ │ │ ├── image_element.h │ │ │ │ ├── list_element.cc │ │ │ │ ├── list_element.h │ │ │ │ ├── list_element_unittest.cc │ │ │ │ ├── list_item_scheduler_adapter.cc │ │ │ │ ├── list_item_scheduler_adapter.h │ │ │ │ ├── list_item_scheduler_adapter_unittest.cc │ │ │ │ ├── none_element.cc │ │ │ │ ├── none_element.h │ │ │ │ ├── page_element.cc │ │ │ │ ├── page_element.h │ │ │ │ ├── platform_layout_function_wrapper.cc │ │ │ │ ├── platform_layout_function_wrapper.h │ │ │ │ ├── platform_types.h │ │ │ │ ├── pseudo_element.cc │ │ │ │ ├── pseudo_element.h │ │ │ │ ├── pseudo_element_unittest.cc │ │ │ │ ├── raw_text_element.cc │ │ │ │ ├── raw_text_element.h │ │ │ │ ├── raw_text_element_unittest.cc │ │ │ │ ├── scroll_element.cc │ │ │ │ ├── scroll_element.h │ │ │ │ ├── scroll_element_unittest.cc │ │ │ │ ├── text_element.cc │ │ │ │ ├── text_element.h │ │ │ │ ├── text_element_unittest.cc │ │ │ │ ├── text_props.h │ │ │ │ ├── tree_resolver.cc │ │ │ │ ├── tree_resolver.h │ │ │ │ ├── view_element.cc │ │ │ │ ├── view_element.h │ │ │ │ ├── wrapper_element.cc │ │ │ │ └── wrapper_element.h │ │ │ ├── fragment/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── box_model_recorder.cc │ │ │ │ ├── box_model_recorder.h │ │ │ │ ├── box_model_recorder_unittest.cc │ │ │ │ ├── display_list.cc │ │ │ │ ├── display_list.h │ │ │ │ ├── display_list_builder.cc │ │ │ │ ├── display_list_builder.h │ │ │ │ ├── display_list_builder_unittest.cc │ │ │ │ ├── display_list_unittest.cc │ │ │ │ ├── event/ │ │ │ │ │ ├── platform_event_bundle.h │ │ │ │ │ ├── platform_event_emitter.cc │ │ │ │ │ ├── platform_event_emitter.h │ │ │ │ │ ├── platform_event_handler.cc │ │ │ │ │ ├── platform_event_handler.h │ │ │ │ │ ├── platform_event_target.cc │ │ │ │ │ ├── platform_event_target.h │ │ │ │ │ ├── platform_event_target_exposure.cc │ │ │ │ │ ├── platform_event_target_exposure.h │ │ │ │ │ ├── platform_event_target_helper.cc │ │ │ │ │ ├── platform_event_target_helper.h │ │ │ │ │ ├── platform_input_event.cc │ │ │ │ │ ├── platform_input_event.h │ │ │ │ │ ├── platform_pointer_event.cc │ │ │ │ │ └── platform_pointer_event.h │ │ │ │ ├── fragment.cc │ │ │ │ ├── fragment.h │ │ │ │ ├── fragment_behavior.cc │ │ │ │ ├── fragment_behavior.h │ │ │ │ ├── fragment_unittest.cc │ │ │ │ ├── image_fragment_behavior.cc │ │ │ │ ├── image_fragment_behavior.h │ │ │ │ ├── layout_info.cc │ │ │ │ ├── layout_info.h │ │ │ │ ├── layout_info_unittest.cc │ │ │ │ ├── list_fragment_behavior.cc │ │ │ │ ├── list_fragment_behavior.h │ │ │ │ ├── list_item_fragment_behavior.cc │ │ │ │ ├── list_item_fragment_behavior.h │ │ │ │ ├── page_fragment_behavior.cc │ │ │ │ ├── page_fragment_behavior.h │ │ │ │ ├── platform_extended_fragment_behavior.cc │ │ │ │ ├── platform_extended_fragment_behavior.h │ │ │ │ ├── rounded_rectangle.h │ │ │ │ ├── rounded_rectangle_unittest.cc │ │ │ │ ├── text_fragment_behavior.cc │ │ │ │ ├── text_fragment_behavior.h │ │ │ │ ├── text_fragment_behavior_unittest.cc │ │ │ │ ├── view_fragment_behavior.cc │ │ │ │ └── view_fragment_behavior.h │ │ │ ├── harmony/ │ │ │ │ ├── lynx_template_bundle_harmony.cc │ │ │ │ └── lynx_template_bundle_harmony.h │ │ │ ├── ios/ │ │ │ │ ├── lepus_value_converter.h │ │ │ │ └── lepus_value_converter.mm │ │ │ ├── layout_bundle.h │ │ │ ├── list_component_info.cc │ │ │ ├── list_component_info.h │ │ │ ├── lynx_get_ui_result.h │ │ │ ├── selector/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── element_selector.cc │ │ │ │ ├── element_selector.h │ │ │ │ ├── fiber_element_selector.cc │ │ │ │ ├── fiber_element_selector.h │ │ │ │ ├── matching/ │ │ │ │ │ ├── attribute_selector_matching.cc │ │ │ │ │ └── attribute_selector_matching.h │ │ │ │ ├── select_result.h │ │ │ │ ├── select_result_unittest.cc │ │ │ │ └── selector_item.h │ │ │ ├── style_resolver.cc │ │ │ ├── style_resolver.h │ │ │ ├── style_resolver_unittest.cc │ │ │ ├── testing/ │ │ │ │ ├── fiber_element_test.cc │ │ │ │ ├── fiber_element_test.h │ │ │ │ ├── fiber_mock_painting_context.cc │ │ │ │ ├── fiber_mock_painting_context.h │ │ │ │ ├── fiber_mock_text_layout.cc │ │ │ │ ├── fiber_mock_text_layout.h │ │ │ │ └── fiber_new_fixed_test.cc │ │ │ └── vdom/ │ │ │ └── radon/ │ │ │ ├── BUILD.gn │ │ │ ├── base_component.cc │ │ │ ├── base_component.h │ │ │ ├── list_reuse_pool.cc │ │ │ ├── list_reuse_pool.h │ │ │ ├── node_path_info.cc │ │ │ ├── node_path_info.h │ │ │ ├── node_select_options.h │ │ │ ├── node_selector.cc │ │ │ ├── node_selector.h │ │ │ ├── radon_base.cc │ │ │ ├── radon_base.h │ │ │ ├── radon_component.cc │ │ │ ├── radon_component.h │ │ │ ├── radon_diff_list_node.cc │ │ │ ├── radon_diff_list_node.h │ │ │ ├── radon_diff_list_node2.cc │ │ │ ├── radon_diff_list_node2.h │ │ │ ├── radon_dispatch_option.cc │ │ │ ├── radon_dispatch_option.h │ │ │ ├── radon_factory.cc │ │ │ ├── radon_factory.h │ │ │ ├── radon_lazy_component.cc │ │ │ ├── radon_lazy_component.h │ │ │ ├── radon_list_base.cc │ │ │ ├── radon_list_base.h │ │ │ ├── radon_node.cc │ │ │ ├── radon_node.h │ │ │ ├── radon_node_unittest.cc │ │ │ ├── radon_page.cc │ │ │ ├── radon_page.h │ │ │ ├── radon_slot.cc │ │ │ ├── radon_slot.h │ │ │ ├── radon_types.h │ │ │ └── set_css_variable_op.h │ │ ├── element_manager_delegate_impl.cc │ │ ├── element_manager_delegate_impl.h │ │ ├── events/ │ │ │ ├── BUILD.gn │ │ │ ├── closure_event_listener.cc │ │ │ ├── closure_event_listener.h │ │ │ ├── closure_event_listener_test.cc │ │ │ ├── event_handler.cc │ │ │ ├── events.h │ │ │ ├── gesture.h │ │ │ ├── touch_event_handler.cc │ │ │ ├── touch_event_handler.h │ │ │ └── touch_event_handler_unittest.cc │ │ ├── js_bundle_holder_impl.cc │ │ ├── js_bundle_holder_impl.h │ │ ├── layout_scheduler/ │ │ │ ├── BUILD.gn │ │ │ ├── layout_scheduler.cc │ │ │ └── layout_scheduler.h │ │ ├── lynx_env_config.cc │ │ ├── lynx_env_config.h │ │ ├── lynx_global_pool.cc │ │ ├── lynx_global_pool.h │ │ ├── page_config_unittests.cc │ │ ├── page_proxy.cc │ │ ├── page_proxy.h │ │ ├── pipeline/ │ │ │ ├── BUILD.gn │ │ │ ├── pipeline_context.cc │ │ │ ├── pipeline_context.h │ │ │ ├── pipeline_context_manager.cc │ │ │ ├── pipeline_context_manager.h │ │ │ ├── pipeline_context_manager_unittest.cc │ │ │ ├── pipeline_context_manager_unittest.h │ │ │ ├── pipeline_context_unittest.cc │ │ │ ├── pipeline_context_unittest.h │ │ │ ├── pipeline_layout_data.h │ │ │ ├── pipeline_lifecycle.cc │ │ │ ├── pipeline_lifecycle.h │ │ │ ├── pipeline_lifecycle_observer.h │ │ │ ├── pipeline_lifecycle_unittest.cc │ │ │ ├── pipeline_lifecycle_unittest.h │ │ │ ├── pipeline_scope.cc │ │ │ ├── pipeline_scope.h │ │ │ ├── pipeline_scope_unittest.cc │ │ │ ├── pipeline_scope_unittest.h │ │ │ ├── pipeline_version.h │ │ │ ├── pipeline_version_unittest.cc │ │ │ └── pipeline_version_unittest.h │ │ ├── signal/ │ │ │ ├── BUILD.gn │ │ │ ├── computation.cc │ │ │ ├── computation.h │ │ │ ├── computation_unittest.cc │ │ │ ├── computation_unittest.h │ │ │ ├── lynx_signal.cc │ │ │ ├── lynx_signal.h │ │ │ ├── lynx_signal_unittest.cc │ │ │ ├── lynx_signal_unittest.h │ │ │ ├── memo.cc │ │ │ ├── memo.h │ │ │ ├── memo_unittest.cc │ │ │ ├── memo_unittest.h │ │ │ ├── scope.cc │ │ │ ├── scope.h │ │ │ ├── scope_unittest.cc │ │ │ ├── scope_unittest.h │ │ │ ├── signal_context.cc │ │ │ ├── signal_context.h │ │ │ ├── signal_context_unittest.cc │ │ │ └── signal_context_unittest.h │ │ ├── simple_styling/ │ │ │ ├── BUILD.gn │ │ │ ├── simple_style_node.h │ │ │ ├── simple_styling.gni │ │ │ ├── style_object.cc │ │ │ ├── style_object.h │ │ │ ├── style_object_decoder.h │ │ │ └── style_object_unittest.cc │ │ ├── starlight/ │ │ │ ├── BUILD.gn │ │ │ ├── event/ │ │ │ │ ├── layout_event.h │ │ │ │ ├── layout_event_data.h │ │ │ │ └── layout_event_handler.h │ │ │ ├── layout/ │ │ │ │ ├── box_info.cc │ │ │ │ ├── box_info.h │ │ │ │ ├── cache_manager.cc │ │ │ │ ├── cache_manager.h │ │ │ │ ├── container_node.cc │ │ │ │ ├── container_node.h │ │ │ │ ├── container_node_unittest.cc │ │ │ │ ├── direction_selector.h │ │ │ │ ├── elastic_layout_utils.cc │ │ │ │ ├── elastic_layout_utils.h │ │ │ │ ├── flex_info.cc │ │ │ │ ├── flex_info.h │ │ │ │ ├── flex_layout_algorithm.cc │ │ │ │ ├── flex_layout_algorithm.h │ │ │ │ ├── grid_item_info.cc │ │ │ │ ├── grid_item_info.h │ │ │ │ ├── grid_layout_algorithm.cc │ │ │ │ ├── grid_layout_algorithm.h │ │ │ │ ├── layout_algorithm.cc │ │ │ │ ├── layout_algorithm.h │ │ │ │ ├── layout_global.cc │ │ │ │ ├── layout_global.h │ │ │ │ ├── layout_object.cc │ │ │ │ ├── layout_object.h │ │ │ │ ├── linear_layout_algorithm.cc │ │ │ │ ├── linear_layout_algorithm.h │ │ │ │ ├── logic_direction_utils.cc │ │ │ │ ├── logic_direction_utils.h │ │ │ │ ├── node.h │ │ │ │ ├── position_layout_utils.cc │ │ │ │ ├── position_layout_utils.h │ │ │ │ ├── property_resolving_utils.cc │ │ │ │ ├── property_resolving_utils.h │ │ │ │ ├── relative_layout_algorithm.cc │ │ │ │ ├── relative_layout_algorithm.h │ │ │ │ ├── staggered_grid_layout_algorithm.cc │ │ │ │ └── staggered_grid_layout_algorithm.h │ │ │ ├── style/ │ │ │ │ ├── borders_data.cc │ │ │ │ ├── borders_data.h │ │ │ │ ├── box_data.cc │ │ │ │ ├── box_data.h │ │ │ │ ├── copyable.h │ │ │ │ ├── css_type.h │ │ │ │ ├── data_ref.h │ │ │ │ ├── data_ref_unittest.cc │ │ │ │ ├── default_layout_style.h │ │ │ │ ├── flex_data.cc │ │ │ │ ├── flex_data.h │ │ │ │ ├── grid_data.cc │ │ │ │ ├── grid_data.h │ │ │ │ ├── layout_computed_style.cc │ │ │ │ ├── layout_computed_style.h │ │ │ │ ├── layout_style_utils.cc │ │ │ │ ├── layout_style_utils.h │ │ │ │ ├── linear_data.cc │ │ │ │ ├── linear_data.h │ │ │ │ ├── relative_data.cc │ │ │ │ ├── relative_data.h │ │ │ │ ├── surround_data.cc │ │ │ │ └── surround_data.h │ │ │ └── types/ │ │ │ ├── layout_attribute.h │ │ │ ├── layout_configs.h │ │ │ ├── layout_constraints.h │ │ │ ├── layout_directions.h │ │ │ ├── layout_measurefunc.h │ │ │ ├── layout_result.h │ │ │ ├── layout_types.h │ │ │ ├── layout_unit.h │ │ │ ├── nlength.cc │ │ │ └── nlength.h │ │ ├── tasm/ │ │ │ ├── config.cc │ │ │ ├── config.h │ │ │ ├── i18n/ │ │ │ │ ├── i18n.cc │ │ │ │ ├── i18n.h │ │ │ │ ├── i18n_binder_android.cc │ │ │ │ ├── i18n_binder_android.h │ │ │ │ ├── i18n_binder_darwin.h │ │ │ │ └── i18n_binder_darwin.mm │ │ │ ├── napi_bind.cc │ │ │ ├── react/ │ │ │ │ ├── android/ │ │ │ │ │ └── mapbuffer/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── base_buffer.h │ │ │ │ │ ├── base_buffer_builder.h │ │ │ │ │ ├── compact_array_buffer.cc │ │ │ │ │ ├── compact_array_buffer.h │ │ │ │ │ ├── compact_array_buffer_builder.cc │ │ │ │ │ ├── compact_array_buffer_builder.h │ │ │ │ │ ├── map_buffer.cc │ │ │ │ │ ├── map_buffer.h │ │ │ │ │ ├── map_buffer_builder.cc │ │ │ │ │ ├── map_buffer_builder.h │ │ │ │ │ ├── readable_compact_array_buffer.cc │ │ │ │ │ ├── readable_compact_array_buffer.h │ │ │ │ │ ├── readable_map_buffer.cc │ │ │ │ │ ├── readable_map_buffer.h │ │ │ │ │ └── testing/ │ │ │ │ │ ├── compact_array_buffer_unittest.cc │ │ │ │ │ └── map_buffer_unittest.cc │ │ │ │ └── testing/ │ │ │ │ └── mock_painting_context.h │ │ │ ├── sysinfo/ │ │ │ │ ├── sysinfo_android.cc │ │ │ │ ├── sysinfo_default.cc │ │ │ │ ├── sysinfo_harmony.cc │ │ │ │ ├── sysinfo_headless.cc │ │ │ │ └── sysinfo_ios.cc │ │ │ └── testing/ │ │ │ ├── event_tracker_mock.cc │ │ │ ├── event_tracker_mock.h │ │ │ └── mock_attribute_holder.h │ │ ├── tasm_runtime_bundle.h │ │ ├── template_assembler.cc │ │ ├── template_assembler.h │ │ ├── template_entry.cc │ │ ├── template_entry.h │ │ ├── template_entry_holder.cc │ │ ├── template_entry_holder.h │ │ ├── template_themed.h │ │ ├── trace/ │ │ │ ├── BUILD.gn │ │ │ └── renderer_trace_event_def.h │ │ ├── ui_component/ │ │ │ └── list/ │ │ │ ├── BUILD.gn │ │ │ ├── adapter_helper.cc │ │ │ ├── adapter_helper.h │ │ │ ├── animation_item_holder.cc │ │ │ ├── animation_item_holder.h │ │ │ ├── batch_list_adapter.cc │ │ │ ├── batch_list_adapter.h │ │ │ ├── batch_list_adapter_unittest.cc │ │ │ ├── default_list_adapter.cc │ │ │ ├── default_list_adapter.h │ │ │ ├── default_list_adapter_unittest.cc │ │ │ ├── grid_layout_manager.cc │ │ │ ├── grid_layout_manager.h │ │ │ ├── item_holder.cc │ │ │ ├── item_holder.h │ │ │ ├── linear_layout_manager.cc │ │ │ ├── linear_layout_manager.h │ │ │ ├── list_adapter.cc │ │ │ ├── list_adapter.h │ │ │ ├── list_adapter_unittest.cc │ │ │ ├── list_anchor_manager.cc │ │ │ ├── list_anchor_manager.h │ │ │ ├── list_anchor_manager_unittest.cc │ │ │ ├── list_children_helper.cc │ │ │ ├── list_children_helper.h │ │ │ ├── list_children_helper_unittest.cc │ │ │ ├── list_container_animation_manager.cc │ │ │ ├── list_container_animation_manager.h │ │ │ ├── list_container_default.cc │ │ │ ├── list_container_default.h │ │ │ ├── list_container_delegate_internal.h │ │ │ ├── list_container_impl.cc │ │ │ ├── list_container_impl.h │ │ │ ├── list_event_manager.cc │ │ │ ├── list_event_manager.h │ │ │ ├── list_event_manager_unittest.cc │ │ │ ├── list_layout_manager.cc │ │ │ ├── list_layout_manager.h │ │ │ ├── list_orientation_helper.cc │ │ │ ├── list_orientation_helper.h │ │ │ ├── list_types.h │ │ │ ├── mediator/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── list_item_mediator.cc │ │ │ │ ├── list_item_mediator.h │ │ │ │ ├── list_mediator.cc │ │ │ │ └── list_mediator.h │ │ │ ├── staggered_grid_layout_manager.cc │ │ │ ├── staggered_grid_layout_manager.h │ │ │ ├── staggered_grid_layout_manager_unittest.cc │ │ │ └── testing/ │ │ │ ├── mock_diff_result.h │ │ │ ├── mock_list_element.h │ │ │ ├── utils.cc │ │ │ └── utils.h │ │ ├── ui_wrapper/ │ │ │ ├── BUILD.gn │ │ │ ├── common/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── android/ │ │ │ │ │ ├── platform_extra_bundle_android.cc │ │ │ │ │ ├── platform_extra_bundle_android.h │ │ │ │ │ ├── prop_bundle_android.cc │ │ │ │ │ ├── prop_bundle_android.h │ │ │ │ │ ├── prop_bundle_android_test.cc │ │ │ │ │ └── prop_bundle_android_test.h │ │ │ │ ├── harmony/ │ │ │ │ │ ├── platform_extra_bundle_harmony.cc │ │ │ │ │ ├── platform_extra_bundle_harmony.h │ │ │ │ │ ├── prop_bundle_harmony.cc │ │ │ │ │ └── prop_bundle_harmony.h │ │ │ │ ├── ios/ │ │ │ │ │ ├── platform_extra_bundle_darwin.h │ │ │ │ │ ├── platform_extra_bundle_darwin.mm │ │ │ │ │ ├── prop_bundle_darwin.h │ │ │ │ │ └── prop_bundle_darwin.mm │ │ │ │ ├── native_prop_bundle.cc │ │ │ │ ├── native_prop_bundle.h │ │ │ │ ├── prop_bundle_creator_default.cc │ │ │ │ ├── prop_bundle_creator_default.h │ │ │ │ └── testing/ │ │ │ │ ├── prop_bundle_mock.cc │ │ │ │ └── prop_bundle_mock.h │ │ │ ├── layout/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── android/ │ │ │ │ │ ├── layout_context_android.cc │ │ │ │ │ ├── layout_context_android.h │ │ │ │ │ ├── layout_node_android.cc │ │ │ │ │ ├── layout_node_android.h │ │ │ │ │ ├── layout_node_manager_android.cc │ │ │ │ │ ├── layout_node_manager_android.h │ │ │ │ │ ├── text_layout_android.cc │ │ │ │ │ └── text_layout_android.h │ │ │ │ ├── empty/ │ │ │ │ │ └── layout_context_empty_implementation.h │ │ │ │ ├── harmony/ │ │ │ │ │ ├── layout_context_harmony.cc │ │ │ │ │ └── layout_context_harmony.h │ │ │ │ ├── ios/ │ │ │ │ │ ├── layout_context_darwin.h │ │ │ │ │ ├── layout_context_darwin.mm │ │ │ │ │ ├── text_layout_darwin.h │ │ │ │ │ └── text_layout_darwin.mm │ │ │ │ ├── layout_context.cc │ │ │ │ ├── layout_context.h │ │ │ │ ├── layout_context_data.h │ │ │ │ ├── layout_node.cc │ │ │ │ ├── layout_node.h │ │ │ │ ├── list_node.cc │ │ │ │ ├── list_node.h │ │ │ │ ├── no_needed_layout_list.h │ │ │ │ └── textra/ │ │ │ │ ├── text_layout_api.h │ │ │ │ ├── text_layout_textra.cc │ │ │ │ └── text_layout_textra.h │ │ │ └── painting/ │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ ├── native_painting_context_android.cc │ │ │ │ ├── native_painting_context_android.h │ │ │ │ ├── native_painting_context_platform_android_ref.cc │ │ │ │ ├── native_painting_context_platform_android_ref.h │ │ │ │ ├── painting_context_android.cc │ │ │ │ ├── painting_context_android.h │ │ │ │ ├── platform_renderer_android.cc │ │ │ │ ├── platform_renderer_android.h │ │ │ │ ├── platform_renderer_context.cc │ │ │ │ ├── platform_renderer_context.h │ │ │ │ ├── ui_delegate_android.cc │ │ │ │ └── ui_delegate_android.h │ │ │ ├── catalyzer.cc │ │ │ ├── catalyzer.h │ │ │ ├── empty/ │ │ │ │ └── painting_context_implementation.h │ │ │ ├── harmony/ │ │ │ │ ├── painting_context_harmony.cc │ │ │ │ ├── painting_context_harmony.h │ │ │ │ ├── ui_delegate_harmony.cc │ │ │ │ └── ui_delegate_harmony.h │ │ │ ├── ios/ │ │ │ │ ├── native_painting_context_darwin.h │ │ │ │ ├── native_painting_context_darwin.mm │ │ │ │ ├── native_painting_context_platform_darwin_ref.h │ │ │ │ ├── native_painting_context_platform_darwin_ref.mm │ │ │ │ ├── painting_context_darwin.h │ │ │ │ ├── painting_context_darwin.mm │ │ │ │ ├── painting_context_darwin_UnitTest.mm │ │ │ │ ├── painting_context_darwin_utils.h │ │ │ │ ├── painting_context_darwin_utils.mm │ │ │ │ ├── platform_renderer_context_darwin.h │ │ │ │ ├── platform_renderer_context_darwin.mm │ │ │ │ ├── platform_renderer_darwin.h │ │ │ │ ├── platform_renderer_darwin.mm │ │ │ │ ├── platform_renderer_darwin_factory.h │ │ │ │ ├── platform_renderer_darwin_factory.mm │ │ │ │ ├── ui_delegate_darwin.h │ │ │ │ └── ui_delegate_darwin.mm │ │ │ ├── native_painting_context.cc │ │ │ ├── native_painting_context.h │ │ │ ├── native_painting_context_platform_ref.cc │ │ │ ├── native_painting_context_platform_ref.h │ │ │ ├── painting_context.cc │ │ │ ├── painting_context.h │ │ │ ├── platform_renderer.h │ │ │ ├── platform_renderer_impl.cc │ │ │ └── platform_renderer_impl.h │ │ ├── utils/ │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ ├── device_display_info.cc │ │ │ │ ├── devtool_lifecycle_android.cc │ │ │ │ ├── devtool_lifecycle_android.h │ │ │ │ ├── event_converter_android.cc │ │ │ │ ├── event_converter_android.h │ │ │ │ ├── event_converter_android_unittest.cc │ │ │ │ ├── lynx_env_android.cc │ │ │ │ ├── lynx_env_android.h │ │ │ │ ├── lynx_trail_hub_impl_android.cc │ │ │ │ ├── lynx_trail_hub_impl_android.h │ │ │ │ ├── text_utils_android.cc │ │ │ │ ├── text_utils_android.h │ │ │ │ ├── value_converter_android.cc │ │ │ │ └── value_converter_android.h │ │ │ ├── base/ │ │ │ │ ├── base_def.h │ │ │ │ ├── element_template_info.h │ │ │ │ ├── tasm_constants.h │ │ │ │ ├── tasm_utils.cc │ │ │ │ ├── tasm_utils.h │ │ │ │ ├── tasm_worker_basic_task_runner.cc │ │ │ │ ├── tasm_worker_basic_task_runner.h │ │ │ │ ├── tasm_worker_task_runner.cc │ │ │ │ ├── tasm_worker_task_runner.h │ │ │ │ └── tasm_worker_task_runner_unittest.cc │ │ │ ├── build.gni │ │ │ ├── darwin/ │ │ │ │ ├── event_converter_darwin.h │ │ │ │ ├── event_converter_darwin.mm │ │ │ │ └── event_converter_darwin_unittest.mm │ │ │ ├── devtool_lifecycle.cc │ │ │ ├── devtool_lifecycle.h │ │ │ ├── devtool_lifecycle_unittest.cc │ │ │ ├── devtool_state.h │ │ │ ├── diff_algorithm.h │ │ │ ├── diff_algorithm_unittest.cc │ │ │ ├── harmony/ │ │ │ │ ├── lynx_trail_hub_impl_harmony.cc │ │ │ │ ├── lynx_trail_hub_impl_harmony.h │ │ │ │ └── sys_env_harmony.cc │ │ │ ├── ios/ │ │ │ │ ├── text_utils_ios.h │ │ │ │ └── text_utils_ios.mm │ │ │ ├── lynx_env.cc │ │ │ ├── lynx_env.h │ │ │ ├── lynx_trail_hub.cc │ │ │ ├── lynx_trail_hub.h │ │ │ ├── lynx_trail_hub_impl_default.cc │ │ │ ├── prop_bundle_style_writer.cc │ │ │ ├── prop_bundle_style_writer.h │ │ │ ├── prop_bundle_style_writer_unittest.cc │ │ │ ├── prop_bundle_style_writer_unittest.h │ │ │ ├── sys_lynx_env/ │ │ │ │ └── sys_env_default.cc │ │ │ ├── test/ │ │ │ │ ├── text_utils_mock.cc │ │ │ │ └── text_utils_mock.h │ │ │ ├── value_utils.cc │ │ │ └── value_utils.h │ │ └── worklet/ │ │ ├── BUILD.gn │ │ ├── base/ │ │ │ ├── worklet_utils.cc │ │ │ └── worklet_utils.h │ │ ├── lepus_component.cc │ │ ├── lepus_component.h │ │ ├── lepus_element.cc │ │ ├── lepus_element.h │ │ ├── lepus_gesture.cc │ │ ├── lepus_gesture.h │ │ ├── lepus_lynx.cc │ │ ├── lepus_lynx.h │ │ ├── lepus_raf_handler.cc │ │ ├── lepus_raf_handler.h │ │ └── test/ │ │ ├── worklet_api_unittest.cc │ │ ├── worklet_event_unittest.cc │ │ └── worklet_utils_unittest.cc │ ├── resource/ │ │ ├── BUILD.gn │ │ ├── external_resource/ │ │ │ ├── external_resource_loader.cc │ │ │ └── external_resource_loader.h │ │ ├── lazy_bundle/ │ │ │ ├── bundle_resource_info.h │ │ │ ├── lazy_bundle_lifecycle_option.cc │ │ │ ├── lazy_bundle_lifecycle_option.h │ │ │ ├── lazy_bundle_loader.cc │ │ │ ├── lazy_bundle_loader.h │ │ │ ├── lazy_bundle_request.h │ │ │ ├── lazy_bundle_unittest.cc │ │ │ ├── lazy_bundle_utils.cc │ │ │ └── lazy_bundle_utils.h │ │ ├── lynx_info_reporter_helper_harmony.cc │ │ ├── lynx_info_reporter_helper_harmony.h │ │ ├── lynx_resource_loader.cc │ │ ├── lynx_resource_loader_android.cc │ │ ├── lynx_resource_loader_android.h │ │ ├── lynx_resource_loader_darwin.h │ │ ├── lynx_resource_loader_darwin.mm │ │ ├── lynx_resource_loader_harmony.cc │ │ ├── lynx_resource_loader_harmony.h │ │ ├── lynx_resource_setting.cc │ │ ├── lynx_resource_setting.h │ │ └── trace/ │ │ ├── BUILD.gn │ │ └── resource_trace_event_def.h │ ├── runtime/ │ │ ├── BUILD.gn │ │ ├── common/ │ │ │ ├── BUILD.gn │ │ │ ├── bindings/ │ │ │ │ ├── event/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── context_proxy.cc │ │ │ │ │ ├── context_proxy.h │ │ │ │ │ ├── context_proxy_test.cc │ │ │ │ │ ├── context_proxy_test.h │ │ │ │ │ ├── message_event.cc │ │ │ │ │ ├── message_event.h │ │ │ │ │ ├── message_event_test.cc │ │ │ │ │ ├── message_event_test.h │ │ │ │ │ └── runtime_constants.h │ │ │ │ ├── modules/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── lynx_native_module_manager.cc │ │ │ │ │ ├── lynx_native_module_manager.h │ │ │ │ │ ├── lynx_native_module_manager_unittest.cc │ │ │ │ │ └── mock_native_module.h │ │ │ │ └── resource/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── response_handler_proxy.h │ │ │ │ ├── response_promise.h │ │ │ │ ├── response_promise_unittest.cc │ │ │ │ └── response_promise_unittest.h │ │ │ ├── js_error_reporter.cc │ │ │ ├── js_error_reporter.h │ │ │ ├── js_error_reporter_unittest.cc │ │ │ ├── lynx_console_helper.h │ │ │ └── napi/ │ │ │ ├── BUILD.gn │ │ │ ├── jsbinding_napi_v8_ios_imp.cc │ │ │ ├── napi.gni │ │ │ ├── napi_bench_object.h │ │ │ ├── napi_environment.cc │ │ │ ├── napi_environment.h │ │ │ ├── napi_environment_unittest.cc │ │ │ ├── napi_runtime_proxy.cc │ │ │ ├── napi_runtime_proxy.h │ │ │ ├── napi_runtime_proxy_jsc.cc │ │ │ ├── napi_runtime_proxy_jsc.h │ │ │ ├── napi_runtime_proxy_jsvm.cc │ │ │ ├── napi_runtime_proxy_jsvm.h │ │ │ ├── napi_runtime_proxy_jsvm_factory.h │ │ │ ├── napi_runtime_proxy_quickjs.cc │ │ │ ├── napi_runtime_proxy_quickjs.h │ │ │ ├── napi_runtime_proxy_quickjs_factory.h │ │ │ ├── napi_runtime_proxy_v8.cc │ │ │ ├── napi_runtime_proxy_v8.h │ │ │ ├── napi_runtime_proxy_v8_factory.h │ │ │ └── shim/ │ │ │ ├── README.md │ │ │ ├── shim_napi_env_jsc.h │ │ │ ├── shim_napi_env_quickjs.h │ │ │ └── shim_napi_env_v8.h │ │ ├── js/ │ │ │ ├── BUILD.gn │ │ │ ├── bindings/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── api_call_back-inl.h │ │ │ │ ├── api_call_back.cc │ │ │ │ ├── api_call_back.h │ │ │ │ ├── api_call_back_unittest.cc │ │ │ │ ├── api_invoke_ctrl.h │ │ │ │ ├── big_int/ │ │ │ │ │ ├── big_integer.h │ │ │ │ │ ├── constants.cc │ │ │ │ │ ├── jsbi.cc │ │ │ │ │ └── jsbi.h │ │ │ │ ├── console.h │ │ │ │ ├── event/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── context_proxy_in_js.cc │ │ │ │ │ ├── context_proxy_in_js.h │ │ │ │ │ ├── context_proxy_in_js_test.cc │ │ │ │ │ ├── context_proxy_in_js_test.h │ │ │ │ │ ├── js_event_listener.cc │ │ │ │ │ ├── js_event_listener.h │ │ │ │ │ ├── js_event_listener_test.cc │ │ │ │ │ └── js_event_listener_test.h │ │ │ │ ├── global.cc │ │ │ │ ├── global.h │ │ │ │ ├── interceptor/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── interceptor_factory.cc │ │ │ │ │ └── interceptor_factory.h │ │ │ │ ├── java_script_element.cc │ │ │ │ ├── java_script_element.h │ │ │ │ ├── js_app.cc │ │ │ │ ├── js_app.h │ │ │ │ ├── js_app_unittest.cc │ │ │ │ ├── js_object_destruction_observer.h │ │ │ │ ├── js_task_adapter.cc │ │ │ │ ├── js_task_adapter.h │ │ │ │ ├── js_task_adapter_unittest.cc │ │ │ │ ├── lynx.cc │ │ │ │ ├── lynx.h │ │ │ │ ├── lynx_console.cc │ │ │ │ ├── lynx_js_error.cc │ │ │ │ ├── lynx_js_error.h │ │ │ │ ├── mock_module_delegate.h │ │ │ │ ├── modules/ │ │ │ │ │ ├── android/ │ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ │ ├── callback_impl.cc │ │ │ │ │ │ ├── callback_impl.h │ │ │ │ │ │ ├── java_attribute_descriptor.cc │ │ │ │ │ │ ├── java_attribute_descriptor.h │ │ │ │ │ │ ├── java_method_descriptor.cc │ │ │ │ │ │ ├── java_method_descriptor.h │ │ │ │ │ │ ├── jni_v8_bridge.cc │ │ │ │ │ │ ├── lynx_module_android.cc │ │ │ │ │ │ ├── lynx_module_android.h │ │ │ │ │ │ ├── lynx_promise_impl.cc │ │ │ │ │ │ ├── lynx_promise_impl.h │ │ │ │ │ │ ├── lynx_proxy_runtime_helper.cc │ │ │ │ │ │ ├── lynx_proxy_runtime_helper.h │ │ │ │ │ │ ├── method_invoker.cc │ │ │ │ │ │ ├── method_invoker.h │ │ │ │ │ │ ├── module_factory_android.cc │ │ │ │ │ │ ├── module_factory_android.h │ │ │ │ │ │ ├── platform_jsi/ │ │ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ │ │ ├── jsi_object_utils.cc │ │ │ │ │ │ │ ├── jsi_object_utils.h │ │ │ │ │ │ │ ├── lynx_jsi_object_descriptor.cc │ │ │ │ │ │ │ ├── lynx_jsi_object_descriptor.h │ │ │ │ │ │ │ ├── lynx_platform_jsi_object_android.cc │ │ │ │ │ │ │ └── lynx_platform_jsi_object_android.h │ │ │ │ │ │ └── webassembly_bridge.cc │ │ │ │ │ ├── harmony/ │ │ │ │ │ │ ├── module_factory_harmony.cc │ │ │ │ │ │ ├── module_factory_harmony.h │ │ │ │ │ │ ├── native_module_harmony.cc │ │ │ │ │ │ ├── native_module_harmony.h │ │ │ │ │ │ ├── platform_module_manager.cc │ │ │ │ │ │ └── platform_module_manager.h │ │ │ │ │ ├── ios/ │ │ │ │ │ │ ├── common_module_creator.h │ │ │ │ │ │ ├── common_module_creator.mm │ │ │ │ │ │ ├── lynx_module_creator_darwin.h │ │ │ │ │ │ ├── lynx_module_darwin.h │ │ │ │ │ │ ├── lynx_module_darwin.mm │ │ │ │ │ │ ├── lynx_module_interceptor.h │ │ │ │ │ │ ├── lynx_module_interceptor.mm │ │ │ │ │ │ ├── module_factory_darwin.h │ │ │ │ │ │ ├── module_factory_darwin.mm │ │ │ │ │ │ ├── shared_module_creator.h │ │ │ │ │ │ └── shared_module_creator.mm │ │ │ │ │ ├── lynx_jsi_module.cc │ │ │ │ │ ├── lynx_jsi_module.h │ │ │ │ │ ├── lynx_jsi_module_binding.cc │ │ │ │ │ ├── lynx_jsi_module_binding.h │ │ │ │ │ ├── lynx_jsi_module_callback.cc │ │ │ │ │ ├── lynx_jsi_module_callback.h │ │ │ │ │ ├── lynx_module.cc │ │ │ │ │ ├── lynx_module.h │ │ │ │ │ ├── lynx_module_manager.cc │ │ │ │ │ ├── lynx_module_manager.h │ │ │ │ │ ├── lynx_module_manager_unittest.cc │ │ │ │ │ ├── lynx_module_timing.cc │ │ │ │ │ ├── lynx_module_timing.h │ │ │ │ │ ├── module_delegate.h │ │ │ │ │ ├── module_interceptor.cc │ │ │ │ │ ├── module_interceptor.h │ │ │ │ │ └── native_module_factory_unittest.cc │ │ │ │ ├── resource/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── response_handler_in_js.cc │ │ │ │ │ ├── response_handler_in_js.h │ │ │ │ │ └── response_handler_in_js_unittest.cc │ │ │ │ ├── text_codec_helper.cc │ │ │ │ ├── text_codec_helper.h │ │ │ │ └── text_codec_helper_unittest.cc │ │ │ ├── bytecode/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── android/ │ │ │ │ │ ├── bytecode_callback.cc │ │ │ │ │ ├── bytecode_callback.h │ │ │ │ │ └── js_cache_manager_android.cc │ │ │ │ ├── cache_generator.h │ │ │ │ ├── harmony/ │ │ │ │ │ ├── js_cache_manager_harmony.cc │ │ │ │ │ └── js_cache_manager_harmony.h │ │ │ │ ├── ios/ │ │ │ │ │ └── js_cache_manager_darwin.mm │ │ │ │ ├── js_cache_manager.cc │ │ │ │ ├── js_cache_manager.h │ │ │ │ ├── js_cache_manager_facade.cc │ │ │ │ ├── js_cache_manager_facade.h │ │ │ │ ├── js_cache_manager_facade_unittest.cc │ │ │ │ ├── js_cache_manager_mock.cc │ │ │ │ ├── js_cache_manager_unittest.cc │ │ │ │ ├── js_cache_tracker.cc │ │ │ │ ├── js_cache_tracker.h │ │ │ │ ├── js_cache_tracker_unittest.cc │ │ │ │ ├── js_cache_tracker_unittest.h │ │ │ │ ├── meta_data.cc │ │ │ │ ├── meta_data.h │ │ │ │ ├── meta_data_unittest.cc │ │ │ │ ├── quickjs/ │ │ │ │ │ ├── bytecode/ │ │ │ │ │ │ ├── quickjs_bytecode.h │ │ │ │ │ │ ├── quickjs_bytecode_debug_info_unittest.cc │ │ │ │ │ │ ├── quickjs_bytecode_provider.cc │ │ │ │ │ │ ├── quickjs_bytecode_provider.h │ │ │ │ │ │ ├── quickjs_bytecode_provider_src.cc │ │ │ │ │ │ ├── quickjs_bytecode_provider_src.h │ │ │ │ │ │ └── quickjs_bytecode_provider_unittest.cc │ │ │ │ │ ├── quickjs_cache.gni │ │ │ │ │ ├── quickjs_cache_generator.cc │ │ │ │ │ └── quickjs_cache_generator.h │ │ │ │ └── v8/ │ │ │ │ ├── v8_cache_generator.cc │ │ │ │ └── v8_cache_generator.h │ │ │ ├── js_bundle.cc │ │ │ ├── js_bundle.h │ │ │ ├── js_bundle_holder.h │ │ │ ├── js_bundle_unittest.cc │ │ │ ├── js_context_wrapper.cc │ │ │ ├── js_context_wrapper.h │ │ │ ├── js_executor.cc │ │ │ ├── js_executor.h │ │ │ ├── jsi/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── LICENSE │ │ │ │ ├── args_converter.h │ │ │ │ ├── args_converter_unittest.cc │ │ │ │ ├── instrumentation.h │ │ │ │ ├── jsc/ │ │ │ │ │ ├── jsc.gni │ │ │ │ │ ├── jsc_api.h │ │ │ │ │ ├── jsc_context_group_wrapper.cc │ │ │ │ │ ├── jsc_context_group_wrapper.h │ │ │ │ │ ├── jsc_context_wrapper.cc │ │ │ │ │ ├── jsc_context_wrapper.h │ │ │ │ │ ├── jsc_exception.cc │ │ │ │ │ ├── jsc_exception.h │ │ │ │ │ ├── jsc_helper.cc │ │ │ │ │ ├── jsc_helper.h │ │ │ │ │ ├── jsc_host_function.cc │ │ │ │ │ ├── jsc_host_function.h │ │ │ │ │ ├── jsc_host_object.cc │ │ │ │ │ ├── jsc_host_object.h │ │ │ │ │ ├── jsc_runtime.cc │ │ │ │ │ └── jsc_runtime.h │ │ │ │ ├── jsi-inl.h │ │ │ │ ├── jsi.cc │ │ │ │ ├── jsi.h │ │ │ │ ├── jsi_unittest.cc │ │ │ │ ├── jsi_unittest.h │ │ │ │ ├── jslib.h │ │ │ │ ├── jsvm/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── jsvm_api.h │ │ │ │ │ ├── jsvm_context_wrapper.cc │ │ │ │ │ ├── jsvm_context_wrapper.h │ │ │ │ │ ├── jsvm_declare.def │ │ │ │ │ ├── jsvm_dyn_load.h │ │ │ │ │ ├── jsvm_exception.cc │ │ │ │ │ ├── jsvm_exception.h │ │ │ │ │ ├── jsvm_helper.cc │ │ │ │ │ ├── jsvm_helper.h │ │ │ │ │ ├── jsvm_host_function.cc │ │ │ │ │ ├── jsvm_host_function.h │ │ │ │ │ ├── jsvm_host_object.cc │ │ │ │ │ ├── jsvm_host_object.h │ │ │ │ │ ├── jsvm_runtime.cc │ │ │ │ │ ├── jsvm_runtime.h │ │ │ │ │ ├── jsvm_runtime_wrapper.cc │ │ │ │ │ ├── jsvm_runtime_wrapper.h │ │ │ │ │ └── jsvm_util.h │ │ │ │ ├── quickjs/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── build.gni │ │ │ │ │ ├── quickjs_api.h │ │ │ │ │ ├── quickjs_context_wrapper.cc │ │ │ │ │ ├── quickjs_context_wrapper.h │ │ │ │ │ ├── quickjs_exception.cc │ │ │ │ │ ├── quickjs_exception.h │ │ │ │ │ ├── quickjs_helper.cc │ │ │ │ │ ├── quickjs_helper.h │ │ │ │ │ ├── quickjs_helper_unittest.cc │ │ │ │ │ ├── quickjs_host_function.cc │ │ │ │ │ ├── quickjs_host_function.h │ │ │ │ │ ├── quickjs_host_object.cc │ │ │ │ │ ├── quickjs_host_object.h │ │ │ │ │ ├── quickjs_inspector_manager.h │ │ │ │ │ ├── quickjs_runtime.cc │ │ │ │ │ ├── quickjs_runtime.h │ │ │ │ │ ├── quickjs_runtime_unittest.cc │ │ │ │ │ ├── quickjs_runtime_wrapper.cc │ │ │ │ │ └── quickjs_runtime_wrapper.h │ │ │ │ └── v8/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── v8.gni │ │ │ │ ├── v8_api.h │ │ │ │ ├── v8_context_wrapper.h │ │ │ │ ├── v8_context_wrapper_impl.cc │ │ │ │ ├── v8_context_wrapper_impl.h │ │ │ │ ├── v8_exception.cc │ │ │ │ ├── v8_exception.h │ │ │ │ ├── v8_helper.cc │ │ │ │ ├── v8_helper.h │ │ │ │ ├── v8_host_function.cc │ │ │ │ ├── v8_host_function.h │ │ │ │ ├── v8_host_object.cc │ │ │ │ ├── v8_host_object.h │ │ │ │ ├── v8_inspector_manager.h │ │ │ │ ├── v8_isolate_wrapper.h │ │ │ │ ├── v8_isolate_wrapper_impl.cc │ │ │ │ ├── v8_isolate_wrapper_impl.h │ │ │ │ ├── v8_runtime.cc │ │ │ │ └── v8_runtime.h │ │ │ ├── jsi_object_wrapper.cc │ │ │ ├── jsi_object_wrapper.h │ │ │ ├── lynx_api_handler.cc │ │ │ ├── lynx_api_handler.h │ │ │ ├── lynx_runtime_helper.h │ │ │ ├── mock_template_delegate.h │ │ │ ├── napi/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── napi_loader_js.cc │ │ │ │ └── napi_loader_js.h │ │ │ ├── runtime_constant.h │ │ │ ├── runtime_lifecycle_listener_delegate.h │ │ │ ├── runtime_lifecycle_observer_impl.cc │ │ │ ├── runtime_lifecycle_observer_impl.h │ │ │ ├── runtime_lifecycle_observer_unittest.cc │ │ │ ├── runtime_manager.cc │ │ │ ├── runtime_manager.h │ │ │ ├── template_delegate.h │ │ │ ├── update_data_type.h │ │ │ ├── utils.cc │ │ │ ├── utils.h │ │ │ └── utils_unittest.cc │ │ ├── lepus/ │ │ │ ├── BUILD.gn │ │ │ ├── array_api.cc │ │ │ ├── array_api.h │ │ │ ├── ast_dump.cc │ │ │ ├── ast_dump.h │ │ │ ├── base_api.cc │ │ │ ├── base_api.h │ │ │ ├── base_binary_reader.cc │ │ │ ├── base_binary_reader.h │ │ │ ├── big_object.js │ │ │ ├── binary_input_stream.cc │ │ │ ├── binary_input_stream.h │ │ │ ├── binary_input_stream_unittest.cc │ │ │ ├── binary_input_stream_unittest.h │ │ │ ├── binary_reader.cc │ │ │ ├── binary_reader.h │ │ │ ├── binary_writer.cc │ │ │ ├── binary_writer.h │ │ │ ├── bindings/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── build.gni │ │ │ │ ├── empty_renderer_functions.cc │ │ │ │ ├── event/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── context_proxy_in_lepus.cc │ │ │ │ │ ├── context_proxy_in_lepus.h │ │ │ │ │ ├── context_proxy_in_lepus_test.cc │ │ │ │ │ ├── context_proxy_in_lepus_test.h │ │ │ │ │ ├── lepus_event_listener.cc │ │ │ │ │ ├── lepus_event_listener.h │ │ │ │ │ ├── lepus_event_listener_test.cc │ │ │ │ │ └── lepus_event_listener_test.h │ │ │ │ ├── ios/ │ │ │ │ │ ├── lynx_lepus_module_darwin.h │ │ │ │ │ └── lynx_lepus_module_darwin.mm │ │ │ │ ├── modules/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── lepus_module_callback.cc │ │ │ │ │ ├── lepus_module_callback.h │ │ │ │ │ ├── lynx_lepus_module.cc │ │ │ │ │ ├── lynx_lepus_module.h │ │ │ │ │ ├── lynx_lepus_module_manager.cc │ │ │ │ │ └── lynx_lepus_module_manager.h │ │ │ │ ├── renderer.h │ │ │ │ ├── renderer_functions.cc │ │ │ │ ├── renderer_functions.h │ │ │ │ ├── renderer_functions_def.h │ │ │ │ ├── resource/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── response_handler_in_lepus.cc │ │ │ │ │ ├── response_handler_in_lepus.h │ │ │ │ │ └── response_handler_in_lepus_unittest.cc │ │ │ │ └── style/ │ │ │ │ ├── runtime_css_reader.h │ │ │ │ └── shared_css_fragment_wrapper.h │ │ │ ├── build.gni │ │ │ ├── builtin.cc │ │ │ ├── builtin.h │ │ │ ├── builtin_function_table.h │ │ │ ├── bytecode_generator.cc │ │ │ ├── bytecode_generator.h │ │ │ ├── bytecode_print.cc │ │ │ ├── bytecode_print.h │ │ │ ├── code_generator.cc │ │ │ ├── code_generator.h │ │ │ ├── compiler/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── encode_main.cc │ │ │ │ ├── lepus_compiler_unittests.cc │ │ │ │ └── unit_test/ │ │ │ │ ├── LepusDate_test.js │ │ │ │ ├── URIComponent.js │ │ │ │ ├── array.map_test.js │ │ │ │ ├── array.prototype.concat.js │ │ │ │ ├── array.prototype.filter.js │ │ │ │ ├── array.prototype.filter_test.js │ │ │ │ ├── array.prototype.find.js │ │ │ │ ├── array.prototype.findIndex.js │ │ │ │ ├── array.prototype.foreach.js │ │ │ │ ├── array.prototype.includes.js │ │ │ │ ├── array.prototype.join.js │ │ │ │ ├── array.prototype.map_test.js │ │ │ │ ├── array.prototype.shift.js │ │ │ │ ├── array.prototype.slice.js │ │ │ │ ├── array.prototype.substring.js │ │ │ │ ├── array_prototype_test.js │ │ │ │ ├── assignment_args.js │ │ │ │ ├── carash_resolved.js │ │ │ │ ├── check_default_parameters.js │ │ │ │ ├── closure.js │ │ │ │ ├── closure_simple.js │ │ │ │ ├── closure_test.js │ │ │ │ ├── closure_top_level.js │ │ │ │ ├── double_to_size_ub.js │ │ │ │ ├── export_and_import_test.js │ │ │ │ ├── for_statement_test.js │ │ │ │ ├── global_this.js │ │ │ │ ├── lepus_undefined.js │ │ │ │ ├── logical_AND_and_logical_Or.js │ │ │ │ ├── math.js │ │ │ │ ├── nullish_coalescing.js │ │ │ │ ├── nullish_coalescing_break_change.js │ │ │ │ ├── number.prototype.tofixed.js │ │ │ │ ├── numbertostring.js │ │ │ │ ├── object.assign.js │ │ │ │ ├── object.freeze.js │ │ │ │ ├── object_keys.js │ │ │ │ ├── optional_chaining.js │ │ │ │ ├── p0_feature.js │ │ │ │ ├── parseFloat_test.js │ │ │ │ ├── parseInt_test.js │ │ │ │ ├── regexp_test.js │ │ │ │ ├── str_len_test.js │ │ │ │ ├── string.length.js │ │ │ │ ├── string.prototype.replace.js │ │ │ │ ├── string.prototype.slice.js │ │ │ │ ├── string.prototype.substr.js │ │ │ │ ├── string.prototype.trim.js │ │ │ │ ├── string_prototype_split_test.js │ │ │ │ ├── string_prototype_test.js │ │ │ │ ├── ternary_test.js │ │ │ │ ├── to_fixed.js │ │ │ │ ├── try_catch_throw.js │ │ │ │ ├── typeof_test.js │ │ │ │ └── unary_operation.js │ │ │ ├── context_binary_writer.cc │ │ │ ├── context_binary_writer.h │ │ │ ├── context_decoder_unittests.cc │ │ │ ├── context_pool.cc │ │ │ ├── context_pool.h │ │ │ ├── context_pool_unittest.cc │ │ │ ├── date_api.h │ │ │ ├── exception.h │ │ │ ├── function.cc │ │ │ ├── function.h │ │ │ ├── function_api.cc │ │ │ ├── function_api.h │ │ │ ├── function_api_unittest.cc │ │ │ ├── guard.h │ │ │ ├── heap.h │ │ │ ├── js_object.cc │ │ │ ├── js_object.h │ │ │ ├── json_api.h │ │ │ ├── json_parser.cc │ │ │ ├── json_parser.h │ │ │ ├── json_parser_unittest.cc │ │ │ ├── lepus_context_cell.cc │ │ │ ├── lepus_context_cell.h │ │ │ ├── lepus_date.cc │ │ │ ├── lepus_date.h │ │ │ ├── lepus_date_api.cc │ │ │ ├── lepus_date_api.h │ │ │ ├── lepus_error_helper.cc │ │ │ ├── lepus_error_helper.h │ │ │ ├── lepus_error_helper_unittest.cc │ │ │ ├── lepus_global.cc │ │ │ ├── lepus_global.h │ │ │ ├── lepus_inspector.h │ │ │ ├── lepus_utils.h │ │ │ ├── lepus_value_unittest.cc │ │ │ ├── lynx_value_extended.cc │ │ │ ├── lynx_value_extended_unittest.cc │ │ │ ├── marco.h │ │ │ ├── math_api.h │ │ │ ├── op_code.h │ │ │ ├── output_stream.cc │ │ │ ├── output_stream.h │ │ │ ├── parser.cc │ │ │ ├── parser.h │ │ │ ├── regexp.h │ │ │ ├── regexp_api.cc │ │ │ ├── regexp_api.h │ │ │ ├── restricted_value.cc │ │ │ ├── restricted_value.h │ │ │ ├── restricted_value_unittest.cc │ │ │ ├── scanner.cc │ │ │ ├── scanner.h │ │ │ ├── semantic_analysis.cc │ │ │ ├── semantic_analysis.h │ │ │ ├── string_api.cc │ │ │ ├── string_api.h │ │ │ ├── string_api_unittest.cc │ │ │ ├── switch.cc │ │ │ ├── switch.h │ │ │ ├── syntax_tree.cc │ │ │ ├── syntax_tree.h │ │ │ ├── table_api.cc │ │ │ ├── table_api.h │ │ │ ├── tasks/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── lepus_callback_manager.cc │ │ │ │ ├── lepus_callback_manager.h │ │ │ │ ├── lepus_callback_manager_unittest.cc │ │ │ │ ├── lepus_raf_manager.cc │ │ │ │ └── lepus_raf_manager.h │ │ │ ├── token.h │ │ │ ├── tt_tm.h │ │ │ ├── upvalue.h │ │ │ ├── value_deep_check_unittest.cc │ │ │ ├── value_utils_unittest.cc │ │ │ ├── visitor.h │ │ │ ├── vm_context.cc │ │ │ └── vm_context.h │ │ ├── lepusng/ │ │ │ ├── BUILD.gn │ │ │ ├── bindings/ │ │ │ │ └── renderer_ng.cc │ │ │ ├── compiler/ │ │ │ │ └── lepusng_unit_test/ │ │ │ │ └── closure_block.js │ │ │ ├── jsvalue_helper.cc │ │ │ ├── jsvalue_helper.h │ │ │ ├── lynx_api_context_lepusng.h │ │ │ ├── napi/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── test/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── napi_test_context.cc │ │ │ │ │ ├── napi_test_context.h │ │ │ │ │ ├── napi_test_element.cc │ │ │ │ │ ├── napi_test_element.h │ │ │ │ │ ├── test_context.h │ │ │ │ │ ├── test_context.idl │ │ │ │ │ ├── test_element.h │ │ │ │ │ ├── test_element.idl │ │ │ │ │ ├── test_module.cc │ │ │ │ │ └── test_module.h │ │ │ │ └── worklet/ │ │ │ │ ├── lepus_component.idl │ │ │ │ ├── lepus_element.idl │ │ │ │ ├── lepus_gesture.idl │ │ │ │ ├── lepus_lynx.idl │ │ │ │ ├── napi_frame_callback.cc │ │ │ │ ├── napi_frame_callback.h │ │ │ │ ├── napi_func_callback.cc │ │ │ │ ├── napi_func_callback.h │ │ │ │ ├── napi_lepus_component.cc │ │ │ │ ├── napi_lepus_component.h │ │ │ │ ├── napi_lepus_element.cc │ │ │ │ ├── napi_lepus_element.h │ │ │ │ ├── napi_lepus_gesture.cc │ │ │ │ ├── napi_lepus_gesture.h │ │ │ │ ├── napi_lepus_lynx.cc │ │ │ │ ├── napi_lepus_lynx.h │ │ │ │ ├── napi_loader_ui.cc │ │ │ │ └── napi_loader_ui.h │ │ │ ├── qjs_callback.cc │ │ │ ├── qjs_callback.h │ │ │ ├── quick_context.cc │ │ │ ├── quick_context.h │ │ │ ├── quickjs_debug_info.cc │ │ │ ├── quickjs_debug_info.h │ │ │ ├── quickjs_promise_unittest.cc │ │ │ └── quickjs_stack_size_unittest.cc │ │ ├── mts_context.h │ │ ├── mts_context_factory.cc │ │ ├── mts_context_factory.h │ │ ├── profile/ │ │ │ ├── BUILD.gn │ │ │ ├── lepusng/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── lepusng_profiler.cc │ │ │ │ ├── lepusng_profiler.h │ │ │ │ └── lepusng_profiler_unittest.cc │ │ │ ├── quickjs/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── quickjs_runtime_profiler.cc │ │ │ │ ├── quickjs_runtime_profiler.h │ │ │ │ └── quickjs_runtime_profiler_unittest.cc │ │ │ ├── runtime_profiler.cc │ │ │ ├── runtime_profiler.h │ │ │ ├── runtime_profiler_manager.cc │ │ │ ├── runtime_profiler_manager.h │ │ │ ├── runtime_profiler_unittest.cc │ │ │ └── v8/ │ │ │ ├── BUILD.gn │ │ │ ├── v8_runtime_profiler.cc │ │ │ ├── v8_runtime_profiler.h │ │ │ ├── v8_runtime_profiler_helper.cc │ │ │ ├── v8_runtime_profiler_helper.h │ │ │ ├── v8_runtime_profiler_unittest.cc │ │ │ ├── v8_runtime_profiler_wrapper.h │ │ │ ├── v8_runtime_profiler_wrapper_impl.cc │ │ │ └── v8_runtime_profiler_wrapper_impl.h │ │ └── trace/ │ │ ├── BUILD.gn │ │ └── runtime_trace_event_def.h │ ├── services/ │ │ ├── event_report/ │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ └── event_tracker_platform_impl.cc │ │ │ ├── darwin/ │ │ │ │ ├── event_tracker_platform_impl.mm │ │ │ │ └── event_tracker_platform_impl_unittest.mm │ │ │ ├── embedder/ │ │ │ │ └── event_tracker_platform_embedder_impl.cc │ │ │ ├── event_tracker.cc │ │ │ ├── event_tracker.h │ │ │ ├── event_tracker_nodejs.cc │ │ │ ├── event_tracker_platform_impl.cc │ │ │ ├── event_tracker_platform_impl.h │ │ │ └── harmony/ │ │ │ ├── event_tracker_harmony.h │ │ │ └── event_tracker_platform_impl.cc │ │ ├── feature_count/ │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ └── feature_counter_android.cc │ │ │ ├── feature_counter.cc │ │ │ ├── feature_counter.h │ │ │ ├── global_feature_counter.cc │ │ │ └── global_feature_counter.h │ │ ├── fluency/ │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ └── fluency_sample_android.cc │ │ │ ├── fluency_tracer.cc │ │ │ ├── fluency_tracer.h │ │ │ └── harmony/ │ │ │ ├── fluency_trace_helper_harmony.cc │ │ │ └── fluency_trace_helper_harmony.h │ │ ├── fsp_tracing/ │ │ │ ├── BUILD.gn │ │ │ ├── area/ │ │ │ │ ├── fsp_area_tracer_impl.cc │ │ │ │ └── fsp_area_tracer_impl.h │ │ │ ├── axial/ │ │ │ │ ├── fsp_axial_tracer_impl.cc │ │ │ │ └── fsp_axial_tracer_impl.h │ │ │ ├── base/ │ │ │ │ ├── fsp_snapshot.h │ │ │ │ └── fsp_tracer_impl.h │ │ │ ├── fsp_config.h │ │ │ ├── fsp_tracer.cc │ │ │ └── fsp_tracer.h │ │ ├── long_task_timing/ │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ └── long_task_monitor_android.cc │ │ │ ├── long_batched_tasks_monitor.cc │ │ │ ├── long_batched_tasks_monitor.h │ │ │ ├── long_task_monitor.cc │ │ │ ├── long_task_monitor.h │ │ │ └── long_task_timing.h │ │ ├── performance/ │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ ├── performance_controller_android.cc │ │ │ │ └── performance_controller_android.h │ │ │ ├── darwin/ │ │ │ │ ├── performance_controller_darwin.h │ │ │ │ └── performance_controller_darwin.mm │ │ │ ├── fsp_tracing/ │ │ │ │ ├── fsp_snapshot.cc │ │ │ │ ├── fsp_snapshot.h │ │ │ │ ├── fsp_tracer.cc │ │ │ │ └── fsp_tracer.h │ │ │ ├── harmony/ │ │ │ │ ├── performance_controller_harmony.cc │ │ │ │ └── performance_controller_harmony.h │ │ │ ├── js_blocking_monitor/ │ │ │ │ ├── js_blocking_monitor.cc │ │ │ │ ├── js_blocking_monitor.h │ │ │ │ └── js_blocking_trace_event_def.h │ │ │ ├── memory_monitor/ │ │ │ │ ├── memory_monitor.cc │ │ │ │ ├── memory_monitor.h │ │ │ │ ├── memory_record.cc │ │ │ │ └── memory_record.h │ │ │ ├── performance_controller.cc │ │ │ ├── performance_controller.h │ │ │ ├── performance_event_sender.h │ │ │ ├── performance_mediator.cc │ │ │ └── performance_mediator.h │ │ ├── recorder/ │ │ │ ├── BUILD.gn │ │ │ ├── ios/ │ │ │ │ ├── template_assembler_recorder_darwin.h │ │ │ │ └── template_assembler_recorder_darwin.mm │ │ │ ├── lynxview_init_recorder.cc │ │ │ ├── lynxview_init_recorder.h │ │ │ ├── native_module_recorder.cc │ │ │ ├── native_module_recorder.h │ │ │ ├── recorder_constants.h │ │ │ ├── recorder_controller.cc │ │ │ ├── recorder_controller.h │ │ │ ├── template_assembler_recorder.cc │ │ │ ├── template_assembler_recorder.h │ │ │ ├── template_assembler_recorder_unittest.cc │ │ │ ├── testbench_base_recorder.cc │ │ │ ├── testbench_base_recorder.h │ │ │ └── testbench_base_recorder_unittest.cc │ │ ├── replay/ │ │ │ ├── BUILD.gn │ │ │ ├── layout_tree_testbench.cc │ │ │ ├── layout_tree_testbench.h │ │ │ ├── layout_tree_testbench_unittest.cc │ │ │ ├── lynx_callback_testbench.cc │ │ │ ├── lynx_callback_testbench.h │ │ │ ├── lynx_module_binding_testbench.cc │ │ │ ├── lynx_module_binding_testbench.h │ │ │ ├── lynx_module_manager_testbench.cc │ │ │ ├── lynx_module_manager_testbench.h │ │ │ ├── lynx_module_testbench.cc │ │ │ ├── lynx_module_testbench.h │ │ │ ├── lynx_module_testbench_unittest.cc │ │ │ ├── lynx_replay_helper.cc │ │ │ ├── lynx_replay_helper.h │ │ │ ├── lynx_replay_helper_unittest.cc │ │ │ ├── replay_controller.cc │ │ │ ├── replay_controller.h │ │ │ ├── testbench_test_replay.cc │ │ │ ├── testbench_test_replay.h │ │ │ ├── testbench_utils_embedder.cc │ │ │ └── testbench_utils_embedder.h │ │ ├── ssr/ │ │ │ ├── BUILD.gn │ │ │ ├── client/ │ │ │ │ ├── ssr_client_utils.cc │ │ │ │ ├── ssr_client_utils.h │ │ │ │ ├── ssr_data_update_manager.cc │ │ │ │ ├── ssr_data_update_manager.h │ │ │ │ ├── ssr_event_utils.cc │ │ │ │ ├── ssr_event_utils.h │ │ │ │ ├── ssr_hydrate_info.h │ │ │ │ └── ssr_style_sheet.h │ │ │ └── ssr_type_info.h │ │ ├── starlight_standalone/ │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ ├── starlight_android.cc │ │ │ │ └── starlight_android.h │ │ │ ├── core/ │ │ │ │ ├── BUILD.gn │ │ │ │ └── src/ │ │ │ │ ├── starlight.cc │ │ │ │ └── starlight_config.cc │ │ │ └── starlight.gni │ │ ├── timing_handler/ │ │ │ ├── BUILD.gn │ │ │ ├── timing.cc │ │ │ ├── timing.h │ │ │ ├── timing_constants.h │ │ │ ├── timing_constants_deprecated.h │ │ │ ├── timing_handler.cc │ │ │ ├── timing_handler.h │ │ │ ├── timing_handler_delegate.h │ │ │ ├── timing_handler_ng.cc │ │ │ ├── timing_handler_ng.h │ │ │ ├── timing_info.cc │ │ │ ├── timing_info.h │ │ │ ├── timing_info_ng.cc │ │ │ ├── timing_info_ng.h │ │ │ ├── timing_map.cc │ │ │ ├── timing_map.h │ │ │ ├── timing_mediator.cc │ │ │ ├── timing_mediator.h │ │ │ ├── timing_utils.cc │ │ │ └── timing_utils.h │ │ ├── trace/ │ │ │ ├── BUILD.gn │ │ │ └── service_trace_event_def.h │ │ └── watch_dog/ │ │ ├── BUILD.gn │ │ └── watch_dog.h │ ├── shared_data/ │ │ ├── BUILD.gn │ │ ├── lynx_white_board.cc │ │ ├── lynx_white_board.h │ │ ├── lynx_white_board_unittest.cc │ │ ├── shared_data_trace_event_def.h │ │ ├── white_board_delegate.cc │ │ ├── white_board_delegate.h │ │ ├── white_board_inspector.h │ │ ├── white_board_runtime_delegate.cc │ │ ├── white_board_runtime_delegate.h │ │ ├── white_board_tasm_delegate.cc │ │ └── white_board_tasm_delegate.h │ ├── shell/ │ │ ├── BUILD.gn │ │ ├── README.md │ │ ├── android/ │ │ │ ├── js_proxy_android.cc │ │ │ ├── js_proxy_android.h │ │ │ ├── list_container_proxy_android.cc │ │ │ ├── lynx_engine_proxy_android.cc │ │ │ ├── lynx_engine_proxy_android.h │ │ │ ├── lynx_engine_wrapper_android.cc │ │ │ ├── lynx_engine_wrapper_android.h │ │ │ ├── lynx_layout_proxy_android.cc │ │ │ ├── lynx_layout_proxy_android.h │ │ │ ├── lynx_runtime_wrapper_android.cc │ │ │ ├── lynx_runtime_wrapper_android.h │ │ │ ├── lynx_template_render_android.cc │ │ │ ├── native_facade_android.cc │ │ │ ├── native_facade_android.h │ │ │ ├── platform_call_back_android.cc │ │ │ ├── platform_call_back_android.h │ │ │ ├── runtime_lifecycle_listener_delegate_android.cc │ │ │ ├── runtime_lifecycle_listener_delegate_android.h │ │ │ ├── tasm_platform_invoker_android.cc │ │ │ └── tasm_platform_invoker_android.h │ │ ├── bts_runtime_mediator_unittest.cc │ │ ├── common/ │ │ │ ├── platform_call_back.cc │ │ │ ├── platform_call_back.h │ │ │ ├── platform_call_back_manager.cc │ │ │ ├── platform_call_back_manager.h │ │ │ ├── platform_call_back_manager_unittest.cc │ │ │ └── shell_trace_event_def.h │ │ ├── dynamic_ui_operation_queue.cc │ │ ├── dynamic_ui_operation_queue.h │ │ ├── dynamic_ui_operation_queue_unittest.cc │ │ ├── engine_thread_switch.cc │ │ ├── engine_thread_switch.h │ │ ├── engine_thread_switch_unittest.cc │ │ ├── harmony/ │ │ │ ├── embedder_platform_harmony.cc │ │ │ ├── embedder_platform_harmony.h │ │ │ ├── native_facade_harmony.cc │ │ │ ├── native_facade_harmony.h │ │ │ ├── tasm_platform_invoker_harmony.cc │ │ │ └── tasm_platform_invoker_harmony.h │ │ ├── ios/ │ │ │ ├── data_utils.h │ │ │ ├── data_utils.mm │ │ │ ├── js_proxy_darwin.h │ │ │ ├── js_proxy_darwin.mm │ │ │ ├── lynx_engine_proxy_darwin.h │ │ │ ├── lynx_engine_proxy_darwin.mm │ │ │ ├── lynx_layout_proxy_darwin.h │ │ │ ├── lynx_layout_proxy_darwin.mm │ │ │ ├── lynx_runtime_facade_darwin.h │ │ │ ├── lynx_runtime_facade_darwin.mm │ │ │ ├── native_facade_darwin.h │ │ │ ├── native_facade_darwin.mm │ │ │ ├── runtime_lifecycle_listener_delegate_darwin.h │ │ │ ├── runtime_lifecycle_listener_delegate_darwin.mm │ │ │ ├── tasm_platform_invoker_darwin.h │ │ │ └── tasm_platform_invoker_darwin.mm │ │ ├── layout_mediator.cc │ │ ├── layout_mediator.h │ │ ├── layout_result_manager.cc │ │ ├── layout_result_manager.h │ │ ├── layout_result_manager_unittest.cc │ │ ├── list_container_proxy.cc │ │ ├── list_engine_proxy_impl.cc │ │ ├── list_engine_proxy_impl.h │ │ ├── lynx_actor_specialization.h │ │ ├── lynx_card_cache_data_manager.cc │ │ ├── lynx_card_cache_data_manager.h │ │ ├── lynx_card_cache_data_manager_unittest.cc │ │ ├── lynx_card_cache_data_op.h │ │ ├── lynx_engine.cc │ │ ├── lynx_engine.h │ │ ├── lynx_engine_proxy_impl.cc │ │ ├── lynx_engine_proxy_impl.h │ │ ├── lynx_engine_proxy_impl_unittest.cc │ │ ├── lynx_engine_wrapper.cc │ │ ├── lynx_engine_wrapper.h │ │ ├── lynx_layout_proxy_impl.cc │ │ ├── lynx_layout_proxy_impl.h │ │ ├── lynx_shell.cc │ │ ├── lynx_shell.h │ │ ├── lynx_shell_builder.cc │ │ ├── lynx_shell_builder.h │ │ ├── lynx_shell_builder_unitest.cc │ │ ├── lynx_shell_unittest.cc │ │ ├── lynx_ui_operation_async_queue.cc │ │ ├── lynx_ui_operation_async_queue.h │ │ ├── lynx_ui_operation_async_queue_unittest.cc │ │ ├── lynx_ui_operation_queue.cc │ │ ├── lynx_ui_operation_queue.h │ │ ├── lynx_ui_operation_queue_unittest.cc │ │ ├── native_facade.h │ │ ├── native_facade_empty_implementation.h │ │ ├── perf_controller_proxy_impl.cc │ │ ├── perf_controller_proxy_impl.h │ │ ├── runtime/ │ │ │ ├── bts/ │ │ │ │ ├── bts_runtime.cc │ │ │ │ ├── bts_runtime.h │ │ │ │ ├── bts_runtime_mediator.cc │ │ │ │ ├── bts_runtime_mediator.h │ │ │ │ ├── bts_runtime_standalone_helper.cc │ │ │ │ ├── bts_runtime_standalone_helper.h │ │ │ │ ├── lynx_bts_runtime_proxy_impl.cc │ │ │ │ └── lynx_bts_runtime_proxy_impl.h │ │ │ ├── common/ │ │ │ │ ├── module_delegate_impl.cc │ │ │ │ ├── module_delegate_impl.h │ │ │ │ └── module_delegate_mock.cc │ │ │ └── mts/ │ │ │ ├── mts_runtime.cc │ │ │ └── mts_runtime.h │ │ ├── tasm_mediator.cc │ │ ├── tasm_mediator.h │ │ ├── tasm_operation_queue.cc │ │ ├── tasm_operation_queue.h │ │ ├── tasm_operation_queue_async.cc │ │ ├── tasm_operation_queue_async.h │ │ ├── tasm_operation_queue_async_unittest.cc │ │ ├── tasm_operation_queue_unittest.cc │ │ ├── tasm_platform_invoker.h │ │ ├── testing/ │ │ │ ├── BUILD.gn │ │ │ ├── mock_layout_delegate.h │ │ │ ├── mock_layout_platform.h │ │ │ ├── mock_native_facade.cc │ │ │ ├── mock_native_facade.h │ │ │ ├── mock_runner_manufactor.cc │ │ │ ├── mock_runner_manufactor.h │ │ │ ├── mock_tasm_delegate.cc │ │ │ └── mock_tasm_delegate.h │ │ ├── update_mode.h │ │ ├── vsync_observer_impl.cc │ │ └── vsync_observer_impl.h │ ├── style/ │ │ ├── BUILD.gn │ │ ├── animation_data.cc │ │ ├── animation_data.h │ │ ├── background_data.cc │ │ ├── background_data.h │ │ ├── color.h │ │ ├── content_data.h │ │ ├── default_computed_style.h │ │ ├── filter_data.cc │ │ ├── filter_data.h │ │ ├── layout_animation_data.cc │ │ ├── layout_animation_data.h │ │ ├── outline_data.cc │ │ ├── outline_data.h │ │ ├── perspective_data.cc │ │ ├── perspective_data.h │ │ ├── shadow_data.cc │ │ ├── shadow_data.h │ │ ├── style.gni │ │ ├── timing_function_data.cc │ │ ├── timing_function_data.h │ │ ├── transform/ │ │ │ ├── decomposed_transform.cc │ │ │ ├── decomposed_transform.h │ │ │ ├── matrix44.cc │ │ │ ├── matrix44.h │ │ │ ├── quaternion.cc │ │ │ ├── quaternion.h │ │ │ └── quaternion_unittest.cc │ │ ├── transform_origin_data.cc │ │ ├── transform_origin_data.h │ │ ├── transform_raw_data.cc │ │ ├── transform_raw_data.h │ │ ├── transition_data.cc │ │ └── transition_data.h │ ├── template_bundle/ │ │ ├── BUILD.gn │ │ ├── lynx_template_bundle.cc │ │ ├── lynx_template_bundle.h │ │ ├── lynx_template_bundle_converter.cc │ │ ├── lynx_template_bundle_converter.h │ │ └── template_codec/ │ │ ├── BUILD.gn │ │ ├── binary_decoder/ │ │ │ ├── BUILD.gn │ │ │ ├── binary_decoder_trace_event_def.h │ │ │ ├── element_binary_reader.cc │ │ │ ├── element_binary_reader.h │ │ │ ├── lynx_binary_base_css_reader.cc │ │ │ ├── lynx_binary_base_css_reader.h │ │ │ ├── lynx_binary_base_template_reader.cc │ │ │ ├── lynx_binary_base_template_reader.h │ │ │ ├── lynx_binary_config_decoder.cc │ │ │ ├── lynx_binary_config_decoder.h │ │ │ ├── lynx_binary_config_decoder_unittest.cc │ │ │ ├── lynx_binary_config_decoder_unittest.h │ │ │ ├── lynx_binary_config_helper.cc │ │ │ ├── lynx_binary_config_helper.h │ │ │ ├── lynx_binary_lazy_reader_delegate.h │ │ │ ├── lynx_binary_reader.cc │ │ │ ├── lynx_binary_reader.h │ │ │ ├── lynx_config.yml │ │ │ ├── lynx_config_cc.tmpl │ │ │ ├── lynx_config_constant.tmpl │ │ │ ├── lynx_config_decoder.h │ │ │ ├── lynx_config_decoder.tmpl │ │ │ ├── lynx_config_header.tmpl │ │ │ ├── page_config.cc │ │ │ ├── page_config.h │ │ │ ├── parallel_parse_task_scheduler.cc │ │ │ ├── parallel_parse_task_scheduler.h │ │ │ ├── template_binary_reader.cc │ │ │ └── template_binary_reader.h │ │ ├── binary_encoder/ │ │ │ ├── BUILD.gn │ │ │ ├── csr_element_binary_writer.cc │ │ │ ├── csr_element_binary_writer.h │ │ │ ├── css_encoder/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── css_font_face_token.cc │ │ │ │ ├── css_font_face_token.h │ │ │ │ ├── css_font_face_token_unittest.cc │ │ │ │ ├── css_keyframes_token.cc │ │ │ │ ├── css_keyframes_token.h │ │ │ │ ├── css_keyframes_token_unittest.cc │ │ │ │ ├── css_parse_token_group.h │ │ │ │ ├── css_parser.cc │ │ │ │ ├── css_parser.h │ │ │ │ ├── css_parser_token.cc │ │ │ │ ├── css_parser_token.h │ │ │ │ ├── css_parser_token_unittest.cc │ │ │ │ ├── css_parser_unittest.cc │ │ │ │ ├── shared_css_fragment.cc │ │ │ │ ├── shared_css_fragment.h │ │ │ │ └── shared_css_fragment_unittest.cc │ │ │ ├── encode_util.cc │ │ │ ├── encode_util.h │ │ │ ├── encoder.cc │ │ │ ├── encoder.h │ │ │ ├── repack_binary_reader.cc │ │ │ ├── repack_binary_reader.h │ │ │ ├── repack_binary_writer.cc │ │ │ ├── repack_binary_writer.h │ │ │ ├── style_object_encoder/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── style_object_parser.cc │ │ │ │ ├── style_object_parser.h │ │ │ │ └── style_object_parser_unittest.cc │ │ │ ├── template_binary_writer.cc │ │ │ └── template_binary_writer.h │ │ ├── compile_options.h │ │ ├── generator/ │ │ │ ├── BUILD.gn │ │ │ ├── base_struct.h │ │ │ ├── list_parser.cc │ │ │ ├── list_parser.h │ │ │ ├── meta_factory.cc │ │ │ ├── meta_factory.h │ │ │ ├── source_generator.cc │ │ │ ├── source_generator.h │ │ │ ├── template_dynamic_component_parser.cc │ │ │ ├── template_dynamic_component_parser.h │ │ │ ├── template_page_parser.cc │ │ │ ├── template_page_parser.h │ │ │ ├── template_parser.cc │ │ │ ├── template_parser.h │ │ │ ├── template_scope.cc │ │ │ ├── template_scope.h │ │ │ ├── ttml_holder.cc │ │ │ └── ttml_holder.h │ │ ├── header_ext_info.h │ │ ├── lepus_cmd.cc │ │ ├── lepus_cmd.h │ │ ├── magic_number.cc │ │ ├── magic_number.h │ │ ├── moulds.h │ │ ├── template_binary.h │ │ ├── ttml_constant.h │ │ ├── version.h │ │ └── wasm_bind.cc │ └── value_wrapper/ │ ├── BUILD.gn │ ├── android/ │ │ ├── value_impl_android.cc │ │ ├── value_impl_android.h │ │ └── value_impl_android_unittest.cc │ ├── darwin/ │ │ ├── value_impl_darwin.h │ │ ├── value_impl_darwin.mm │ │ └── value_impl_darwin_unittest.mm │ ├── harmony/ │ │ ├── value_impl_napi.cc │ │ └── value_impl_napi.h │ ├── napi/ │ │ ├── napi_util_primjs.cc │ │ ├── napi_util_primjs.h │ │ ├── value_impl_napi_primjs.cc │ │ ├── value_impl_napi_primjs.h │ │ ├── value_impl_napi_primjs_unittest.cc │ │ └── value_impl_opaque_napi_primjs.h │ ├── value_impl_lepus.cc │ ├── value_impl_lepus.h │ ├── value_impl_piper.h │ ├── value_impl_unittest.cc │ ├── value_wrapper_utils.cc │ └── value_wrapper_utils.h ├── dependencies/ │ ├── DEPS │ ├── DEPS.clay │ ├── DEPS.dev │ ├── DEPS.extension │ ├── DEPS.lynxtron │ ├── DEPS.tasm │ └── DEPS.tools_shared ├── devtool/ │ ├── base_devtool/ │ │ ├── android/ │ │ │ └── base_devtool/ │ │ │ ├── .gitignore │ │ │ ├── BUILD.gn │ │ │ ├── CMakeLists.txt │ │ │ ├── base_devtool_android_source.gni │ │ │ ├── build.gradle │ │ │ ├── consumer-rules.pro │ │ │ ├── gradle.properties │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── android_test/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── basedevtool/ │ │ │ │ ├── LogBoxEnvTest.java │ │ │ │ └── LogBoxManagerTest.java │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── basedevtool/ │ │ │ │ ├── BaseDevToolLoadSoUtils.java │ │ │ │ ├── CalledByNative.java │ │ │ │ ├── DevToolGlobalSlot.java │ │ │ │ ├── DevToolSlot.java │ │ │ │ ├── logbox/ │ │ │ │ │ ├── ILogBoxResourceProvider.java │ │ │ │ │ ├── LogBoxDialog.java │ │ │ │ │ ├── LogBoxDialogBase.java │ │ │ │ │ ├── LogBoxEnv.java │ │ │ │ │ ├── LogBoxLifeCycleListenerFragment.java │ │ │ │ │ ├── LogBoxLogLevel.java │ │ │ │ │ ├── LogBoxManager.java │ │ │ │ │ ├── LogBoxNotification.java │ │ │ │ │ ├── LogBoxOwner.java │ │ │ │ │ └── LogBoxProxy.java │ │ │ │ └── utils/ │ │ │ │ ├── DevToolDownloader.java │ │ │ │ ├── DevToolFileLoadCallback.java │ │ │ │ ├── DevToolFileLoadUtils.java │ │ │ │ ├── DownloadCallback.java │ │ │ │ └── UIThreadUtils.java │ │ │ ├── jni/ │ │ │ │ ├── .gitignore │ │ │ │ ├── BUILD.gn │ │ │ │ └── jni_configs.yml │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── devtool_notification_background.xml │ │ │ │ ├── devtool_notification_close_circle.xml │ │ │ │ └── devtool_notification_log_count_circle.xml │ │ │ ├── layout/ │ │ │ │ └── devtool_logbox_notification.xml │ │ │ └── values/ │ │ │ └── devtool_colors.xml │ │ ├── common/ │ │ │ ├── BUILD.gn │ │ │ ├── devtool_global_slot_common.cc │ │ │ ├── devtool_global_slot_common.h │ │ │ ├── devtool_slot_common.cc │ │ │ └── devtool_slot_common.h │ │ ├── darwin/ │ │ │ ├── common/ │ │ │ │ └── utils/ │ │ │ │ ├── DevToolDownloader.h │ │ │ │ ├── DevToolDownloader.m │ │ │ │ ├── DevToolFileLoadUtils.h │ │ │ │ ├── DevToolFileLoadUtils.mm │ │ │ │ ├── DevToolToast.h │ │ │ │ └── DevToolToast.m │ │ │ └── ios/ │ │ │ ├── .gitignore │ │ │ ├── BUILD.gn │ │ │ ├── DevToolGlobalSlotIOS.h │ │ │ ├── DevToolGlobalSlotIOS.mm │ │ │ ├── DevToolSlotIOS.h │ │ │ ├── DevToolSlotIOS.mm │ │ │ └── logbox/ │ │ │ ├── DevToolLogBox.h │ │ │ ├── DevToolLogBox.mm │ │ │ ├── DevToolLogBoxEnv.h │ │ │ ├── DevToolLogBoxEnv.mm │ │ │ ├── DevToolLogBoxHelper.h │ │ │ ├── DevToolLogBoxManager.h │ │ │ ├── DevToolLogBoxManager.m │ │ │ ├── DevToolLogBoxManagerUnitTest.m │ │ │ ├── DevToolLogBoxNotification.h │ │ │ ├── DevToolLogBoxNotification.m │ │ │ ├── DevToolLogBoxOwner.h │ │ │ ├── DevToolLogBoxOwner.mm │ │ │ ├── DevToolLogBoxProxy.h │ │ │ ├── DevToolLogBoxProxy.mm │ │ │ └── DevToolLogBoxResProvider.h │ │ ├── js_libraries/ │ │ │ ├── logbox/ │ │ │ │ ├── .eslintrc.json │ │ │ │ ├── .gitignore │ │ │ │ ├── .prettierignore │ │ │ │ ├── .prettierrc │ │ │ │ ├── build.py │ │ │ │ ├── package.json │ │ │ │ ├── rsbuild.config.ts │ │ │ │ ├── src/ │ │ │ │ │ ├── api/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── app.tsx │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ └── stackFrame.ts │ │ │ │ │ ├── global.css │ │ │ │ │ ├── jsbridge/ │ │ │ │ │ │ ├── implementations/ │ │ │ │ │ │ │ ├── delay.ts │ │ │ │ │ │ │ ├── immediate.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── interface.ts │ │ │ │ │ ├── models/ │ │ │ │ │ │ ├── errorEffects.ts │ │ │ │ │ │ ├── errorReducer.ts │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ └── viewsInfo.ts │ │ │ │ │ ├── pages/ │ │ │ │ │ │ ├── content/ │ │ │ │ │ │ │ ├── displayError.less │ │ │ │ │ │ │ ├── displayError.tsx │ │ │ │ │ │ │ └── error-container/ │ │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── CodeBlock.jsx │ │ │ │ │ │ │ │ ├── Collapsible.jsx │ │ │ │ │ │ │ │ └── ErrorOverlay.jsx │ │ │ │ │ │ │ ├── containers/ │ │ │ │ │ │ │ │ ├── RuntimeError.jsx │ │ │ │ │ │ │ │ ├── RuntimeErrorContainer.jsx │ │ │ │ │ │ │ │ ├── StackFrame.jsx │ │ │ │ │ │ │ │ ├── StackFrameCodeBlock.jsx │ │ │ │ │ │ │ │ └── StackTrace.jsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── styles.ts │ │ │ │ │ │ ├── footer/ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── header/ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── layout/ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── parser/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ ├── dom/ │ │ │ │ │ │ └── absolutifyCaret.js │ │ │ │ │ ├── fileLoader.ts │ │ │ │ │ ├── generateAnsiHTML.js │ │ │ │ │ ├── getLinesAround.ts │ │ │ │ │ ├── getPrettyURL.js │ │ │ │ │ ├── getSourceMap.ts │ │ │ │ │ ├── initSourcemapConsumer.js │ │ │ │ │ ├── isBuiltinErrorName.js │ │ │ │ │ ├── isInternalFile.js │ │ │ │ │ ├── mapper.ts │ │ │ │ │ ├── stackParser.ts │ │ │ │ │ └── vconsole.ts │ │ │ │ ├── tsconfig.json │ │ │ │ └── typings.d.ts │ │ │ └── logbox-types/ │ │ │ ├── .prettierignore │ │ │ ├── .prettierrc │ │ │ ├── package.json │ │ │ ├── tsconfig.json │ │ │ └── types/ │ │ │ └── index.d.ts │ │ ├── logbox/ │ │ │ ├── BUILD.gn │ │ │ ├── logbox_base.cc │ │ │ ├── logbox_base.h │ │ │ ├── logbox_dialog_base.cc │ │ │ ├── logbox_dialog_base.h │ │ │ ├── logbox_dialog_windows.cc │ │ │ ├── logbox_dialog_windows.h │ │ │ ├── logbox_manager.cc │ │ │ ├── logbox_manager.h │ │ │ ├── logbox_notification.cc │ │ │ ├── logbox_notification.h │ │ │ ├── logbox_notification_windows.cc │ │ │ ├── logbox_notification_windows.h │ │ │ ├── logbox_owner_windows.cc │ │ │ └── logbox_owner_windows.h │ │ ├── native/ │ │ │ ├── BUILD.gn │ │ │ ├── abstract_devtool.cc │ │ │ ├── android/ │ │ │ │ ├── base_devtool_jni_load.h │ │ │ │ ├── devtool_global_slot_android.cc │ │ │ │ ├── devtool_global_slot_android.h │ │ │ │ ├── devtool_slot_android.cc │ │ │ │ └── devtool_slot_android.h │ │ │ ├── base_devtool.gni │ │ │ ├── cdp_domain_agent_base.cc │ │ │ ├── common/ │ │ │ │ ├── devtool_global_slot_common.cc │ │ │ │ ├── devtool_global_slot_common.h │ │ │ │ ├── devtool_slot_common.cc │ │ │ │ └── devtool_slot_common.h │ │ │ ├── darwin/ │ │ │ │ └── ios/ │ │ │ │ ├── devtool_global_slot_ios.h │ │ │ │ ├── devtool_global_slot_ios.mm │ │ │ │ ├── devtool_slot_ios.h │ │ │ │ └── devtool_slot_ios.mm │ │ │ ├── debug_router_message_subscriber.h │ │ │ ├── devtool_global_slot.cc │ │ │ ├── devtool_global_slot.h │ │ │ ├── devtool_message_dispatcher.cc │ │ │ ├── devtool_slot.cc │ │ │ ├── devtool_slot.h │ │ │ ├── devtool_status.cc │ │ │ ├── global_message_channel.cc │ │ │ ├── global_message_channel.h │ │ │ ├── global_message_dispatcher.cc │ │ │ ├── global_message_dispatcher.h │ │ │ ├── js_inspect/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── inspector_client_delegate_base_impl.cc │ │ │ │ ├── inspector_client_delegate_base_impl.h │ │ │ │ ├── inspector_client_delegate_base_impl_unittest.cc │ │ │ │ ├── inspector_client_delegate_base_impl_unittest.h │ │ │ │ ├── script_manager_ng.cc │ │ │ │ ├── script_manager_ng.h │ │ │ │ └── script_manager_ng_unittest.cc │ │ │ ├── public/ │ │ │ │ ├── abstract_devtool.h │ │ │ │ ├── base_devtool_export.h │ │ │ │ ├── cdp_domain_agent_base.h │ │ │ │ ├── devtool_message_dispatcher.h │ │ │ │ ├── devtool_message_handler.h │ │ │ │ ├── devtool_status.h │ │ │ │ └── message_sender.h │ │ │ ├── test/ │ │ │ │ ├── devtool_global_slot_platform_mock.cc │ │ │ │ ├── devtool_global_slot_platform_mock.h │ │ │ │ ├── devtool_slot_platform_mock.cc │ │ │ │ ├── devtool_slot_platform_mock.h │ │ │ │ ├── message_sender_mock.h │ │ │ │ ├── mock_base_agent.h │ │ │ │ ├── mock_devtool.h │ │ │ │ ├── mock_message_handler.h │ │ │ │ ├── mock_receiver.cc │ │ │ │ └── mock_receiver.h │ │ │ ├── tracing/ │ │ │ │ ├── BUILD.gn │ │ │ │ └── base_devtool_trace_event_def.h │ │ │ ├── view_message_channel.cc │ │ │ ├── view_message_channel.h │ │ │ ├── view_message_dispatcher.cc │ │ │ └── view_message_dispatcher.h │ │ └── resources/ │ │ ├── BUILD.gn │ │ ├── copy_resources.py │ │ └── images/ │ │ └── copy_images.py │ ├── embedder/ │ │ ├── common/ │ │ │ ├── BUILD.gn │ │ │ ├── debugger_embedder.cc │ │ │ ├── debugger_embedder.h │ │ │ ├── devtools_embedder.cc │ │ │ └── devtools_embedder.h │ │ └── core/ │ │ ├── BUILD.gn │ │ ├── debug_bridge_embedder.cc │ │ ├── debug_bridge_embedder.h │ │ ├── debug_info_helper.cc │ │ ├── debug_info_helper.h │ │ ├── debug_state_listener_embedder.cc │ │ ├── debug_state_listener_embedder.h │ │ ├── devtool_message_handler_embedder.cc │ │ ├── devtool_message_handler_embedder.h │ │ ├── devtool_platform_embedder.cc │ │ ├── devtool_platform_embedder.h │ │ ├── devtoolng_delegate_embedder.cc │ │ ├── devtoolng_delegate_embedder.h │ │ ├── devtools_message_handler.h │ │ ├── env_embedder.h │ │ ├── frame_capturer_embedder.cc │ │ ├── frame_capturer_embedder.h │ │ ├── global_devtool_platform_embedder.cc │ │ ├── global_devtool_platform_embedder.h │ │ ├── inspector_owner_embedder.cc │ │ ├── inspector_owner_embedder.h │ │ ├── invoke_cdp_from_sdk_sender_embedder.h │ │ ├── lynx_devtool_set_module.cc │ │ ├── lynx_devtool_set_module.h │ │ ├── page_reload_helper_embedder.cc │ │ ├── page_reload_helper_embedder.h │ │ ├── screen_cast_helper_embedder.cc │ │ ├── screen_cast_helper_embedder.h │ │ ├── screenshot_thread_manager.cc │ │ ├── screenshot_thread_manager.h │ │ ├── screenshot_timer_trigger_embedder.cc │ │ └── screenshot_timer_trigger_embedder.h │ ├── fundamentals/ │ │ └── js_inspect/ │ │ ├── BUILD.gn │ │ ├── inspector_client_delegate.h │ │ ├── inspector_client_ng.cc │ │ ├── inspector_client_ng.h │ │ ├── inspector_client_quickjs_delegate.h │ │ └── inspector_client_v8_delegate.h │ ├── js_inspect/ │ │ ├── BUILD.gn │ │ ├── inspector_const.h │ │ ├── lepus/ │ │ │ ├── BUILD.gn │ │ │ ├── lepus_inspector_client_impl.cc │ │ │ ├── lepus_inspector_client_impl.h │ │ │ ├── lepus_inspector_client_provider.cc │ │ │ ├── lepus_inspector_client_provider.h │ │ │ └── lepus_internal/ │ │ │ ├── lepus_inspected_context.h │ │ │ ├── lepus_inspected_context_provider.cc │ │ │ ├── lepus_inspected_context_provider.h │ │ │ ├── lepus_inspector_impl.cc │ │ │ ├── lepus_inspector_impl.h │ │ │ ├── lepus_inspector_ng.h │ │ │ └── lepusng/ │ │ │ ├── lepusng_debugger.cc │ │ │ ├── lepusng_debugger.h │ │ │ ├── lepusng_inspected_context_callbacks.cc │ │ │ ├── lepusng_inspected_context_callbacks.h │ │ │ ├── lepusng_inspected_context_impl.cc │ │ │ └── lepusng_inspected_context_impl.h │ │ ├── quickjs/ │ │ │ ├── BUILD.gn │ │ │ ├── quickjs_inspector_client_impl.cc │ │ │ ├── quickjs_inspector_client_impl.h │ │ │ ├── quickjs_inspector_client_provider.cc │ │ │ ├── quickjs_inspector_client_provider.h │ │ │ └── quickjs_internal/ │ │ │ ├── inspector_primjs_interrupt_helper.cc │ │ │ ├── inspector_primjs_interrupt_helper.h │ │ │ ├── interface.h │ │ │ ├── quickjs_debugger_ng.cc │ │ │ ├── quickjs_debugger_ng.h │ │ │ ├── quickjs_inspected_context.cc │ │ │ ├── quickjs_inspected_context.h │ │ │ ├── quickjs_inspected_context_callbacks.cc │ │ │ ├── quickjs_inspected_context_callbacks.h │ │ │ ├── quickjs_inspector.h │ │ │ ├── quickjs_inspector_impl.cc │ │ │ └── quickjs_inspector_impl.h │ │ └── v8/ │ │ ├── BUILD.gn │ │ ├── v8_inspector_client_impl.cc │ │ ├── v8_inspector_client_impl.h │ │ ├── v8_inspector_client_provider.cc │ │ └── v8_inspector_client_provider.h │ ├── lynx_devtool/ │ │ ├── BUILD.gn │ │ ├── CPPLINT.cfg │ │ ├── agent/ │ │ │ ├── BUILD.gn │ │ │ ├── agent_constants.h │ │ │ ├── agent_defines.h │ │ │ ├── android/ │ │ │ │ ├── devtool_platform_android.cc │ │ │ │ ├── devtool_platform_android.h │ │ │ │ ├── global_devtool_platform_android.cc │ │ │ │ └── global_devtool_platform_android.h │ │ │ ├── console_message_manager.cc │ │ │ ├── console_message_manager.h │ │ │ ├── devtool_platform_facade.cc │ │ │ ├── devtool_platform_facade.h │ │ │ ├── domain_agent/ │ │ │ │ ├── inspector_agent.cc │ │ │ │ ├── inspector_agent.h │ │ │ │ ├── inspector_component_agent.cc │ │ │ │ ├── inspector_component_agent.h │ │ │ │ ├── inspector_css_agent_ng.cc │ │ │ │ ├── inspector_css_agent_ng.h │ │ │ │ ├── inspector_debugger_agent.cc │ │ │ │ ├── inspector_debugger_agent.h │ │ │ │ ├── inspector_dom_agent_ng.cc │ │ │ │ ├── inspector_dom_agent_ng.h │ │ │ │ ├── inspector_heap_profiler_agent.cc │ │ │ │ ├── inspector_heap_profiler_agent.h │ │ │ │ ├── inspector_input_agent.cc │ │ │ │ ├── inspector_input_agent.h │ │ │ │ ├── inspector_io_agent.cc │ │ │ │ ├── inspector_io_agent.h │ │ │ │ ├── inspector_layer_tree_agent_ng.cc │ │ │ │ ├── inspector_layer_tree_agent_ng.h │ │ │ │ ├── inspector_log_agent.cc │ │ │ │ ├── inspector_log_agent.h │ │ │ │ ├── inspector_log_agent_unittest.cc │ │ │ │ ├── inspector_lynx_agent_ng.cc │ │ │ │ ├── inspector_lynx_agent_ng.h │ │ │ │ ├── inspector_memory_agent.cc │ │ │ │ ├── inspector_memory_agent.h │ │ │ │ ├── inspector_overlay_agent_ng.cc │ │ │ │ ├── inspector_overlay_agent_ng.h │ │ │ │ ├── inspector_page_agent_ng.cc │ │ │ │ ├── inspector_page_agent_ng.h │ │ │ │ ├── inspector_performance_agent.cc │ │ │ │ ├── inspector_performance_agent.h │ │ │ │ ├── inspector_profiler_agent.cc │ │ │ │ ├── inspector_profiler_agent.h │ │ │ │ ├── inspector_runtime_agent.cc │ │ │ │ ├── inspector_runtime_agent.h │ │ │ │ ├── inspector_template_agent.cc │ │ │ │ ├── inspector_template_agent.h │ │ │ │ ├── inspector_testbench_recorder_agent.cc │ │ │ │ ├── inspector_testbench_recorder_agent.h │ │ │ │ ├── inspector_testbench_replay_agent.cc │ │ │ │ ├── inspector_testbench_replay_agent.h │ │ │ │ ├── inspector_tracing_agent.cc │ │ │ │ ├── inspector_tracing_agent.h │ │ │ │ ├── inspector_ui_tree_agent.cc │ │ │ │ ├── inspector_ui_tree_agent.h │ │ │ │ ├── inspector_white_board_agent.cc │ │ │ │ ├── inspector_white_board_agent.h │ │ │ │ ├── system_info_agent.cc │ │ │ │ └── system_info_agent.h │ │ │ ├── global_devtool_platform_facade.h │ │ │ ├── hierarchy_observer_impl.cc │ │ │ ├── hierarchy_observer_impl.h │ │ │ ├── inspector_common_observer_impl.cc │ │ │ ├── inspector_common_observer_impl.h │ │ │ ├── inspector_default_executor.cc │ │ │ ├── inspector_default_executor.h │ │ │ ├── inspector_element_observer_impl.cc │ │ │ ├── inspector_element_observer_impl.h │ │ │ ├── inspector_tasm_executor.cc │ │ │ ├── inspector_tasm_executor.h │ │ │ ├── inspector_tasm_executor_unittest.cc │ │ │ ├── inspector_ui_executor.cc │ │ │ ├── inspector_ui_executor.h │ │ │ ├── inspector_ui_executor_unittest.cc │ │ │ ├── inspector_util.cc │ │ │ ├── inspector_util.h │ │ │ ├── lynx_devtool_mediator.cc │ │ │ ├── lynx_devtool_mediator.h │ │ │ ├── lynx_devtool_mediator_base.h │ │ │ ├── lynx_global_devtool_mediator.cc │ │ │ └── lynx_global_devtool_mediator.h │ │ ├── android/ │ │ │ ├── cdp_event_listener_sender_android.cc │ │ │ ├── cdp_event_listener_sender_android.h │ │ │ ├── devtool_message_handler_android.cc │ │ │ ├── devtool_message_handler_android.h │ │ │ ├── devtool_qjs_bridge.cc │ │ │ ├── devtool_v8_bridge.cc │ │ │ ├── invoke_cdp_from_sdk_sender_android.cc │ │ │ ├── invoke_cdp_from_sdk_sender_android.h │ │ │ └── lynx_devtool_ng_android.cc │ │ ├── base/ │ │ │ ├── BUILD.gn │ │ │ ├── file_stream.cc │ │ │ ├── file_stream.h │ │ │ ├── mouse_event.h │ │ │ └── screen_metadata.h │ │ ├── common/ │ │ │ ├── BUILD.gn │ │ │ └── android/ │ │ │ ├── lynx_inspector_owner_native_glue.cc │ │ │ └── lynx_inspector_owner_native_glue.h │ │ ├── config/ │ │ │ ├── BUILD.gn │ │ │ ├── devtool_config.cc │ │ │ └── devtool_config.h │ │ ├── devtool.gni │ │ ├── element/ │ │ │ ├── BUILD.gn │ │ │ ├── element_helper.cc │ │ │ ├── element_helper.h │ │ │ ├── element_helper_unittest.cc │ │ │ ├── element_inspector.cc │ │ │ ├── element_inspector.h │ │ │ ├── helper_util.cc │ │ │ ├── helper_util.h │ │ │ ├── helper_util_unittest.cc │ │ │ ├── inspector_css_helper.cc │ │ │ ├── inspector_css_helper.h │ │ │ └── inspector_css_helper_unittest.cc │ │ ├── js_debug/ │ │ │ ├── BUILD.gn │ │ │ ├── helper/ │ │ │ │ ├── js_debug_helper.cc │ │ │ │ ├── js_debug_helper.h │ │ │ │ ├── js_debug_helper_unittest.cc │ │ │ │ └── js_debug_proxy.h │ │ │ ├── inspector_client_delegate_impl.cc │ │ │ ├── inspector_client_delegate_impl.h │ │ │ ├── inspector_client_delegate_impl_unittest.cc │ │ │ ├── inspector_const_extend.h │ │ │ ├── java_script_debugger_ng.h │ │ │ ├── java_script_debugger_ng_unittest.cc │ │ │ ├── js/ │ │ │ │ ├── console_message_postman_impl.cc │ │ │ │ ├── console_message_postman_impl.h │ │ │ │ ├── inspector_java_script_debugger_impl.cc │ │ │ │ ├── inspector_java_script_debugger_impl.h │ │ │ │ ├── inspector_runtime_observer_impl.cc │ │ │ │ ├── inspector_runtime_observer_impl.h │ │ │ │ ├── inspector_runtime_observer_impl_unittest.cc │ │ │ │ ├── quickjs/ │ │ │ │ │ ├── manager/ │ │ │ │ │ │ ├── quickjs_inspector_manager_impl.cc │ │ │ │ │ │ └── quickjs_inspector_manager_impl.h │ │ │ │ │ └── proxy/ │ │ │ │ │ ├── js_debug_proxy_quickjs.cc │ │ │ │ │ └── js_debug_proxy_quickjs.h │ │ │ │ ├── runtime_manager_delegate_impl.cc │ │ │ │ ├── runtime_manager_delegate_impl.h │ │ │ │ └── v8/ │ │ │ │ ├── manager/ │ │ │ │ │ ├── v8_inspector_manager_impl.cc │ │ │ │ │ └── v8_inspector_manager_impl.h │ │ │ │ └── proxy/ │ │ │ │ ├── js_debug_proxy_v8.cc │ │ │ │ └── js_debug_proxy_v8.h │ │ │ └── lepus/ │ │ │ ├── inspector_lepus_debugger_impl.cc │ │ │ ├── inspector_lepus_debugger_impl.h │ │ │ ├── inspector_lepus_debugger_impl_unittest.cc │ │ │ ├── inspector_lepus_observer_impl.cc │ │ │ ├── inspector_lepus_observer_impl.h │ │ │ ├── inspector_lepus_observer_impl_unittest.cc │ │ │ ├── manager/ │ │ │ │ ├── lepus_inspector_manager_impl.cc │ │ │ │ └── lepus_inspector_manager_impl.h │ │ │ └── proxy/ │ │ │ ├── js_debug_proxy_lepus.cc │ │ │ └── js_debug_proxy_lepus.h │ │ ├── logbox/ │ │ │ ├── BUILD.gn │ │ │ ├── lynx_logbox_wrapper.cc │ │ │ └── lynx_logbox_wrapper.h │ │ ├── lynx_devtool_ng.cc │ │ ├── lynx_devtool_ng.h │ │ ├── lynx_devtool_ng_unittest.cc │ │ ├── message_handler/ │ │ │ ├── BUILD.gn │ │ │ ├── fetch_debug_info_handler.cc │ │ │ ├── fetch_debug_info_handler.h │ │ │ ├── fetch_debug_info_handler_unittest.cc │ │ │ ├── stop_at_entry_handler.cc │ │ │ ├── stop_at_entry_handler.h │ │ │ └── stop_at_entry_handler_unittest.cc │ │ ├── recorder/ │ │ │ ├── BUILD.gn │ │ │ ├── android/ │ │ │ │ └── recorder_controller_native_glue.cc │ │ │ ├── test_bench_utils.cc │ │ │ ├── test_bench_utils.h │ │ │ └── test_bench_utils_unittest.cc │ │ ├── resources/ │ │ │ ├── BUILD.gn │ │ │ ├── arrange_resources.py │ │ │ ├── copy_resources.py │ │ │ ├── devtool-switch/ │ │ │ │ ├── .gitignore │ │ │ │ ├── .npmrc │ │ │ │ ├── LICENSE │ │ │ │ ├── build.py │ │ │ │ ├── lynx.config.ts │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── App.tsx │ │ │ │ │ ├── atoms/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── Basic.css │ │ │ │ │ │ ├── Radio.css │ │ │ │ │ │ ├── Radio.tsx │ │ │ │ │ │ ├── Status.css │ │ │ │ │ │ ├── Status.tsx │ │ │ │ │ │ ├── Switch.css │ │ │ │ │ │ └── Switch.tsx │ │ │ │ │ ├── i18n.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── locales/ │ │ │ │ │ │ ├── en.json │ │ │ │ │ │ └── zh.json │ │ │ │ │ ├── rspeedy-env.d.ts │ │ │ │ │ └── sections/ │ │ │ │ │ ├── CurrentJSEngine.tsx │ │ │ │ │ ├── DOMInspector.tsx │ │ │ │ │ ├── DevTool.tsx │ │ │ │ │ ├── FSPScreenshot.tsx │ │ │ │ │ ├── Header.tsx │ │ │ │ │ ├── HighlightTouch.tsx │ │ │ │ │ ├── JSEngine.tsx │ │ │ │ │ ├── LogBox.tsx │ │ │ │ │ ├── LongPress.tsx │ │ │ │ │ ├── PixelCopy.tsx │ │ │ │ │ └── TestBench.tsx │ │ │ │ └── tsconfig.json │ │ │ └── lynx-error-parser/ │ │ │ ├── .eslintrc.json │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── .prettierrc │ │ │ ├── build.py │ │ │ ├── package.json │ │ │ ├── rsbuild.config.ts │ │ │ ├── src/ │ │ │ │ ├── base.ts │ │ │ │ ├── btsErrorParser.ts │ │ │ │ ├── defaultParser.ts │ │ │ │ ├── index.ts │ │ │ │ └── mtsErrorParser.ts │ │ │ └── tsconfig.json │ │ ├── shared_data/ │ │ │ ├── BUILD.gn │ │ │ ├── white_board_inspector_delegate.cc │ │ │ ├── white_board_inspector_delegate.h │ │ │ ├── white_board_inspector_delegate_unittest.cc │ │ │ ├── white_board_inspector_impl.cc │ │ │ ├── white_board_inspector_impl.h │ │ │ ├── white_board_inspector_impl_unittest.cc │ │ │ ├── white_board_inspector_runtime_delegate.cc │ │ │ ├── white_board_inspector_runtime_delegate.h │ │ │ ├── white_board_inspector_runtime_delegate_unittest.cc │ │ │ ├── white_board_inspector_tasm_delegate.cc │ │ │ ├── white_board_inspector_tasm_delegate.h │ │ │ └── white_board_inspector_tasm_delegate_unittest.cc │ │ └── tracing/ │ │ ├── BUILD.gn │ │ ├── devtool_trace_event_def.h │ │ ├── frame_trace_service.cc │ │ ├── frame_trace_service.h │ │ ├── instance_counter_trace_impl.cc │ │ ├── instance_counter_trace_impl.h │ │ └── platform/ │ │ ├── fps_trace_plugin_android.cc │ │ ├── fps_trace_plugin_android.h │ │ ├── fps_trace_plugin_darwin.h │ │ ├── fps_trace_plugin_darwin.mm │ │ ├── frame_trace_service_android.cc │ │ ├── frame_trace_service_android.h │ │ ├── frameview_trace_plugin_android.cc │ │ ├── frameview_trace_plugin_android.h │ │ ├── frameview_trace_plugin_darwin.h │ │ ├── frameview_trace_plugin_darwin.mm │ │ ├── instance_trace_plugin_android.cc │ │ ├── instance_trace_plugin_android.h │ │ ├── instance_trace_plugin_darwin.h │ │ └── instance_trace_plugin_darwin.mm │ └── testing/ │ ├── BUILD.gn │ ├── agent/ │ │ ├── BUILD.gn │ │ └── devtool_mediator_unittest.cc │ ├── base_devtool/ │ │ ├── BUILD.gn │ │ └── base_devtool_unittest.cc │ ├── mock/ │ │ ├── BUILD.gn │ │ ├── cdp_event_listener_sender_mock.h │ │ ├── devtool_platform_facade_mock.cc │ │ ├── devtool_platform_facade_mock.h │ │ ├── element_manager_mock.cc │ │ ├── element_manager_mock.h │ │ ├── element_observer_mock.h │ │ ├── global_devtool_platform_facade_mock.cc │ │ ├── global_devtool_platform_facade_mock.h │ │ ├── inspector_client_ng_mock.h │ │ ├── inspector_tasm_executor_mock.cc │ │ ├── inspector_tasm_executor_mock.h │ │ ├── lynx_devtool_mediator_mock.cc │ │ ├── lynx_devtool_mediator_mock.h │ │ ├── lynx_devtool_ng_mock.cc │ │ ├── lynx_devtool_ng_mock.h │ │ └── white_board_inspector_delegate_mock.h │ ├── transition/ │ │ ├── BUILD.gn │ │ └── devtool_transition_unittest.cc │ └── utils/ │ ├── BUILD.gn │ ├── devtool_env_testing.cc │ ├── devtool_env_testing.h │ ├── method_tracker.cc │ └── method_tracker.h ├── explorer/ │ ├── .npmrc │ ├── BUILD.gn │ ├── README.md │ ├── android/ │ │ ├── README.md │ │ ├── THIRD-PARTY-LICENSE │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── lynx_explorer/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── myapp-release-key.keystore │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── explorer/ │ │ │ │ ├── ExplorerApplication.java │ │ │ │ ├── ImageBehavior.java │ │ │ │ ├── LynxViewShellActivity.java │ │ │ │ ├── input/ │ │ │ │ │ ├── LynxExplorerInput.java │ │ │ │ │ └── kt/ │ │ │ │ │ └── LynxExplorerInput.kt │ │ │ │ ├── modules/ │ │ │ │ │ ├── ExplorerModule.java │ │ │ │ │ ├── LynxModuleAdapter.java │ │ │ │ │ ├── LynxSettingManager.java │ │ │ │ │ └── SettingInfo.java │ │ │ │ ├── provider/ │ │ │ │ │ ├── DemoGenericResourceFetcher.java │ │ │ │ │ ├── DemoMediaResourceFetcher.java │ │ │ │ │ ├── DemoTemplateProvider.java │ │ │ │ │ ├── DemoTemplateResourceFetcher.java │ │ │ │ │ └── TemplateApi.java │ │ │ │ ├── scan/ │ │ │ │ │ └── QRScanActivity.java │ │ │ │ ├── shell/ │ │ │ │ │ ├── HttpTemplateDispatcher.java │ │ │ │ │ ├── LocalTemplateDispatcher.java │ │ │ │ │ ├── LynxRecorderDefaultActionCallback.java │ │ │ │ │ ├── LynxRecorderDispatcher.java │ │ │ │ │ ├── TemplateDispatcher.java │ │ │ │ │ └── TemplateLoader.java │ │ │ │ └── utils/ │ │ │ │ └── QueryMapUtils.java │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── back_dark.xml │ │ │ │ ├── back_light.xml │ │ │ │ └── explorer.xml │ │ │ ├── layout/ │ │ │ │ ├── default_display.xml │ │ │ │ ├── fullscreen_display.xml │ │ │ │ └── scan.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── settings.gradle │ ├── darwin/ │ │ ├── CPPLINT.cfg │ │ ├── ios/ │ │ │ ├── README.md │ │ │ └── lynx_explorer/ │ │ │ ├── LynxExplorer/ │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.mm │ │ │ │ ├── Assets.xcassets/ │ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── back_dark.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── back_light.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Base.lproj/ │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── Info.plist │ │ │ │ ├── LynxInitProcessor.h │ │ │ │ ├── LynxInitProcessor.m │ │ │ │ ├── LynxViewShellViewController.h │ │ │ │ ├── LynxViewShellViewController.m │ │ │ │ ├── TasmDispatcher.h │ │ │ │ ├── TasmDispatcher.m │ │ │ │ ├── input/ │ │ │ │ │ ├── LynxExplorerInput.h │ │ │ │ │ └── LynxExplorerInput.m │ │ │ │ ├── lynxrecorder/ │ │ │ │ │ ├── LynxRecorderDefaultActionCallback.h │ │ │ │ │ └── LynxRecorderDefaultActionCallback.m │ │ │ │ ├── main.m │ │ │ │ ├── modules/ │ │ │ │ │ ├── ExplorerModule.h │ │ │ │ │ ├── ExplorerModule.m │ │ │ │ │ ├── LynxSettingManager.h │ │ │ │ │ └── LynxSettingManager.m │ │ │ │ ├── provider/ │ │ │ │ │ ├── DemoGenericResourceFetcher.h │ │ │ │ │ ├── DemoGenericResourceFetcher.m │ │ │ │ │ ├── DemoMediaResourceFetcher.h │ │ │ │ │ ├── DemoMeidaResourceFetcher.m │ │ │ │ │ ├── DemoTemplateResourceFetcher.h │ │ │ │ │ ├── DemoTemplateResourceFetcher.m │ │ │ │ │ ├── TemplateProvider.h │ │ │ │ │ └── TemplateProvider.m │ │ │ │ ├── scan/ │ │ │ │ │ ├── ScanViewController.h │ │ │ │ │ └── ScanViewController.m │ │ │ │ └── utils/ │ │ │ │ ├── UIHelper.h │ │ │ │ └── UIHelper.m │ │ │ ├── LynxExplorer.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ └── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ ├── LynxExplorer.xcscheme │ │ │ │ └── LynxExplorerTests.xcscheme │ │ │ ├── LynxExplorerTests/ │ │ │ │ └── LynxExplorerTests.m │ │ │ ├── Podfile │ │ │ ├── TestPlan/ │ │ │ │ └── UTTest.xctestplan │ │ │ └── bundle_install.sh │ │ └── macos/ │ │ ├── README.md │ │ └── lynx_explorer/ │ │ ├── BUILD.gn │ │ ├── LynxExplorer/ │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.mm │ │ │ ├── Base.lproj/ │ │ │ │ └── MainMenu.xib │ │ │ ├── Info.plist │ │ │ ├── LynxWindow.h │ │ │ ├── LynxWindow.m │ │ │ ├── LynxWindowController.h │ │ │ ├── LynxWindowController.m │ │ │ ├── ViewController.h │ │ │ ├── ViewController.mm │ │ │ ├── fetcher/ │ │ │ │ ├── ExampleGenericResourceFetcher.h │ │ │ │ └── ExampleGenericResourceFetcher.mm │ │ │ ├── main.m │ │ │ ├── module/ │ │ │ │ ├── LynxDemoModule.h │ │ │ │ └── LynxDemoModule.mm │ │ │ ├── runtime/ │ │ │ │ ├── ExampleLynxRuntimeLifecycleObserver.h │ │ │ │ └── ExampleLynxRuntimeLifecycleObserver.mm │ │ │ └── service/ │ │ │ ├── LynxHttpService.h │ │ │ └── LynxHttpService.mm │ │ ├── Resource/ │ │ │ └── Info.plist │ │ └── build_resources.py │ ├── embedder/ │ │ └── lynx_explorer/ │ │ ├── BUILD.gn │ │ └── module/ │ │ ├── lynx_demo_extension_module.cc │ │ └── lynx_demo_extension_module.h │ ├── harmony/ │ │ ├── .gitignore │ │ ├── .ohpmrc │ │ ├── AppScope/ │ │ │ ├── app.json5 │ │ │ └── resources/ │ │ │ └── base/ │ │ │ └── element/ │ │ │ └── string.json │ │ ├── README.md │ │ ├── build-profile.json5 │ │ ├── hvigor/ │ │ │ └── hvigor-config.json5 │ │ ├── hvigorfile.ts │ │ ├── lynx_explorer/ │ │ │ ├── .gitignore │ │ │ ├── build-profile.json5 │ │ │ ├── hvigorfile.ts │ │ │ ├── obfuscation-rules.txt │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── cpp/ │ │ │ │ └── CMakeLists.txt │ │ │ ├── ets/ │ │ │ │ ├── client/ │ │ │ │ │ └── EntryLynxClient.ets │ │ │ │ ├── common/ │ │ │ │ │ ├── LynxInitProcessor.ets │ │ │ │ │ └── constants.ets │ │ │ │ ├── component/ │ │ │ │ │ ├── LynxExplorerInput.ets │ │ │ │ │ ├── UIClickShadowNode.ets │ │ │ │ │ └── UIClickView.ets │ │ │ │ ├── entryability/ │ │ │ │ │ ├── EntryAbility.ets │ │ │ │ │ └── LynxAbilityStage.ets │ │ │ │ ├── module/ │ │ │ │ │ └── ExplorerModule.ets │ │ │ │ ├── pages/ │ │ │ │ │ ├── Index.ets │ │ │ │ │ ├── Lynx.ets │ │ │ │ │ ├── LynxRecorder.ets │ │ │ │ │ └── Scan.ets │ │ │ │ └── provider/ │ │ │ │ ├── ExampleGenericResourceFetcher.ets │ │ │ │ ├── ExampleMediaResourceFetcher.ets │ │ │ │ └── ExampleTemplateResourceFetcher.ets │ │ │ ├── module.json5 │ │ │ └── resources/ │ │ │ ├── base/ │ │ │ │ ├── element/ │ │ │ │ │ ├── color.json │ │ │ │ │ └── string.json │ │ │ │ └── profile/ │ │ │ │ └── main_pages.json │ │ │ └── rawfile/ │ │ │ └── .gitignore │ │ ├── oh-package.json5 │ │ ├── parameter.json │ │ └── script/ │ │ ├── build.py │ │ ├── generate_changelog.py │ │ ├── patch_lynx_version.py │ │ └── publish.py │ ├── homepage/ │ │ ├── .gitignore │ │ ├── build.py │ │ ├── components/ │ │ │ ├── homepage/ │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ ├── navigator/ │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ ├── settingspage/ │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ └── shared.scss │ │ ├── index.tsx │ │ ├── lynx.config.mjs │ │ ├── package.json │ │ ├── tsconfig.json │ │ └── typing.d.ts │ ├── package.json │ ├── showcase/ │ │ ├── .gitignore │ │ ├── .npmrc │ │ ├── build_and_copy.py │ │ ├── menu/ │ │ │ ├── components/ │ │ │ │ ├── menu/ │ │ │ │ │ ├── index.scss │ │ │ │ │ └── index.tsx │ │ │ │ └── menu-item/ │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ ├── index.tsx │ │ │ ├── lynx.config.mjs │ │ │ ├── package.json │ │ │ ├── sub-menu/ │ │ │ │ ├── animation.tsx │ │ │ │ ├── css.tsx │ │ │ │ ├── layout.tsx │ │ │ │ ├── list.tsx │ │ │ │ ├── scrollview.tsx │ │ │ │ └── text.tsx │ │ │ └── typing.d.ts │ │ ├── package.json │ │ └── pnpm-workspace.yaml │ └── windows/ │ ├── README.md │ └── lynx_explorer/ │ ├── BUILD.gn │ ├── build_resources.py │ ├── dpi_utils_win32.cc │ ├── dpi_utils_win32.h │ ├── fetcher/ │ │ ├── example_generic_resource_fetcher.cc │ │ └── example_generic_resource_fetcher.h │ ├── httplib/ │ │ ├── httplib_client.cc │ │ └── httplib_client.h │ ├── lynx_explorer.exe.manifest │ ├── lynx_window.cc │ ├── lynx_window.h │ ├── lynx_window_manager.cc │ ├── lynx_window_manager.h │ ├── main.cc │ ├── module/ │ │ ├── lynx_demo_module.cc │ │ └── lynx_demo_module.h │ └── runtime/ │ ├── example_lynx_runtime_lifecycle_observer.cc │ └── example_lynx_runtime_lifecycle_observer.h ├── js_libraries/ │ ├── .gitignore │ ├── lynx-core/ │ │ ├── .eslintrc.json │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── esbuild.mjs │ │ ├── kernel-build/ │ │ │ ├── android-polyfill.js │ │ │ └── web-polyfill.js │ │ ├── lynx_core.d.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── app/ │ │ │ │ ├── app.ts │ │ │ │ ├── index.ts │ │ │ │ └── interface.ts │ │ │ ├── appManager.ts │ │ │ ├── common/ │ │ │ │ ├── amd.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── index.ts │ │ │ │ ├── jsbi.ts │ │ │ │ ├── log.ts │ │ │ │ ├── nativeGlobal.ts │ │ │ │ ├── ttConsole.ts │ │ │ │ └── version.ts │ │ │ ├── global.d.ts │ │ │ ├── index.build.ts │ │ │ ├── index.card.ts │ │ │ ├── index.ts │ │ │ ├── index.web.ts │ │ │ ├── lynx/ │ │ │ │ ├── index.ts │ │ │ │ ├── interface.ts │ │ │ │ └── lynx.ts │ │ │ ├── modules/ │ │ │ │ ├── animation/ │ │ │ │ │ ├── animation.ts │ │ │ │ │ ├── animationV2.ts │ │ │ │ │ ├── effect.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── element/ │ │ │ │ │ ├── element.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── event/ │ │ │ │ │ ├── aop.ts │ │ │ │ │ ├── eventEmitter.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── fetch/ │ │ │ │ │ ├── AbortController.ts │ │ │ │ │ ├── BodyMixin.ts │ │ │ │ │ ├── EventSource.ts │ │ │ │ │ ├── Headers.ts │ │ │ │ │ ├── ReadableStream.ts │ │ │ │ │ ├── Request.ts │ │ │ │ │ ├── Response.ts │ │ │ │ │ ├── TextDecoder.ts │ │ │ │ │ ├── TextEncoder.ts │ │ │ │ │ ├── URL.js │ │ │ │ │ ├── UrlSearchParamsPolyfill.js │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── nativeModules/ │ │ │ │ │ ├── exposure.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── intersectionObserver.ts │ │ │ │ │ └── textInfo.ts │ │ │ │ ├── performance/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── performance.ts │ │ │ │ │ └── performanceObserver.ts │ │ │ │ ├── report/ │ │ │ │ │ ├── errors.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── report-error.ts │ │ │ │ │ ├── reporter.ts │ │ │ │ │ └── wrapper.ts │ │ │ │ ├── selectorQuery/ │ │ │ │ │ ├── SelectorQuery.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interface.ts │ │ │ │ │ └── nodeRef.ts │ │ │ │ └── sharedData/ │ │ │ │ └── ShareDataSubject.ts │ │ │ ├── polyfill/ │ │ │ │ ├── arraybuffer.ts │ │ │ │ └── index.ts │ │ │ ├── react/ │ │ │ │ └── reactApp.ts │ │ │ ├── standalone/ │ │ │ │ └── StandaloneApp.ts │ │ │ └── util/ │ │ │ ├── TraceEventDef.ts │ │ │ ├── cachedFunctionProxy.ts │ │ │ ├── index.ts │ │ │ └── setup-promise.ts │ │ └── tsconfig.json │ ├── lynx-polyfill/ │ │ ├── LICENSE │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.js │ │ └── test/ │ │ ├── browsers-runner.js │ │ ├── index.html │ │ ├── node-runner.js │ │ └── tests.js │ ├── lynx-promise/ │ │ ├── package.json │ │ └── src/ │ │ ├── LICENSE │ │ ├── core.js │ │ ├── es6-extensions.js │ │ ├── index.js │ │ └── rejection-tracking.js │ ├── lynx-runtime-shared/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── nativeGlobal.ts │ │ │ ├── ttConsole.ts │ │ │ ├── typings/ │ │ │ │ └── global.d.ts │ │ │ └── utils.ts │ │ └── tsconfig.json │ ├── type-config/ │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── README.md │ │ ├── config-keys.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ ├── test/ │ │ │ ├── index.test-d.ts │ │ │ └── index.test.js │ │ ├── tsconfig.json │ │ ├── types/ │ │ │ ├── compiler-options.d.ts │ │ │ ├── config.d.ts │ │ │ └── index.d.ts │ │ └── vitest.config.ts │ ├── type-element-api/ │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── test/ │ │ │ └── index.test-d.ts │ │ ├── tsconfig.json │ │ ├── types/ │ │ │ ├── element-api.d.ts │ │ │ └── index.d.ts │ │ └── vitest.config.ts │ └── types/ │ ├── .prettierignore │ ├── .prettierrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── skills/ │ │ ├── image.md │ │ ├── svg.md │ │ ├── text.md │ │ └── view.md │ ├── test/ │ │ ├── common/ │ │ │ ├── animation.test-d.ts │ │ │ ├── css.test-d.ts │ │ │ ├── element/ │ │ │ │ ├── list-item.test-d.ts │ │ │ │ ├── list.test-d.ts │ │ │ │ └── scroll-view.test-d.tsx │ │ │ ├── events.test-d.ts │ │ │ ├── global.test-d.ts │ │ │ ├── main-element.test-d.ts │ │ │ ├── nodes-ref.test-d.ts │ │ │ └── test-utils.ts │ │ └── pages/ │ │ ├── frame.test-d.tsx │ │ ├── image.test-d.tsx │ │ ├── index.tsx │ │ ├── input.test-d.tsx │ │ ├── overlay.test-d.tsx │ │ ├── refresh.test-d.tsx │ │ ├── svg.test-d.tsx │ │ ├── text.test-d.tsx │ │ ├── title-bar-view.test-d.tsx │ │ └── view.test-d.tsx │ ├── tsconfig.json │ ├── types/ │ │ ├── background-thread/ │ │ │ ├── animation.d.ts │ │ │ ├── app.d.ts │ │ │ ├── event.d.ts │ │ │ ├── fetch.d.ts │ │ │ ├── index.d.ts │ │ │ ├── lynx.d.ts │ │ │ ├── native-modules.d.ts │ │ │ ├── nodes-ref.d.ts │ │ │ ├── performance.d.ts │ │ │ └── text-encoder-decoder.d.ts │ │ ├── common/ │ │ │ ├── console.d.ts │ │ │ ├── csstype.d.ts │ │ │ ├── element/ │ │ │ │ ├── attributes.d.ts │ │ │ │ ├── common.d.ts │ │ │ │ ├── component.d.ts │ │ │ │ ├── element.d.ts │ │ │ │ ├── filter-image.d.ts │ │ │ │ ├── frame.d.ts │ │ │ │ ├── image.d.ts │ │ │ │ ├── index.d.ts │ │ │ │ ├── input.d.ts │ │ │ │ ├── list-item.d.ts │ │ │ │ ├── list.d.ts │ │ │ │ ├── methods.d.ts │ │ │ │ ├── overlay.d.ts │ │ │ │ ├── page.d.ts │ │ │ │ ├── refresh.d.ts │ │ │ │ ├── scroll-view.d.ts │ │ │ │ ├── svg.d.ts │ │ │ │ ├── text.d.ts │ │ │ │ ├── textarea.d.ts │ │ │ │ ├── title-bar-view.d.ts │ │ │ │ └── view.d.ts │ │ │ ├── events.d.ts │ │ │ ├── global.d.ts │ │ │ ├── index.d.ts │ │ │ ├── lynx.d.ts │ │ │ ├── performance.d.ts │ │ │ ├── props.d.ts │ │ │ └── system-info.d.ts │ │ ├── index.d.ts │ │ └── main-thread/ │ │ ├── animation.d.ts │ │ ├── element.d.ts │ │ ├── events.d.ts │ │ ├── index.d.ts │ │ └── lynx.d.ts │ └── vitest.config.ts ├── oliver/ │ ├── BUILD.gn │ ├── build_gn.py │ ├── copy_node_headers.py │ ├── gen_wasm_js.py │ ├── lynx-tasm/ │ │ ├── .gitignore │ │ ├── BUILD.gn │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── cli.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ └── tsconfig.json │ └── oliver.gni ├── package.json ├── patches/ │ ├── 0002-SkXMLParser-parse-Optimize-memory-backed-streams.patch │ ├── angle/ │ │ ├── 0001-BugFix-Fix-some-problem.patch │ │ └── 0002-Infra-Remove-r8.patch │ ├── expat/ │ │ └── 0001-Infra-Support-system-expat.patch │ ├── freetype2/ │ │ ├── 0001-Infra-Adaption-for-lynx-and-skity.patch │ │ └── 0002-add-FREETYPE_STATIC_LIB-1-in-static_library.patch │ ├── harfbuzz/ │ │ └── 0001-Adaption-for-lynx.patch │ ├── httplib/ │ │ ├── 0001-Infra-Split-httplib.h-into-separate-header-and-source-files.patch │ │ └── 0002-Infra-Add-BUILD.gn-file-for-httplib.patch │ ├── icu/ │ │ └── 0001-Feature-Support-system-icu.patch │ ├── libcxx/ │ │ ├── 0001-Fix-some-issues-on-windows-and-linux.patch │ │ └── 0002-add-_LIBCPP_DECLSPEC_EMPTY_BASES-for-variant.patch │ ├── libjpeg-turbo/ │ │ ├── 0001-Infra-Adaption-for-gn_to_spec-build.patch │ │ └── 0002-infra-support-macos-build.patch │ ├── libpng/ │ │ ├── 0001-Infra-Support-harmony-and-sync-patch-from-upstream.patch │ │ └── 0002-disable-fp-header-include.patch │ ├── modp_b64/ │ │ ├── 0001-add-new-modp_b64-APIs.patch │ │ └── 0002-optimize-rename-modp-method-with-lynx-prefix.patch │ ├── nanopng/ │ │ └── 0001-Adapt-nanopng-to-the-Skity-project.patch │ ├── nasm/ │ │ └── 0001-delete-depfile-arg.patch │ ├── perfetto/ │ │ └── 0001-Add-zlib-dependency-for-perfetto.patch │ ├── skia/ │ │ └── 0001-Infra-Adaption-for-lynx.patch │ ├── swiftshader/ │ │ └── 0001-Infra-Adaption-for-lynx.patch │ ├── vulkan-loader/ │ │ └── 0001-Infra-Fix-compile-error.patch │ ├── xhook/ │ │ ├── 0001-Infra-Add-BUILD.gn-file-of-xhook.patch │ │ └── 0002-Infra-Add-Harmony-OS-support.patch │ └── zlib/ │ ├── 0001-Adapt-zlib-to-the-Lynx-project.patch │ ├── 0002-Infra-support-Harmony-OS.patch │ ├── 0003-BugFix-Fix-Xcode-build-problem.patch │ └── 0004-bugfix-fix-macos-compile.patch ├── platform/ │ ├── android/ │ │ ├── .gitignore │ │ ├── Android.gni │ │ ├── BUILD.gn │ │ ├── api/ │ │ │ ├── doxygen.cfg │ │ │ └── lynx_android.api │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── jacoco.gradle │ │ ├── lynx_android/ │ │ │ ├── .gitignore │ │ │ ├── BUILD.gn │ │ │ ├── CMakeLists.txt │ │ │ ├── LynxAndroid.gni │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── BUILD.gn │ │ │ ├── android_test/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ ├── devtoolwrapper/ │ │ │ │ │ ├── DevToolLifecycleTest.java │ │ │ │ │ ├── DevToolSettingsTest.java │ │ │ │ │ ├── DevToolStateTest.java │ │ │ │ │ └── LynxDevToolEnvUtilsTest.java │ │ │ │ ├── jsbridge/ │ │ │ │ │ ├── LynxAccessibilityModuleTest.java │ │ │ │ │ ├── LynxCommonModuleFactoryTest.java │ │ │ │ │ ├── LynxExposureModuleTest.java │ │ │ │ │ ├── LynxResourceModuleTest.java │ │ │ │ │ ├── LynxSharedModuleFactoryTest.java │ │ │ │ │ ├── LynxTextInfoModuleTest.java │ │ │ │ │ └── network/ │ │ │ │ │ ├── HttpStreamingDelegateTest.java │ │ │ │ │ └── LynxFetchModuleEventSenderTest.java │ │ │ │ ├── react/ │ │ │ │ │ └── bridge/ │ │ │ │ │ ├── JavaOnlyArrayTest.java │ │ │ │ │ └── JavaOnlyMapTest.java │ │ │ │ └── tasm/ │ │ │ │ ├── ComponentStatisticTest.java │ │ │ │ ├── LynxErrorTest.java │ │ │ │ ├── LynxEventEmitterTest.java │ │ │ │ ├── LynxInfoReportHelperTest.java │ │ │ │ ├── LynxLoadMetaTest.java │ │ │ │ ├── ResourceHelper.java │ │ │ │ ├── TemplateDataTest.java │ │ │ │ ├── base/ │ │ │ │ │ ├── CleanupReferenceTest.java │ │ │ │ │ ├── GlobalRefQueueTest.java │ │ │ │ │ └── MemoryPressureCallbackDispatcherTest.java │ │ │ │ ├── behavior/ │ │ │ │ │ ├── BehaviorOverrideRegistryTest.java │ │ │ │ │ ├── BehaviorRegistryTest.java │ │ │ │ │ ├── LynxContextTest.java │ │ │ │ │ ├── LynxUIOwnerTest.java │ │ │ │ │ ├── StylesDiffMapTest.java │ │ │ │ │ ├── TouchEventDispatcherTest.java │ │ │ │ │ ├── render/ │ │ │ │ │ │ ├── ContainerRendererTest.java │ │ │ │ │ │ ├── DisplayListApplierTest.java │ │ │ │ │ │ ├── NativePaintingContextTest.java │ │ │ │ │ │ ├── PlatformRendererContextTest.java │ │ │ │ │ │ └── RoundedRectangleTest.java │ │ │ │ │ ├── shadow/ │ │ │ │ │ │ └── text/ │ │ │ │ │ │ ├── CustomLineHeightSpanTest.java │ │ │ │ │ │ ├── CustomStyleSpanTest.java │ │ │ │ │ │ ├── DoubleFormatTest.java │ │ │ │ │ │ ├── FontTest.java │ │ │ │ │ │ ├── ForegroundColorSpanTest.java │ │ │ │ │ │ ├── InlineTextBaselineShiftSpanTest.java │ │ │ │ │ │ └── TextShadowNodeTest.java │ │ │ │ │ └── ui/ │ │ │ │ │ ├── LynxBaseUITest.java │ │ │ │ │ ├── LynxUITest.java │ │ │ │ │ ├── PropBundleTest.java │ │ │ │ │ ├── ViewInfoTest.java │ │ │ │ │ ├── accessibility/ │ │ │ │ │ │ ├── LynxAccessibilityDelegateTest.java │ │ │ │ │ │ ├── LynxAccessibilityMutationHelperTest.java │ │ │ │ │ │ └── LynxAccessibilityWrapperTest.java │ │ │ │ │ ├── background/ │ │ │ │ │ │ └── BackgroundConicGradientLayerTest.java │ │ │ │ │ ├── frame/ │ │ │ │ │ │ └── FrameShadowNodeTest.java │ │ │ │ │ ├── image/ │ │ │ │ │ │ ├── LynxImageConfigTest.java │ │ │ │ │ │ ├── LynxImageLoadInfoTest.java │ │ │ │ │ │ └── LynxImageManagerTest.java │ │ │ │ │ ├── list/ │ │ │ │ │ │ ├── FactoredPagerSnapHelperTest.java │ │ │ │ │ │ ├── LynxSnapHelperTest.java │ │ │ │ │ │ ├── UIListContainerTest.java │ │ │ │ │ │ └── container/ │ │ │ │ │ │ └── ListCustomScrollerTest.java │ │ │ │ │ ├── scroll/ │ │ │ │ │ │ ├── BounceGestureHelperTest.java │ │ │ │ │ │ ├── LynxUIScrollViewTest.java │ │ │ │ │ │ └── base/ │ │ │ │ │ │ ├── LynxBaseScrollViewDraggingTest.java │ │ │ │ │ │ ├── LynxBaseScrollViewNestedTest.java │ │ │ │ │ │ ├── LynxBaseScrollViewScrollerTest.java │ │ │ │ │ │ ├── LynxBaseScrollViewScrollingTest.java │ │ │ │ │ │ ├── LynxBaseScrollViewTest.java │ │ │ │ │ │ └── LynxNestedScrollingChildHelperTest.java │ │ │ │ │ ├── swiper/ │ │ │ │ │ │ └── ViewPagerTest.java │ │ │ │ │ └── text/ │ │ │ │ │ ├── AndroidTextTest.java │ │ │ │ │ └── FlattenUITextTest.java │ │ │ │ ├── core/ │ │ │ │ │ └── ResourceLoaderTest.java │ │ │ │ ├── featurecount/ │ │ │ │ │ └── LynxFeatureCounterTest.java │ │ │ │ ├── fluency/ │ │ │ │ │ ├── FluencyTraceHelperTest.java │ │ │ │ │ └── LynxFpsTracerTest.java │ │ │ │ ├── gesture/ │ │ │ │ │ ├── arena/ │ │ │ │ │ │ └── GestureArenaManagerTest.java │ │ │ │ │ ├── common/ │ │ │ │ │ │ └── GestureExtraBundleTest.java │ │ │ │ │ ├── detector/ │ │ │ │ │ │ └── GestureDetectorManagerTest.java │ │ │ │ │ └── handler/ │ │ │ │ │ ├── DefaultGestureHandlerTest.java │ │ │ │ │ ├── FlingGestureHandlerTest.java │ │ │ │ │ ├── GestureHandlerTriggerTest.java │ │ │ │ │ ├── NativeGestureHandlerTest.java │ │ │ │ │ └── PanGestureHandlerTest.java │ │ │ │ ├── group/ │ │ │ │ │ ├── BitmapSizeTest.java │ │ │ │ │ └── LynxGroupTest.java │ │ │ │ ├── performance/ │ │ │ │ │ ├── PerformanceControllerTest.java │ │ │ │ │ ├── fsp/ │ │ │ │ │ │ ├── FSPConfigTest.java │ │ │ │ │ │ ├── FSPSnapshotTest.java │ │ │ │ │ │ └── FSPTracerTest.java │ │ │ │ │ └── performanceobserver/ │ │ │ │ │ ├── MemoryUsageEntryTest.java │ │ │ │ │ ├── MemoryUsageItemTest.java │ │ │ │ │ └── PerformanceEntryConverterTest.java │ │ │ │ ├── provider/ │ │ │ │ │ ├── LynxResResponseTest.java │ │ │ │ │ └── LynxResourceServiceProviderTest.java │ │ │ │ ├── resourceprovider/ │ │ │ │ │ └── template/ │ │ │ │ │ └── TemplateProviderResultTest.java │ │ │ │ ├── service/ │ │ │ │ │ ├── LynxLazyInitializerTest.java │ │ │ │ │ ├── LynxServiceCenterTest.java │ │ │ │ │ └── security/ │ │ │ │ │ └── SecurityResultTest.java │ │ │ │ └── utils/ │ │ │ │ ├── BasicShapeTest.java │ │ │ │ ├── CallStackUtilTest.java │ │ │ │ ├── ContextUtilsTest.java │ │ │ │ ├── FloatUtilsTest.java │ │ │ │ ├── ImageUtilsTest.java │ │ │ │ ├── MockLynxTrailService.java │ │ │ │ ├── PixelUtilsTest.java │ │ │ │ ├── PlatformLengthTest.java │ │ │ │ ├── RunOnceRunnableTest.java │ │ │ │ ├── StringUtilsTest.java │ │ │ │ └── ui/ │ │ │ │ └── utils/ │ │ │ │ └── ViewHelperTest.java │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ ├── config/ │ │ │ │ │ └── LynxLiteConfigs.java │ │ │ │ ├── devtoolwrapper/ │ │ │ │ │ ├── CDPEventListener.java │ │ │ │ │ ├── CDPResultCallback.java │ │ │ │ │ ├── CustomizedMessage.java │ │ │ │ │ ├── DevToolLifecycle.java │ │ │ │ │ ├── DevToolOverlayDelegate.java │ │ │ │ │ ├── DevToolSettings.java │ │ │ │ │ ├── DevToolState.java │ │ │ │ │ ├── GlobalPropsObserver.java │ │ │ │ │ ├── IDevToolDelegate.java │ │ │ │ │ ├── ILynxLogBox.java │ │ │ │ │ ├── LogBoxLogLevel.java │ │ │ │ │ ├── LynxBaseInspectorController.java │ │ │ │ │ ├── LynxBaseInspectorOwner.java │ │ │ │ │ ├── LynxBaseInspectorOwnerNG.java │ │ │ │ │ ├── LynxDevToolEnvUtils.java │ │ │ │ │ ├── LynxDevToolUtils.java │ │ │ │ │ ├── LynxDevtool.java │ │ │ │ │ ├── LynxDevtoolCardListener.java │ │ │ │ │ ├── LynxDevtoolGlobalHelper.java │ │ │ │ │ ├── LynxInspectorConsoleDelegate.java │ │ │ │ │ ├── MemoryListener.java │ │ │ │ │ ├── MessageHandler.java │ │ │ │ │ ├── OverlayService.java │ │ │ │ │ ├── ScreenshotBitmapHandler.java │ │ │ │ │ └── ScreenshotMode.java │ │ │ │ ├── jsbridge/ │ │ │ │ │ ├── Arguments.java │ │ │ │ │ ├── AttributeDescriptor.java │ │ │ │ │ ├── CallbackImpl.java │ │ │ │ │ ├── CommonModuleCreator.java │ │ │ │ │ ├── IContextFinder.java │ │ │ │ │ ├── IModuleCreator.java │ │ │ │ │ ├── JSModule.java │ │ │ │ │ ├── LynxAccessibilityModule.java │ │ │ │ │ ├── LynxAttribute.java │ │ │ │ │ ├── LynxBytecodeCallback.java │ │ │ │ │ ├── LynxContextModule.java │ │ │ │ │ ├── LynxEmbeddedModule.java │ │ │ │ │ ├── LynxExposureModule.java │ │ │ │ │ ├── LynxExtensionModule.java │ │ │ │ │ ├── LynxFetchModule.java │ │ │ │ │ ├── LynxIntersectionObserverModule.java │ │ │ │ │ ├── LynxMethod.java │ │ │ │ │ ├── LynxMethodWrapper.java │ │ │ │ │ ├── LynxModule.java │ │ │ │ │ ├── LynxModuleFactory.java │ │ │ │ │ ├── LynxModuleWrapper.java │ │ │ │ │ ├── LynxResourceModule.java │ │ │ │ │ ├── LynxSetModule.java │ │ │ │ │ ├── LynxTextInfoModule.java │ │ │ │ │ ├── LynxUIMethodModule.java │ │ │ │ │ ├── MethodDescriptor.java │ │ │ │ │ ├── ParamWrapper.java │ │ │ │ │ ├── Promise.java │ │ │ │ │ ├── PromiseImpl.java │ │ │ │ │ ├── RuntimeLifecycleListener.java │ │ │ │ │ ├── RuntimeLifecycleListenerDelegate.java │ │ │ │ │ ├── SharedContextFinder.java │ │ │ │ │ ├── SharedModuleCreator.java │ │ │ │ │ ├── jsi/ │ │ │ │ │ │ ├── AbsLynxJSIObjectDescriptor.java │ │ │ │ │ │ ├── ILynxJSIObject.java │ │ │ │ │ │ ├── ILynxJSIObjectDescriptor.java │ │ │ │ │ │ ├── LynxJSIObjectHub.java │ │ │ │ │ │ └── LynxJSPropertyDescriptor.java │ │ │ │ │ ├── network/ │ │ │ │ │ │ ├── HttpRequest.java │ │ │ │ │ │ ├── HttpResponse.java │ │ │ │ │ │ ├── HttpStreamingDelegate.java │ │ │ │ │ │ ├── LynxFetchModuleEventSender.java │ │ │ │ │ │ └── LynxHttpRunner.java │ │ │ │ │ └── webassembly/ │ │ │ │ │ ├── WebAssemblyBridge.java │ │ │ │ │ └── WebAssemblyReflect.java │ │ │ │ ├── lepus/ │ │ │ │ │ └── LynxLepusModule.java │ │ │ │ ├── react/ │ │ │ │ │ └── bridge/ │ │ │ │ │ ├── Callback.java │ │ │ │ │ ├── Dynamic.java │ │ │ │ │ ├── DynamicFromArray.java │ │ │ │ │ ├── DynamicFromMap.java │ │ │ │ │ ├── JavaOnlyArray.java │ │ │ │ │ ├── JavaOnlyMap.java │ │ │ │ │ ├── NativeArrayInterface.java │ │ │ │ │ ├── PiperData.java │ │ │ │ │ ├── ReadableArray.java │ │ │ │ │ ├── ReadableMap.java │ │ │ │ │ ├── ReadableMapKeySetIterator.java │ │ │ │ │ ├── ReadableType.java │ │ │ │ │ ├── SafeRunnable.java │ │ │ │ │ ├── WritableArray.java │ │ │ │ │ ├── WritableMap.java │ │ │ │ │ └── mapbuffer/ │ │ │ │ │ ├── CompactArrayBuffer.java │ │ │ │ │ ├── DynamicFromMapBuffer.java │ │ │ │ │ ├── MapBuffer.java │ │ │ │ │ ├── MapBufferUtils.java │ │ │ │ │ ├── ReadableBaseBuffer.java │ │ │ │ │ ├── ReadableCompactArrayBuffer.java │ │ │ │ │ ├── ReadableMapBuffer.java │ │ │ │ │ └── ReadableMapBufferWrapper.java │ │ │ │ ├── recorder/ │ │ │ │ │ └── LynxDebugInfoRecorder.java │ │ │ │ ├── ref/ │ │ │ │ │ ├── ResourceReleaser.java │ │ │ │ │ ├── ShareRef.java │ │ │ │ │ └── Wrap.java │ │ │ │ └── tasm/ │ │ │ │ ├── BehaviorClassWarmer.java │ │ │ │ ├── DefaultLogicExecutor.java │ │ │ │ ├── EmbeddedMode.java │ │ │ │ ├── EventEmitter.java │ │ │ │ ├── IDynamicHandler.java │ │ │ │ ├── IListNodeInfoFetcher.java │ │ │ │ ├── ILynxEngine.java │ │ │ │ ├── ILynxErrorReceiver.java │ │ │ │ ├── ILynxLogicExecutor.java │ │ │ │ ├── INativeLibraryLoader.java │ │ │ │ ├── IUIRendererCreator.java │ │ │ │ ├── ListNodeInfoFetcher.java │ │ │ │ ├── LynxBackgroundRuntime.java │ │ │ │ ├── LynxBackgroundRuntimeClient.java │ │ │ │ ├── LynxBackgroundRuntimeOptions.java │ │ │ │ ├── LynxBooleanOption.java │ │ │ │ ├── LynxConfigInfo.java │ │ │ │ ├── LynxDevToolDelegateImpl.java │ │ │ │ ├── LynxEngine.java │ │ │ │ ├── LynxEngineBuilder.java │ │ │ │ ├── LynxEnginePool.java │ │ │ │ ├── LynxEnv.java │ │ │ │ ├── LynxEnvKey.java │ │ │ │ ├── LynxEnvLazyInitializer.java │ │ │ │ ├── LynxError.java │ │ │ │ ├── LynxErrorCodeLegacy.java │ │ │ │ ├── LynxEventEmitter.java │ │ │ │ ├── LynxGetDataCallback.java │ │ │ │ ├── LynxGetUIResult.java │ │ │ │ ├── LynxGroup.java │ │ │ │ ├── LynxInfoReportHelper.java │ │ │ │ ├── LynxLoadMeta.java │ │ │ │ ├── LynxLoadMode.java │ │ │ │ ├── LynxLoadOption.java │ │ │ │ ├── LynxPerfMetric.java │ │ │ │ ├── LynxSSRHelper.java │ │ │ │ ├── LynxTemplateRender.java │ │ │ │ ├── LynxUpdateMeta.java │ │ │ │ ├── LynxView.java │ │ │ │ ├── LynxViewBuilder.java │ │ │ │ ├── LynxViewClient.java │ │ │ │ ├── LynxViewClientGroup.java │ │ │ │ ├── LynxViewClientGroupV2.java │ │ │ │ ├── LynxViewClientV2.java │ │ │ │ ├── LynxWhiteBoard.java │ │ │ │ ├── NativeFacade.java │ │ │ │ ├── PageConfig.java │ │ │ │ ├── PlatformCallBack.java │ │ │ │ ├── TasmPlatformInvoker.java │ │ │ │ ├── TemplateAssembler.java │ │ │ │ ├── TemplateBundle.java │ │ │ │ ├── TemplateBundleOption.java │ │ │ │ ├── TemplateData.java │ │ │ │ ├── ThreadStrategyForRendering.java │ │ │ │ ├── TimingHandler.java │ │ │ │ ├── animation/ │ │ │ │ │ ├── AnimationConstant.java │ │ │ │ │ ├── AnimationInfo.java │ │ │ │ │ ├── InterpolatorFactory.java │ │ │ │ │ ├── PropertyFactory.java │ │ │ │ │ ├── keyframe/ │ │ │ │ │ │ ├── KeyframeManager.java │ │ │ │ │ │ └── LynxKeyframeAnimator.java │ │ │ │ │ ├── layout/ │ │ │ │ │ │ ├── AbstractLayoutAnimation.java │ │ │ │ │ │ ├── BaseLayoutAnimation.java │ │ │ │ │ │ ├── LayoutAnimationManager.java │ │ │ │ │ │ ├── LayoutCreateAnimation.java │ │ │ │ │ │ ├── LayoutDeleteAnimation.java │ │ │ │ │ │ ├── LayoutHandlingAnimation.java │ │ │ │ │ │ ├── LayoutUpdateAnimation.java │ │ │ │ │ │ ├── OpacityAnimation.java │ │ │ │ │ │ └── PositionAndSizeAnimation.java │ │ │ │ │ └── transition/ │ │ │ │ │ └── TransitionAnimationManager.java │ │ │ │ ├── base/ │ │ │ │ │ ├── AbsLogDelegate.java │ │ │ │ │ ├── Assertions.java │ │ │ │ │ ├── BaseLogDelegate.java │ │ │ │ │ ├── CalledByNative.java │ │ │ │ │ ├── CleanupReference.java │ │ │ │ │ ├── GlobalRefQueue.java │ │ │ │ │ ├── IComplicatedLogDelegate.java │ │ │ │ │ ├── JNINamespace.java │ │ │ │ │ ├── LLog.java │ │ │ │ │ ├── LogSource.java │ │ │ │ │ ├── LynxConsumer.java │ │ │ │ │ ├── LynxNativeMemoryTracer.java │ │ │ │ │ ├── LynxPageLoadListener.java │ │ │ │ │ ├── MemoryPressureCallbackDispatcher.java │ │ │ │ │ ├── OnceTask.java │ │ │ │ │ ├── PageReloadHelper.java │ │ │ │ │ └── trace/ │ │ │ │ │ └── TraceEventDef.java │ │ │ │ ├── behavior/ │ │ │ │ │ ├── Behavior.java │ │ │ │ │ ├── BehaviorBundle.java │ │ │ │ │ ├── BehaviorRegistry.java │ │ │ │ │ ├── BuiltInBehavior.java │ │ │ │ │ ├── BuiltInUIRegistry.java │ │ │ │ │ ├── CSSPropertySetter.java │ │ │ │ │ ├── ClayRenderMode.java │ │ │ │ │ ├── ExceptionHandler.java │ │ │ │ │ ├── ForegroundListener.java │ │ │ │ │ ├── GestureRecognizer.java │ │ │ │ │ ├── ILynxUIRenderer.java │ │ │ │ │ ├── IPaintingContext.java │ │ │ │ │ ├── ImageInterceptor.java │ │ │ │ │ ├── KeyboardEvent.java │ │ │ │ │ ├── KeyboardMonitor.java │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── LayoutContext.java │ │ │ │ │ ├── LayoutNodeManager.java │ │ │ │ │ ├── LynxBaseContext.java │ │ │ │ │ ├── LynxBehavior.java │ │ │ │ │ ├── LynxContext.java │ │ │ │ │ ├── LynxFrameViewProvider.java │ │ │ │ │ ├── LynxGeneratorName.java │ │ │ │ │ ├── LynxIntersectionObserver.java │ │ │ │ │ ├── LynxIntersectionObserverManager.java │ │ │ │ │ ├── LynxObserverManager.java │ │ │ │ │ ├── LynxProp.java │ │ │ │ │ ├── LynxPropGroup.java │ │ │ │ │ ├── LynxPropsHolder.java │ │ │ │ │ ├── LynxShadowNode.java │ │ │ │ │ ├── LynxUIMethod.java │ │ │ │ │ ├── LynxUIMethodConstants.java │ │ │ │ │ ├── LynxUIMethodsHolder.java │ │ │ │ │ ├── LynxUIOwner.java │ │ │ │ │ ├── LynxUIRenderer.java │ │ │ │ │ ├── LynxUIRendererCreator.java │ │ │ │ │ ├── MODULE_LICENSE_APACHE2 │ │ │ │ │ ├── NOTICE │ │ │ │ │ ├── PaintingContext.java │ │ │ │ │ ├── PatchFinishListener.java │ │ │ │ │ ├── PlatformExtraBundleHolder.java │ │ │ │ │ ├── PropertiesDispatcher.java │ │ │ │ │ ├── PropertyIDConstants.java │ │ │ │ │ ├── PropsConstants.java │ │ │ │ │ ├── ShadowNodeOwner.java │ │ │ │ │ ├── ShadowNodeRegistry.java │ │ │ │ │ ├── StyleConstants.java │ │ │ │ │ ├── StylesDiffMap.java │ │ │ │ │ ├── TouchEventDispatcher.java │ │ │ │ │ ├── event/ │ │ │ │ │ │ ├── EventTarget.java │ │ │ │ │ │ └── EventTargetBase.java │ │ │ │ │ ├── herotransition/ │ │ │ │ │ │ ├── HeroAnimOwner.java │ │ │ │ │ │ └── HeroTransitionManager.java │ │ │ │ │ ├── render/ │ │ │ │ │ │ ├── ContainerRenderer.java │ │ │ │ │ │ ├── DisplayList.java │ │ │ │ │ │ ├── DisplayListApplier.java │ │ │ │ │ │ ├── IRendererHost.java │ │ │ │ │ │ ├── NativePaintingContext.java │ │ │ │ │ │ ├── PlatformRendererContext.java │ │ │ │ │ │ ├── Renderer.java │ │ │ │ │ │ └── RoundedRectangle.java │ │ │ │ │ ├── shadow/ │ │ │ │ │ │ ├── AlignContext.java │ │ │ │ │ │ ├── AlignParam.java │ │ │ │ │ │ ├── ChoreographerLayoutTick.java │ │ │ │ │ │ ├── CustomLayoutShadowNode.java │ │ │ │ │ │ ├── CustomMeasureFunc.java │ │ │ │ │ │ ├── LayoutNode.java │ │ │ │ │ │ ├── LayoutTick.java │ │ │ │ │ │ ├── MeasureContext.java │ │ │ │ │ │ ├── MeasureFunc.java │ │ │ │ │ │ ├── MeasureMode.java │ │ │ │ │ │ ├── MeasureOutput.java │ │ │ │ │ │ ├── MeasureParam.java │ │ │ │ │ │ ├── MeasureResult.java │ │ │ │ │ │ ├── MeasureUtils.java │ │ │ │ │ │ ├── NativeLayoutNodeRef.java │ │ │ │ │ │ ├── ShadowNode.java │ │ │ │ │ │ ├── ShadowNodeType.java │ │ │ │ │ │ ├── ShadowStyle.java │ │ │ │ │ │ ├── Style.java │ │ │ │ │ │ ├── TextLayout.java │ │ │ │ │ │ ├── TextMeasurerProvider.java │ │ │ │ │ │ ├── ViewLayoutTick.java │ │ │ │ │ │ └── text/ │ │ │ │ │ │ ├── AbsBaselineShiftCalculatorSpan.java │ │ │ │ │ │ ├── AbsInlineImageShadowNode.java │ │ │ │ │ │ ├── AbsoluteSizeSpan.java │ │ │ │ │ │ ├── AttributedTextBundle.java │ │ │ │ │ │ ├── BackgroundColorSpan.java │ │ │ │ │ │ ├── BaseTextShadowNode.java │ │ │ │ │ │ ├── BaselineShiftCalculator.java │ │ │ │ │ │ ├── CustomBaselineShiftSpan.java │ │ │ │ │ │ ├── CustomLetterSpacingSpan.java │ │ │ │ │ │ ├── CustomLineHeightSpan.java │ │ │ │ │ │ ├── CustomStyleSpan.java │ │ │ │ │ │ ├── EventTargetSpan.java │ │ │ │ │ │ ├── FontFamilySpan.java │ │ │ │ │ │ ├── ForegroundColorSpan.java │ │ │ │ │ │ ├── InlineTextBaselineShiftSpan.java │ │ │ │ │ │ ├── InlineTextShadowNode.java │ │ │ │ │ │ ├── InlineTruncationShadowNode.java │ │ │ │ │ │ ├── LynxStrikethroughSpan.java │ │ │ │ │ │ ├── LynxTextBackgroundSpan.java │ │ │ │ │ │ ├── LynxTextGradientSpan.java │ │ │ │ │ │ ├── LynxUnderlineSpan.java │ │ │ │ │ │ ├── NativeLayoutNodeSpan.java │ │ │ │ │ │ ├── RawTextShadowNode.java │ │ │ │ │ │ ├── ShadowStyleSpan.java │ │ │ │ │ │ ├── StaticLayoutCompat.java │ │ │ │ │ │ ├── TextAttributes.java │ │ │ │ │ │ ├── TextDecorationSpan.java │ │ │ │ │ │ ├── TextHelper.java │ │ │ │ │ │ ├── TextIndent.java │ │ │ │ │ │ ├── TextLayoutWarmer.java │ │ │ │ │ │ ├── TextMeasurer.java │ │ │ │ │ │ ├── TextRenderer.java │ │ │ │ │ │ ├── TextRendererCache.java │ │ │ │ │ │ ├── TextRendererKey.java │ │ │ │ │ │ ├── TextShadowNode.java │ │ │ │ │ │ ├── TextUpdateBundle.java │ │ │ │ │ │ └── TypefaceCache.java │ │ │ │ │ ├── ui/ │ │ │ │ │ │ ├── IDrawChildHook.java │ │ │ │ │ │ ├── ILynxUIMeaningfulContent.java │ │ │ │ │ │ ├── IProcessViewInfoHook.java │ │ │ │ │ │ ├── LynxAccessibilityNodeProvider.java │ │ │ │ │ │ ├── LynxBaseUI.java │ │ │ │ │ │ ├── LynxFlattenUI.java │ │ │ │ │ │ ├── LynxUI.java │ │ │ │ │ │ ├── LynxViewVisibleHelper.java │ │ │ │ │ │ ├── MeaningfulPaintingArea.java │ │ │ │ │ │ ├── PropBundle.java │ │ │ │ │ │ ├── ScrollStateChangeListener.java │ │ │ │ │ │ ├── ShadowData.java │ │ │ │ │ │ ├── UIBody.java │ │ │ │ │ │ ├── UIExposure.java │ │ │ │ │ │ ├── UIGroup.java │ │ │ │ │ │ ├── UIParams.java │ │ │ │ │ │ ├── UIParent.java │ │ │ │ │ │ ├── UIShadowProxy.java │ │ │ │ │ │ ├── ViewGroupDrawingOrderHelper.java │ │ │ │ │ │ ├── ViewInfo.java │ │ │ │ │ │ ├── accessibility/ │ │ │ │ │ │ │ ├── CustomAccessibilityDelegateCompat.java │ │ │ │ │ │ │ ├── LynxAccessibilityDelegate.java │ │ │ │ │ │ │ ├── LynxAccessibilityHelper.java │ │ │ │ │ │ │ ├── LynxAccessibilityMutationHelper.java │ │ │ │ │ │ │ ├── LynxAccessibilityStateHelper.java │ │ │ │ │ │ │ ├── LynxAccessibilityWrapper.java │ │ │ │ │ │ │ └── LynxNodeProvider.java │ │ │ │ │ │ ├── background/ │ │ │ │ │ │ │ ├── BackgroundConicGradientLayer.java │ │ │ │ │ │ │ ├── BackgroundGradientLayer.java │ │ │ │ │ │ │ ├── BackgroundImageLoader.java │ │ │ │ │ │ │ ├── BackgroundLayerDrawable.java │ │ │ │ │ │ │ ├── BackgroundLayerManager.java │ │ │ │ │ │ │ ├── BackgroundLinearGradientLayer.java │ │ │ │ │ │ │ ├── BackgroundNoneLayer.java │ │ │ │ │ │ │ ├── BackgroundPosition.java │ │ │ │ │ │ │ ├── BackgroundRadialGradientLayer.java │ │ │ │ │ │ │ ├── BackgroundRepeat.java │ │ │ │ │ │ │ ├── BackgroundSize.java │ │ │ │ │ │ │ ├── LayerManager.java │ │ │ │ │ │ │ └── MaskLayerManager.java │ │ │ │ │ │ ├── frame/ │ │ │ │ │ │ │ ├── FrameShadowNode.java │ │ │ │ │ │ │ ├── LynxFrameView.java │ │ │ │ │ │ │ └── UIFrame.java │ │ │ │ │ │ ├── image/ │ │ │ │ │ │ │ ├── AbsUIImage.java │ │ │ │ │ │ │ ├── BackgroundImageDrawable.java │ │ │ │ │ │ │ ├── FlattenUIImage.java │ │ │ │ │ │ │ ├── ImageUrlRedirectUtils.java │ │ │ │ │ │ │ ├── InlineImageShadowNode.java │ │ │ │ │ │ │ ├── InlineImageSpan.java │ │ │ │ │ │ │ ├── LynxImageLoader.java │ │ │ │ │ │ │ ├── LynxImageManager.java │ │ │ │ │ │ │ └── UIImage.java │ │ │ │ │ │ ├── list/ │ │ │ │ │ │ │ ├── AbsLynxList.java │ │ │ │ │ │ │ ├── AppearEventCourier.java │ │ │ │ │ │ │ ├── AppearEventCourierImpl.java │ │ │ │ │ │ │ ├── AppearEventCourierImplV2.java │ │ │ │ │ │ │ ├── FactoredPagerSnapHelper.java │ │ │ │ │ │ │ ├── GapItemDecoration.java │ │ │ │ │ │ │ ├── ListEventManager.java │ │ │ │ │ │ │ ├── ListLayoutManager.java │ │ │ │ │ │ │ ├── ListPreloadCache.java │ │ │ │ │ │ │ ├── ListScroller.java │ │ │ │ │ │ │ ├── ListStickyManager.java │ │ │ │ │ │ │ ├── ListViewHolder.java │ │ │ │ │ │ │ ├── LynxSnapHelper.java │ │ │ │ │ │ │ ├── ScrollContainerDrawHelper.java │ │ │ │ │ │ │ ├── UIList.java │ │ │ │ │ │ │ ├── UIListAdapter.java │ │ │ │ │ │ │ ├── UIListItem.java │ │ │ │ │ │ │ └── container/ │ │ │ │ │ │ │ ├── ListContainerProxy.java │ │ │ │ │ │ │ ├── ListContainerView.java │ │ │ │ │ │ │ ├── ListCustomScroller.java │ │ │ │ │ │ │ ├── NestedScrollContainerView.java │ │ │ │ │ │ │ ├── UIListAutoScroller.java │ │ │ │ │ │ │ └── UIListContainer.java │ │ │ │ │ │ ├── scroll/ │ │ │ │ │ │ │ ├── AbsLynxUIScroll.java │ │ │ │ │ │ │ ├── AndroidScrollView.java │ │ │ │ │ │ │ ├── BounceGestureHelper.java │ │ │ │ │ │ │ ├── IScrollSticky.java │ │ │ │ │ │ │ ├── LynxUIScrollView.java │ │ │ │ │ │ │ ├── LynxUIScrollViewInternal.java │ │ │ │ │ │ │ ├── NestedHorizontalScrollView.java │ │ │ │ │ │ │ ├── NestedScrollView.java │ │ │ │ │ │ │ ├── UIBounceView.java │ │ │ │ │ │ │ ├── UIScrollView.java │ │ │ │ │ │ │ └── base/ │ │ │ │ │ │ │ ├── LynxBaseScrollView.java │ │ │ │ │ │ │ ├── LynxBaseScrollViewAuto.java │ │ │ │ │ │ │ ├── LynxBaseScrollViewDragging.java │ │ │ │ │ │ │ ├── LynxBaseScrollViewHorizontal.java │ │ │ │ │ │ │ ├── LynxBaseScrollViewInternal.java │ │ │ │ │ │ │ ├── LynxBaseScrollViewNested.java │ │ │ │ │ │ │ ├── LynxBaseScrollViewNestedInternal.java │ │ │ │ │ │ │ ├── LynxBaseScrollViewPublic.java │ │ │ │ │ │ │ ├── LynxBaseScrollViewScroller.java │ │ │ │ │ │ │ ├── LynxBaseScrollViewScrolling.java │ │ │ │ │ │ │ ├── LynxBaseScrollViewVertical.java │ │ │ │ │ │ │ └── LynxNestedScrollingChildHelper.java │ │ │ │ │ │ ├── shapes/ │ │ │ │ │ │ │ ├── BasicShape.java │ │ │ │ │ │ │ └── LynxOffsetCalculator.java │ │ │ │ │ │ ├── swiper/ │ │ │ │ │ │ │ ├── ModeCarryTransformer.java │ │ │ │ │ │ │ ├── ModeCoverFlowTransformer.java │ │ │ │ │ │ │ ├── SwiperShadowNode.java │ │ │ │ │ │ │ ├── SwiperView.java │ │ │ │ │ │ │ ├── ViewPager.java │ │ │ │ │ │ │ └── XSwiperUI.java │ │ │ │ │ │ ├── text/ │ │ │ │ │ │ │ ├── AbsInlineImageSpan.java │ │ │ │ │ │ │ ├── AndroidText.java │ │ │ │ │ │ │ ├── FlattenUIText.java │ │ │ │ │ │ │ ├── IUIText.java │ │ │ │ │ │ │ ├── UIText.java │ │ │ │ │ │ │ └── UITextUtils.java │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── BackgroundDrawable.java │ │ │ │ │ │ │ ├── BackgroundManager.java │ │ │ │ │ │ │ ├── BorderDrawingUtil.java │ │ │ │ │ │ │ ├── BorderRadius.java │ │ │ │ │ │ │ ├── BorderStyle.java │ │ │ │ │ │ │ ├── BorderWidth.java │ │ │ │ │ │ │ ├── ColorUtil.java │ │ │ │ │ │ │ ├── LayerDrawable.java │ │ │ │ │ │ │ ├── LynxBackground.java │ │ │ │ │ │ │ ├── LynxDrawableManager.java │ │ │ │ │ │ │ ├── LynxMask.java │ │ │ │ │ │ │ ├── LynxUIHelper.java │ │ │ │ │ │ │ ├── MaskDrawable.java │ │ │ │ │ │ │ ├── PlatformLength.java │ │ │ │ │ │ │ ├── Spacing.java │ │ │ │ │ │ │ ├── TransformOrigin.java │ │ │ │ │ │ │ ├── TransformProps.java │ │ │ │ │ │ │ ├── TransformRaw.java │ │ │ │ │ │ │ └── ViewHelper.java │ │ │ │ │ │ └── view/ │ │ │ │ │ │ ├── AndroidView.java │ │ │ │ │ │ ├── ComponentView.java │ │ │ │ │ │ ├── UIComponent.java │ │ │ │ │ │ ├── UISimpleView.java │ │ │ │ │ │ └── UIView.java │ │ │ │ │ └── utils/ │ │ │ │ │ ├── LynxUIMethodInvoker.java │ │ │ │ │ ├── LynxUIMethodsCache.java │ │ │ │ │ ├── LynxUIMethodsExecutor.java │ │ │ │ │ ├── LynxUIMethodsHolderAutoRegister.java │ │ │ │ │ ├── LynxUISetter.java │ │ │ │ │ ├── PropsHolderAutoRegister.java │ │ │ │ │ ├── PropsSetterCache.java │ │ │ │ │ ├── PropsUpdater.java │ │ │ │ │ ├── Settable.java │ │ │ │ │ ├── ShadowNodeSetter.java │ │ │ │ │ └── UnicodeFontUtils.java │ │ │ │ ├── common/ │ │ │ │ │ ├── LepusBuffer.java │ │ │ │ │ ├── MessageCodec.java │ │ │ │ │ ├── NullableConcurrentHashMap.java │ │ │ │ │ └── SingleThreadAsserter.java │ │ │ │ ├── component/ │ │ │ │ │ └── DynamicComponentFetcher.java │ │ │ │ ├── core/ │ │ │ │ │ ├── JSProxy.java │ │ │ │ │ ├── LynxEngineProxy.java │ │ │ │ │ ├── LynxLayoutProxy.java │ │ │ │ │ ├── LynxThreadPool.java │ │ │ │ │ ├── ResManager.java │ │ │ │ │ ├── ResourceLoader.java │ │ │ │ │ ├── VSyncMonitor.java │ │ │ │ │ └── resource/ │ │ │ │ │ ├── ExternalScriptResourceCallback.java │ │ │ │ │ ├── GenericResourceCallback.java │ │ │ │ │ ├── GuardedResourceCallback.java │ │ │ │ │ ├── LynxResourceLoader.java │ │ │ │ │ ├── LynxResourceType.java │ │ │ │ │ ├── TemplateLoaderHelper.java │ │ │ │ │ └── TemplateResourceCallback.java │ │ │ │ ├── event/ │ │ │ │ │ ├── EventsListener.java │ │ │ │ │ ├── LynxCustomEvent.java │ │ │ │ │ ├── LynxDetailEvent.java │ │ │ │ │ ├── LynxEvent.java │ │ │ │ │ ├── LynxEventDetail.java │ │ │ │ │ ├── LynxImpressionEvent.java │ │ │ │ │ ├── LynxInternalEvent.java │ │ │ │ │ ├── LynxKeyboardEvent.java │ │ │ │ │ ├── LynxListEvent.java │ │ │ │ │ ├── LynxScrollEvent.java │ │ │ │ │ ├── LynxSwiperEvent.java │ │ │ │ │ └── LynxTouchEvent.java │ │ │ │ ├── eventreport/ │ │ │ │ │ ├── ILynxEventReportObserver.java │ │ │ │ │ └── LynxEventReporter.java │ │ │ │ ├── fluency/ │ │ │ │ │ ├── FluencySample.java │ │ │ │ │ ├── FluencyTraceHelper.java │ │ │ │ │ ├── FluencyTracerImpl.java │ │ │ │ │ └── LynxFpsTracer.java │ │ │ │ ├── fontface/ │ │ │ │ │ ├── FontFace.java │ │ │ │ │ ├── FontFaceGroup.java │ │ │ │ │ ├── FontFaceManager.java │ │ │ │ │ ├── FontSettingsKey.java │ │ │ │ │ └── StyledTypeface.java │ │ │ │ ├── gesture/ │ │ │ │ │ ├── GestureArenaMember.java │ │ │ │ │ ├── LynxNewGestureDelegate.java │ │ │ │ │ ├── arena/ │ │ │ │ │ │ └── GestureArenaManager.java │ │ │ │ │ ├── common/ │ │ │ │ │ │ └── GestureExtraBundle.java │ │ │ │ │ ├── detector/ │ │ │ │ │ │ ├── GestureDetector.java │ │ │ │ │ │ └── GestureDetectorManager.java │ │ │ │ │ └── handler/ │ │ │ │ │ ├── BaseGestureHandler.java │ │ │ │ │ ├── DefaultGestureHandler.java │ │ │ │ │ ├── FlingGestureHandler.java │ │ │ │ │ ├── GestureConstants.java │ │ │ │ │ ├── GestureHandlerTrigger.java │ │ │ │ │ ├── LongPressGestureHandler.java │ │ │ │ │ ├── NativeGestureHandler.java │ │ │ │ │ ├── PanGestureHandler.java │ │ │ │ │ └── TapGestureHandler.java │ │ │ │ ├── group/ │ │ │ │ │ ├── BitmapSize.java │ │ │ │ │ ├── ILynxViewConfigProvider.java │ │ │ │ │ ├── ILynxViewGroup.java │ │ │ │ │ ├── ILynxViewRuntimeCacheManager.java │ │ │ │ │ ├── LynxBaseConfigurator.java │ │ │ │ │ ├── LynxViewGroup.java │ │ │ │ │ └── LynxViewGroupBuilder.java │ │ │ │ ├── icu/ │ │ │ │ │ └── ICURegister.java │ │ │ │ ├── image/ │ │ │ │ │ ├── AutoSizeImage.java │ │ │ │ │ ├── ImageErrorCodeUtils.java │ │ │ │ │ ├── ImageUtils.java │ │ │ │ │ ├── LynxImageConfig.java │ │ │ │ │ ├── LynxImageLoadInfo.java │ │ │ │ │ ├── LynxImageMediaFetcherProxy.java │ │ │ │ │ ├── LynxScaleTypeDrawable.java │ │ │ │ │ ├── NinePatchHelper.java │ │ │ │ │ ├── ScalingUtils.java │ │ │ │ │ ├── attr/ │ │ │ │ │ │ └── MaskImage.java │ │ │ │ │ └── model/ │ │ │ │ │ ├── ImageBlurPostProcessor.java │ │ │ │ │ └── LynxImageFetcher.java │ │ │ │ ├── loader/ │ │ │ │ │ └── LynxFontFaceLoader.java │ │ │ │ ├── navigator/ │ │ │ │ │ ├── LynxCardManager.java │ │ │ │ │ ├── LynxHolder.java │ │ │ │ │ ├── LynxNavigator.java │ │ │ │ │ ├── LynxRoute.java │ │ │ │ │ ├── LynxRouteLruCache.java │ │ │ │ │ ├── LynxSchemaInterceptor.java │ │ │ │ │ ├── LynxViewCreationListener.java │ │ │ │ │ └── NavigationModule.java │ │ │ │ ├── performance/ │ │ │ │ │ ├── IPerformanceObserver.java │ │ │ │ │ ├── PerformanceController.java │ │ │ │ │ ├── TimingOption.java │ │ │ │ │ ├── fsp/ │ │ │ │ │ │ ├── FSPConfig.java │ │ │ │ │ │ ├── FSPSnapshot.java │ │ │ │ │ │ ├── FSPTracer.java │ │ │ │ │ │ ├── IMeaningfulContentSnapshotCaptureHandler.java │ │ │ │ │ │ └── MeaningfulContentSnapshot.java │ │ │ │ │ ├── longtasktiming/ │ │ │ │ │ │ └── LynxLongTaskMonitor.java │ │ │ │ │ ├── memory/ │ │ │ │ │ │ ├── IMemoryMonitor.java │ │ │ │ │ │ ├── IMemoryRecordBuilder.java │ │ │ │ │ │ └── MemoryRecord.java │ │ │ │ │ └── timing/ │ │ │ │ │ ├── EmbeddedTimingCollector.java │ │ │ │ │ ├── ITimingCollector.java │ │ │ │ │ └── TimingConstants.java │ │ │ │ ├── provider/ │ │ │ │ │ ├── AbsNetworkingModuleProvider.java │ │ │ │ │ ├── AbsTemplateProvider.java │ │ │ │ │ ├── ILynxResourceRequestOperation.java │ │ │ │ │ ├── ILynxResourceResponseDataInfo.java │ │ │ │ │ ├── LynxExternalResourceFetcherWrapper.java │ │ │ │ │ ├── LynxProviderRegistry.java │ │ │ │ │ ├── LynxResCallback.java │ │ │ │ │ ├── LynxResRequest.java │ │ │ │ │ ├── LynxResResponse.java │ │ │ │ │ ├── LynxResourceCallback.java │ │ │ │ │ ├── LynxResourceFetcher.java │ │ │ │ │ ├── LynxResourceProvider.java │ │ │ │ │ ├── LynxResourceRequest.java │ │ │ │ │ ├── LynxResourceResponse.java │ │ │ │ │ ├── LynxResourceServiceProvider.java │ │ │ │ │ ├── ResProvider.java │ │ │ │ │ └── ThemeResourceProvider.java │ │ │ │ ├── rendernode/ │ │ │ │ │ └── compat/ │ │ │ │ │ ├── RenderNodeCompat.java │ │ │ │ │ ├── RenderNodeImpl.java │ │ │ │ │ └── factory/ │ │ │ │ │ └── RenderNodeFactory.java │ │ │ │ ├── resourceprovider/ │ │ │ │ │ ├── LynxResourceCallback.java │ │ │ │ │ ├── LynxResourceRequest.java │ │ │ │ │ ├── LynxResourceResponse.java │ │ │ │ │ ├── generic/ │ │ │ │ │ │ ├── LynxGenericResourceFetcher.java │ │ │ │ │ │ └── StreamDelegate.java │ │ │ │ │ ├── media/ │ │ │ │ │ │ ├── LynxMediaResourceFetcher.java │ │ │ │ │ │ └── OptionalBool.java │ │ │ │ │ └── template/ │ │ │ │ │ ├── LynxTemplateResourceFetcher.java │ │ │ │ │ └── TemplateProviderResult.java │ │ │ │ ├── service/ │ │ │ │ │ ├── ILynxDevToolService.java │ │ │ │ │ ├── ILynxEventReporterService.java │ │ │ │ │ ├── ILynxExtensionService.java │ │ │ │ │ ├── ILynxHttpService.java │ │ │ │ │ ├── ILynxI18nService.java │ │ │ │ │ ├── ILynxImageServiceExtension.java │ │ │ │ │ ├── ILynxMemoryMonitorService.java │ │ │ │ │ ├── ILynxMonitorService.java │ │ │ │ │ ├── ILynxResourceService.java │ │ │ │ │ ├── ILynxResourceServiceRequestOperation.java │ │ │ │ │ ├── ILynxResourceServiceResponse.java │ │ │ │ │ ├── ILynxSystemInvokeService.java │ │ │ │ │ ├── ILynxTrailServiceExtension.java │ │ │ │ │ ├── LynxHttpRequestCallback.java │ │ │ │ │ ├── LynxImageInfo.java │ │ │ │ │ ├── LynxLazyInitializer.java │ │ │ │ │ ├── LynxMemoryInfo.java │ │ │ │ │ ├── LynxResourceServiceCallback.java │ │ │ │ │ ├── LynxResourceServiceProxyErrorResponse.java │ │ │ │ │ ├── LynxResourceServiceRequestParams.java │ │ │ │ │ └── security/ │ │ │ │ │ ├── ILynxSecurityService.java │ │ │ │ │ └── SecurityResult.java │ │ │ │ ├── theme/ │ │ │ │ │ └── LynxTheme.java │ │ │ │ └── utils/ │ │ │ │ ├── BitmapUtils.java │ │ │ │ ├── BlurUtils.java │ │ │ │ ├── CallStackUtil.java │ │ │ │ ├── ColorUtils.java │ │ │ │ ├── ContextUtils.java │ │ │ │ ├── DeviceUtils.java │ │ │ │ ├── DisplayMetricsHolder.java │ │ │ │ ├── EnvUtils.java │ │ │ │ ├── FloatUtils.java │ │ │ │ ├── FontFaceParser.java │ │ │ │ ├── GradientUtils.java │ │ │ │ ├── I18nUtil.java │ │ │ │ ├── LICENSE │ │ │ │ ├── LRUHashMap.java │ │ │ │ ├── LynxConstants.java │ │ │ │ ├── LynxFrameRateControl.java │ │ │ │ ├── LynxViewBuilderProperty.java │ │ │ │ ├── MatrixMathUtils.java │ │ │ │ ├── PixelUtils.java │ │ │ │ ├── ReadableMapUtils.java │ │ │ │ ├── RunOnceRunnable.java │ │ │ │ ├── SizeValue.java │ │ │ │ ├── StringUtils.java │ │ │ │ ├── StyleCompatUtils.java │ │ │ │ ├── TextUtils.java │ │ │ │ ├── TypefaceUtils.java │ │ │ │ ├── UIThreadUtils.java │ │ │ │ ├── UnitUtils.java │ │ │ │ └── Value.java │ │ │ ├── jni/ │ │ │ │ ├── .gitignore │ │ │ │ ├── BUILD.gn │ │ │ │ └── jni_configs.yml │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── lynx_text_select_handle_left_material.xml │ │ │ │ └── lynx_text_select_handle_right_material.xml │ │ │ ├── values/ │ │ │ │ ├── ids.xml │ │ │ │ └── strings.xml │ │ │ └── values-zh-rCN/ │ │ │ └── strings.xml │ │ ├── lynx_devtool/ │ │ │ ├── .gitignore │ │ │ ├── BUILD.gn │ │ │ ├── CMakeLists.txt │ │ │ ├── build.gradle │ │ │ ├── consumer-rules.pro │ │ │ ├── gradle.properties │ │ │ ├── lynx_devtool.gni │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── devtool/ │ │ │ │ ├── ConsoleDelegateManagerTest.java │ │ │ │ ├── LynxDevtoolEnvTest.java │ │ │ │ ├── LynxInspectorOwnerTest.java │ │ │ │ ├── MockSharedPreferences.java │ │ │ │ ├── helper/ │ │ │ │ │ ├── LepusDebugInfoHelperTest.java │ │ │ │ │ └── UITreeHelperTest.java │ │ │ │ ├── logbox/ │ │ │ │ │ └── LynxLogBoxWrapperTest.java │ │ │ │ ├── module/ │ │ │ │ │ ├── LynxWebSocketModuleTest.java │ │ │ │ │ └── LynxWebSocketTest.java │ │ │ │ └── utils/ │ │ │ │ └── ErrorUtilsTest.java │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets/ │ │ │ │ └── lynx_recorder.js │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── devtool/ │ │ │ │ ├── CDPEventListenerWrapper.java │ │ │ │ ├── CDPResultCallbackWrapper.java │ │ │ │ ├── ConsoleDelegateManager.java │ │ │ │ ├── DevOptionHandler.java │ │ │ │ ├── DevToolMessageHandlerDelegate.java │ │ │ │ ├── DevToolPlatformAndroidDelegate.java │ │ │ │ ├── GlobalDevToolPlatformAndroidDelegate.java │ │ │ │ ├── LynxDevMenu.java │ │ │ │ ├── LynxDevToolNGDelegate.java │ │ │ │ ├── LynxDevtoolEnv.java │ │ │ │ ├── LynxGlobalDebugBridge.java │ │ │ │ ├── LynxInspectorConsoleDelegate.java │ │ │ │ ├── LynxInspectorOwner.java │ │ │ │ ├── RecorderController.java │ │ │ │ ├── framecapture/ │ │ │ │ │ ├── FrameCapturer.java │ │ │ │ │ └── FrameTraceUtil.java │ │ │ │ ├── helper/ │ │ │ │ │ ├── EmulateTouchHelper.java │ │ │ │ │ ├── LepusDebugInfoHelper.java │ │ │ │ │ ├── ScreenCapturer.java │ │ │ │ │ ├── ScreenCastHelper.java │ │ │ │ │ ├── TestbenchDumpFileHelper.java │ │ │ │ │ ├── TestbenchFileUtil.java │ │ │ │ │ ├── ToastHelper.java │ │ │ │ │ └── UITreeHelper.java │ │ │ │ ├── logbox/ │ │ │ │ │ └── LynxLogBoxWrapper.java │ │ │ │ ├── memory/ │ │ │ │ │ └── MemoryController.java │ │ │ │ ├── module/ │ │ │ │ │ ├── LynxDevToolSetModule.java │ │ │ │ │ ├── LynxTrailModule.java │ │ │ │ │ ├── LynxWebSocket.java │ │ │ │ │ └── LynxWebSocketModule.java │ │ │ │ ├── recorder/ │ │ │ │ │ ├── LynxRecorderActionCallback.java │ │ │ │ │ ├── LynxRecorderActionManager.java │ │ │ │ │ ├── LynxRecorderActivity.java │ │ │ │ │ ├── LynxRecorderEnv.java │ │ │ │ │ ├── LynxRecorderEventSend.java │ │ │ │ │ ├── LynxRecorderFetcher.java │ │ │ │ │ ├── LynxRecorderMultiPagesActivity.java │ │ │ │ │ ├── LynxRecorderOpenUrlModule.java │ │ │ │ │ ├── LynxRecorderPageManager.java │ │ │ │ │ ├── LynxRecorderReplayDataModule.java │ │ │ │ │ ├── LynxRecorderReplayDataProvider.java │ │ │ │ │ ├── LynxRecorderReplayStateView.java │ │ │ │ │ ├── LynxRecorderSourceProvider.java │ │ │ │ │ ├── LynxRecorderTemplateProvider.java │ │ │ │ │ ├── LynxRecorderView.java │ │ │ │ │ ├── QueryMapUtils.java │ │ │ │ │ ├── SettingUtils.java │ │ │ │ │ ├── ThreadUtils.java │ │ │ │ │ └── Utils.java │ │ │ │ ├── tracing/ │ │ │ │ │ ├── FPSTrace.java │ │ │ │ │ ├── FrameTraceService.java │ │ │ │ │ ├── FrameViewTrace.java │ │ │ │ │ └── InstanceTrace.java │ │ │ │ └── utils/ │ │ │ │ └── ErrorUtils.java │ │ │ ├── jni/ │ │ │ │ ├── .gitignore │ │ │ │ ├── BUILD.gn │ │ │ │ └── jni_configs.yml │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── ic_recorder.xml │ │ │ ├── layout/ │ │ │ │ ├── devtool_fps_view.xml │ │ │ │ ├── recorder_activity.xml │ │ │ │ ├── recorder_full_screen_activity.xml │ │ │ │ ├── recorder_multi_pages_activity.xml │ │ │ │ ├── recorder_replay_state.xml │ │ │ │ ├── recorder_tool_bar.xml │ │ │ │ └── recorder_toolbar_content.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── ids.xml │ │ │ └── strings.xml │ │ ├── lynx_js_sdk/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── jssdk_build.py │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── AndroidManifest.xml │ │ ├── lynx_processor/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── lynx/ │ │ │ ├── jsbridge/ │ │ │ │ └── jsi/ │ │ │ │ ├── LynxJSProperty.java │ │ │ │ └── LynxJSPropertyProcessor.java │ │ │ ├── processor/ │ │ │ │ ├── LynxBehaviorProcessor.java │ │ │ │ ├── LynxPropsProcessor.java │ │ │ │ └── LynxUIMethodsProcessor.java │ │ │ └── tasm/ │ │ │ └── behavior/ │ │ │ ├── LynxBehavior.java │ │ │ ├── LynxGeneratorName.java │ │ │ ├── LynxProp.java │ │ │ ├── LynxPropGroup.java │ │ │ ├── LynxPropsHolder.java │ │ │ ├── LynxShadowNode.java │ │ │ ├── LynxUIMethod.java │ │ │ └── LynxUIMethodsHolder.java │ │ ├── lynx_service/ │ │ │ ├── lynx_service_devtool/ │ │ │ │ ├── build.gradle │ │ │ │ ├── gradle.properties │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── service/ │ │ │ │ └── devtool/ │ │ │ │ └── LynxDevToolService.kt │ │ │ ├── lynx_service_http/ │ │ │ │ ├── build.gradle │ │ │ │ ├── gradle.properties │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── service/ │ │ │ │ └── http/ │ │ │ │ └── LynxHttpService.kt │ │ │ ├── lynx_service_image/ │ │ │ │ ├── build.gradle │ │ │ │ ├── gradle.properties │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── service/ │ │ │ │ └── image/ │ │ │ │ ├── FrescoReleasableImage.java │ │ │ │ ├── LynxImageService.java │ │ │ │ ├── decoder/ │ │ │ │ │ ├── LoopCountModifyingBackend.java │ │ │ │ │ └── MultiPostProcessor.java │ │ │ │ └── utils/ │ │ │ │ └── ImageUtils.java │ │ │ └── lynx_service_log/ │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── lynx/ │ │ │ └── service/ │ │ │ └── log/ │ │ │ └── LynxLogService.kt │ │ ├── lynx_xelement/ │ │ │ ├── ext.gradle │ │ │ ├── gradle.properties │ │ │ ├── gradlew │ │ │ ├── lynx_xelement/ │ │ │ │ ├── .gitignore │ │ │ │ ├── build.gradle │ │ │ │ ├── consumer-rules.pro │ │ │ │ ├── gradle.properties │ │ │ │ ├── proguard-rules.pro │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── xelement/ │ │ │ │ ├── LynxUIInputAutoRegistry.kt │ │ │ │ ├── LynxUIInputShadowNodeAutoRegistry.kt │ │ │ │ ├── LynxUIOverlayAutoRegistry.kt │ │ │ │ ├── LynxUIOverlayShadowNodeAutoRegistry.kt │ │ │ │ ├── LynxUIRefreshAutoRegistry.kt │ │ │ │ ├── LynxUIRefreshHeaderAutoRegistry.kt │ │ │ │ ├── LynxUIRefreshShadowNodeAutoRegistry.kt │ │ │ │ ├── LynxUISVGAutoRegistry.kt │ │ │ │ ├── LynxUITextAreaAutoRegistry.kt │ │ │ │ ├── LynxUITextAreaShadowNodeAutoRegistry.kt │ │ │ │ └── XElementBehaviors.kt │ │ │ ├── lynx_xelement_input/ │ │ │ │ ├── .gitignore │ │ │ │ ├── build.gradle │ │ │ │ ├── consumer-rules.pro │ │ │ │ ├── gradle.properties │ │ │ │ ├── proguard-rules.pro │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── xelement/ │ │ │ │ └── input/ │ │ │ │ ├── LynxEditText.kt │ │ │ │ ├── LynxEditTextView.kt │ │ │ │ ├── LynxInputConnectionWrapper.kt │ │ │ │ ├── LynxInputUtils.kt │ │ │ │ ├── LynxUIBaseInput.kt │ │ │ │ ├── LynxUIBaseInputShadowNode.kt │ │ │ │ ├── LynxUIInput.kt │ │ │ │ ├── LynxUIInputShadowNode.kt │ │ │ │ ├── LynxUITextArea.kt │ │ │ │ └── LynxUITextAreaShadowNode.kt │ │ │ ├── lynx_xelement_overlay/ │ │ │ │ ├── .gitignore │ │ │ │ ├── build.gradle │ │ │ │ ├── consumer-rules.pro │ │ │ │ ├── gradle.properties │ │ │ │ ├── proguard-rules.pro │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── lynx/ │ │ │ │ │ └── xelement/ │ │ │ │ │ └── overlay/ │ │ │ │ │ ├── LynxOverlayDialog.kt │ │ │ │ │ ├── LynxOverlayManager.kt │ │ │ │ │ ├── LynxOverlayView.kt │ │ │ │ │ ├── LynxUIOverlay.kt │ │ │ │ │ └── LynxUIOverlayShadowNode.kt │ │ │ │ └── res/ │ │ │ │ └── values/ │ │ │ │ └── styles.xml │ │ │ ├── lynx_xelement_refresh/ │ │ │ │ ├── .gitignore │ │ │ │ ├── build.gradle │ │ │ │ ├── consumer-rules.pro │ │ │ │ ├── gradle.properties │ │ │ │ ├── proguard-rules.pro │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── lynx/ │ │ │ │ └── xelement/ │ │ │ │ └── refresh/ │ │ │ │ ├── LynxRefreshHeaderView.kt │ │ │ │ ├── LynxUIRefresh.kt │ │ │ │ ├── LynxUIRefreshHeader.kt │ │ │ │ └── LynxUIRefreshShadowNode.kt │ │ │ └── lynx_xelement_svg/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── consumer-rules.pro │ │ │ ├── gradle.properties │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── lynx/ │ │ │ └── xelement/ │ │ │ └── svg/ │ │ │ ├── LynxUISVG.kt │ │ │ ├── SVGImageView.java │ │ │ └── SvgDefaultResourceManager.java │ │ ├── package.gradle │ │ ├── publish.gradle │ │ ├── service_api/ │ │ │ ├── BUILD.gn │ │ │ ├── CMakeLists.txt │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── lynx/ │ │ │ └── tasm/ │ │ │ ├── image/ │ │ │ │ ├── ImageContent.java │ │ │ │ ├── ReleasableImage.java │ │ │ │ └── model/ │ │ │ │ ├── AnimationListener.java │ │ │ │ ├── BitmapPostProcessor.java │ │ │ │ ├── CacheChoice.java │ │ │ │ ├── DiskCacheChoice.java │ │ │ │ ├── ImageInfo.java │ │ │ │ ├── ImageLoadListener.java │ │ │ │ ├── ImageRequestInfo.java │ │ │ │ └── ImageRequestInfoBuilder.java │ │ │ └── service/ │ │ │ ├── ILynxImageService.java │ │ │ ├── ILynxLogService.java │ │ │ ├── ILynxTextService.java │ │ │ ├── ILynxTraceService.java │ │ │ ├── ILynxTrailService.java │ │ │ ├── IServiceExtension.java │ │ │ ├── IServiceProvider.java │ │ │ └── LynxServiceCenter.java │ │ ├── settings.gradle │ │ └── testing_base/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── lynx/ │ │ └── testing/ │ │ └── base/ │ │ ├── TestingLynxContext.java │ │ ├── TestingUIUtils.java │ │ ├── TestingUtils.java │ │ └── instrumentation/ │ │ ├── CaseResult.java │ │ ├── LynxInstrumentTestListener.java │ │ └── TaskResult.java │ ├── darwin/ │ │ ├── BUILD.gn │ │ ├── CPPLINT.cfg │ │ ├── common/ │ │ │ ├── .gitignore │ │ │ ├── Lynx-prefix.h │ │ │ ├── lazy_load/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── LynxLazyLoad.h │ │ │ │ ├── LynxLazyRegister.h │ │ │ │ └── LynxLazyRegister.m │ │ │ ├── lynx/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── LynxBytecodeResponseBlock+Converter.h │ │ │ │ ├── LynxBytecodeResponseBlock.mm │ │ │ │ ├── LynxConfig.mm │ │ │ │ ├── LynxConfigInfo.m │ │ │ │ ├── LynxContext.mm │ │ │ │ ├── LynxEngineProxy+Native.h │ │ │ │ ├── LynxEngineProxy.mm │ │ │ │ ├── LynxEnv+Internal.h │ │ │ │ ├── LynxEnv.mm │ │ │ │ ├── LynxEnvUnitTest.mm │ │ │ │ ├── LynxError.m │ │ │ │ ├── LynxErrorCode.m │ │ │ │ ├── LynxErrorReceiverProtocol.h │ │ │ │ ├── LynxErrorUnitTest.m │ │ │ │ ├── LynxGlobalObserver+Internal.h │ │ │ │ ├── LynxGroup+Internal.h │ │ │ │ ├── LynxGroup.mm │ │ │ │ ├── LynxLifecycleDispatcher.m │ │ │ │ ├── LynxLoadMeta.m │ │ │ │ ├── LynxResourceLoaderDarwinUnitTest.mm │ │ │ │ ├── LynxSSRHelper.h │ │ │ │ ├── LynxSSRHelper.m │ │ │ │ ├── LynxScreenMetrics.m │ │ │ │ ├── LynxServiceInfo.m │ │ │ │ ├── LynxTemplateBundle+Converter.h │ │ │ │ ├── LynxTemplateBundle.mm │ │ │ │ ├── LynxTemplateBundleOption.m │ │ │ │ ├── LynxTemplateData+Converter.h │ │ │ │ ├── LynxTemplateData.mm │ │ │ │ ├── LynxTemplateDataUnitTest.mm │ │ │ │ ├── LynxTemplateRenderDelegateExternal.m │ │ │ │ ├── LynxTheme.m │ │ │ │ ├── LynxUpdateMeta.m │ │ │ │ ├── LynxView+Identify.m │ │ │ │ ├── LynxViewClientUnitTest.mm │ │ │ │ ├── LynxViewClientV2.mm │ │ │ │ ├── TemplateRenderCallbackProtocol.h │ │ │ │ ├── base/ │ │ │ │ │ ├── LynxBacktrace.mm │ │ │ │ │ ├── LynxBaseTraceService.h │ │ │ │ │ ├── LynxBaseTraceService.mm │ │ │ │ │ ├── LynxCallStackUtil.h │ │ │ │ │ ├── LynxCallStackUtil.mm │ │ │ │ │ ├── LynxComponent.m │ │ │ │ │ ├── LynxComponentRegistry.m │ │ │ │ │ ├── LynxComponentRegistryUnitTest.m │ │ │ │ │ ├── LynxConverter+LynxCSSType.m │ │ │ │ │ ├── LynxConverter+UI.m │ │ │ │ │ ├── LynxConverter+UIUnitTest.m │ │ │ │ │ ├── LynxConverter.m │ │ │ │ │ ├── LynxExternalResourceFetcherWrapper.mm │ │ │ │ │ ├── LynxLog.mm │ │ │ │ │ ├── LynxPageReloadHelper.mm │ │ │ │ │ ├── LynxPageReloadHelperUnitTest.m │ │ │ │ │ ├── LynxPerformance.m │ │ │ │ │ ├── LynxResourceServiceFetcher.mm │ │ │ │ │ ├── LynxResourceServiceFetcherUnitTest.m │ │ │ │ │ ├── LynxThreadManager.mm │ │ │ │ │ ├── LynxVersion.m │ │ │ │ │ └── LynxVersionUnitTest.m │ │ │ │ ├── devtool_wrapper/ │ │ │ │ │ ├── CustomizedMessage.mm │ │ │ │ │ ├── DevToolLogLevel.h │ │ │ │ │ ├── DevToolOverlayDelegate.h │ │ │ │ │ ├── DevToolOverlayDelegate.mm │ │ │ │ │ ├── DevToolSettings.mm │ │ │ │ │ ├── DevToolSettingsUnitTest.mm │ │ │ │ │ ├── LynxBaseInspectorController.h │ │ │ │ │ ├── LynxDebugger+Internal.h │ │ │ │ │ ├── LynxDebugger.m │ │ │ │ │ ├── LynxDevToolEnvUtils.h │ │ │ │ │ ├── LynxDevToolEnvUtils.mm │ │ │ │ │ ├── LynxDevtool.h │ │ │ │ │ ├── LynxDevtool.mm │ │ │ │ │ ├── LynxLogBoxProtocol.h │ │ │ │ │ ├── LynxMemoryListener.h │ │ │ │ │ ├── LynxMemoryListener.m │ │ │ │ │ ├── LynxMemoryListenerUnitTest.m │ │ │ │ │ └── OverlayService.h │ │ │ │ ├── event/ │ │ │ │ │ ├── LynxEvent.m │ │ │ │ │ └── LynxTouchEvent.m │ │ │ │ ├── event_report/ │ │ │ │ │ ├── LynxEventReporter.mm │ │ │ │ │ ├── LynxEventReporterUnitTest.m │ │ │ │ │ ├── LynxEventReporterUtils.h │ │ │ │ │ ├── LynxEventReporterUtils.m │ │ │ │ │ └── LynxEventReporterUtilsUnitTest.m │ │ │ │ ├── feature_count/ │ │ │ │ │ ├── LynxFeatureCounter.h │ │ │ │ │ ├── LynxFeatureCounter.mm │ │ │ │ │ └── LynxFeatureCounterUnitTest.mm │ │ │ │ ├── module/ │ │ │ │ │ ├── JSModule+Internal.h │ │ │ │ │ ├── JSModule.mm │ │ │ │ │ └── LynxSetModule.mm │ │ │ │ ├── navigator/ │ │ │ │ │ ├── LynxBaseCardManager+Private.h │ │ │ │ │ ├── LynxBaseCardManager.m │ │ │ │ │ ├── LynxCardManager.m │ │ │ │ │ ├── LynxNavigator.m │ │ │ │ │ ├── LynxRoute.m │ │ │ │ │ ├── NavigationModule.m │ │ │ │ │ └── cache/ │ │ │ │ │ ├── LynxLruCache.m │ │ │ │ │ └── LynxLruCacheNode.m │ │ │ │ ├── network/ │ │ │ │ │ └── LynxHttpRequest.m │ │ │ │ ├── performance/ │ │ │ │ │ ├── LynxPerformanceController+Native.h │ │ │ │ │ ├── LynxPerformanceController.h │ │ │ │ │ ├── LynxPerformanceController.mm │ │ │ │ │ ├── LynxPerformanceControllerUnitTest.mm │ │ │ │ │ ├── fsp/ │ │ │ │ │ │ ├── LynxFSPTracer+Native.h │ │ │ │ │ │ ├── LynxFSPTracer.h │ │ │ │ │ │ ├── LynxFSPTracer.mm │ │ │ │ │ │ ├── LynxMeaningfulContentSnapshot.h │ │ │ │ │ │ └── LynxMeaningfulContentSnapshot.mm │ │ │ │ │ ├── memory/ │ │ │ │ │ │ ├── LynxMemoryMonitorProtocol.h │ │ │ │ │ │ ├── LynxMemoryRecord.h │ │ │ │ │ │ └── LynxMemoryRecord.m │ │ │ │ │ └── timing/ │ │ │ │ │ ├── LynxEmbeddedTimingCollector.h │ │ │ │ │ ├── LynxEmbeddedTimingCollector.mm │ │ │ │ │ ├── LynxExtraTiming.m │ │ │ │ │ ├── LynxTimingCollectorProtocol.h │ │ │ │ │ ├── LynxTimingConstants.h │ │ │ │ │ └── LynxTimingConstants.m │ │ │ │ ├── public/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── LynxBytecodeResponseBlock.h │ │ │ │ │ ├── LynxConfig.h │ │ │ │ │ ├── LynxConfigInfo.h │ │ │ │ │ ├── LynxContext.h │ │ │ │ │ ├── LynxDynamicComponentFetcher.h │ │ │ │ │ ├── LynxEngineProxy.h │ │ │ │ │ ├── LynxEnv.h │ │ │ │ │ ├── LynxEnvKey.h │ │ │ │ │ ├── LynxError.h │ │ │ │ │ ├── LynxErrorCode.h │ │ │ │ │ ├── LynxGlobalObserver.h │ │ │ │ │ ├── LynxGroup.h │ │ │ │ │ ├── LynxHttpRequest.h │ │ │ │ │ ├── LynxHttpStreamingDelegate.h │ │ │ │ │ ├── LynxLifecycleDispatcher.h │ │ │ │ │ ├── LynxLoadMeta.h │ │ │ │ │ ├── LynxScreenMetrics.h │ │ │ │ │ ├── LynxServiceInfo.h │ │ │ │ │ ├── LynxTemplateBundle.h │ │ │ │ │ ├── LynxTemplateBundleOption.h │ │ │ │ │ ├── LynxTemplateData.h │ │ │ │ │ ├── LynxTemplateProvider.h │ │ │ │ │ ├── LynxTemplateRenderDelegate.h │ │ │ │ │ ├── LynxTemplateRenderDelegateExternal.h │ │ │ │ │ ├── LynxTemplateRenderProtocol.h │ │ │ │ │ ├── LynxTheme.h │ │ │ │ │ ├── LynxUpdateMeta.h │ │ │ │ │ ├── LynxView+Identify.h │ │ │ │ │ ├── LynxViewClient.h │ │ │ │ │ ├── LynxViewClientV2.h │ │ │ │ │ ├── LynxViewEnum.h │ │ │ │ │ ├── LynxViewInternal.h │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── LynxBacktrace.h │ │ │ │ │ │ ├── LynxBooleanOption.h │ │ │ │ │ │ ├── LynxCSSType.h │ │ │ │ │ │ ├── LynxClassAliasDefines.h │ │ │ │ │ │ ├── LynxComponent.h │ │ │ │ │ │ ├── LynxComponentRegistry.h │ │ │ │ │ │ ├── LynxConverter+LynxCSSType.h │ │ │ │ │ │ ├── LynxConverter+UI.h │ │ │ │ │ │ ├── LynxConverter.h │ │ │ │ │ │ ├── LynxDefines.h │ │ │ │ │ │ ├── LynxExternalResourceFetcherWrapper.h │ │ │ │ │ │ ├── LynxForegroundProtocol.h │ │ │ │ │ │ ├── LynxLog.h │ │ │ │ │ │ ├── LynxPageReloadHelper+Internal.h │ │ │ │ │ │ ├── LynxPageReloadHelper.h │ │ │ │ │ │ ├── LynxPageReloadHelperProto.h │ │ │ │ │ │ ├── LynxPerformance.h │ │ │ │ │ │ ├── LynxResourceFetcher.h │ │ │ │ │ │ ├── LynxResourceServiceFetcher.h │ │ │ │ │ │ ├── LynxThreadManager.h │ │ │ │ │ │ └── LynxVersion.h │ │ │ │ │ ├── devtool_wrapper/ │ │ │ │ │ │ ├── CustomizedMessage.h │ │ │ │ │ │ ├── DevToolSettings.h │ │ │ │ │ │ ├── LynxBaseInspectorOwner.h │ │ │ │ │ │ ├── LynxBaseInspectorOwnerNG.h │ │ │ │ │ │ ├── LynxDebugger.h │ │ │ │ │ │ └── LynxInspectorConsoleDelegate.h │ │ │ │ │ ├── event/ │ │ │ │ │ │ ├── LynxEvent.h │ │ │ │ │ │ ├── LynxEventTarget.h │ │ │ │ │ │ ├── LynxEventTargetBase.h │ │ │ │ │ │ └── LynxTouchEvent.h │ │ │ │ │ ├── event_report/ │ │ │ │ │ │ └── LynxEventReporter.h │ │ │ │ │ ├── module/ │ │ │ │ │ │ ├── JSModule.h │ │ │ │ │ │ ├── LynxContextModule.h │ │ │ │ │ │ ├── LynxExtensionModule.h │ │ │ │ │ │ ├── LynxModule.h │ │ │ │ │ │ └── LynxSetModule.h │ │ │ │ │ ├── navigator/ │ │ │ │ │ │ ├── LynxBaseCardManager.h │ │ │ │ │ │ ├── LynxCardManager.h │ │ │ │ │ │ ├── LynxHolder.h │ │ │ │ │ │ ├── LynxNavigator.h │ │ │ │ │ │ ├── LynxRoute.h │ │ │ │ │ │ ├── LynxSchemaInterceptor.h │ │ │ │ │ │ ├── NavigationModule.h │ │ │ │ │ │ └── cache/ │ │ │ │ │ │ ├── LynxLruCache.h │ │ │ │ │ │ └── LynxLruCacheNode.h │ │ │ │ │ ├── performance/ │ │ │ │ │ │ ├── LynxExtraTiming.h │ │ │ │ │ │ ├── LynxPerformanceObserverProtocol.h │ │ │ │ │ │ └── LynxUIMeaningfulContentProtocol.h │ │ │ │ │ ├── recorder/ │ │ │ │ │ │ └── LynxDebugInfoRecorderProtocol.h │ │ │ │ │ ├── resource/ │ │ │ │ │ │ ├── LynxGenericResourceFetcher.h │ │ │ │ │ │ ├── LynxMediaResourceFetcher.h │ │ │ │ │ │ ├── LynxProviderRegistry.h │ │ │ │ │ │ ├── LynxResourceProvider.h │ │ │ │ │ │ ├── LynxResourceRequest.h │ │ │ │ │ │ ├── LynxResourceResponse.h │ │ │ │ │ │ ├── LynxResourceResponseDataInfoProtocol.h │ │ │ │ │ │ ├── LynxTemplateResource.h │ │ │ │ │ │ └── LynxTemplateResourceFetcher.h │ │ │ │ │ ├── service/ │ │ │ │ │ │ ├── LynxService.h │ │ │ │ │ │ ├── LynxServiceContainerProtocol.h │ │ │ │ │ │ ├── LynxServiceDevToolProtocol.h │ │ │ │ │ │ ├── LynxServiceEventReporterProtocol.h │ │ │ │ │ │ ├── LynxServiceExtensionProtocol.h │ │ │ │ │ │ ├── LynxServiceHttpProtocol.h │ │ │ │ │ │ ├── LynxServiceI18nProtocol.h │ │ │ │ │ │ ├── LynxServiceImageProtocol.h │ │ │ │ │ │ ├── LynxServiceModuleProtocol.h │ │ │ │ │ │ ├── LynxServiceMonitorProtocol.h │ │ │ │ │ │ ├── LynxServiceResourceProtocol.h │ │ │ │ │ │ ├── LynxServiceResourceRequestOperationProtocol.h │ │ │ │ │ │ ├── LynxServiceResourceRequestParameters.h │ │ │ │ │ │ ├── LynxServiceResourceResponseProtocol.h │ │ │ │ │ │ ├── LynxServiceSecurityProtocol.h │ │ │ │ │ │ ├── LynxServiceSystemInvokeProtocol.h │ │ │ │ │ │ ├── LynxServiceTextProtocol.h │ │ │ │ │ │ ├── LynxServiceTrailExtensionProtocol.h │ │ │ │ │ │ └── LynxServiceTrailProtocol.h │ │ │ │ │ ├── sources_list.gni │ │ │ │ │ ├── ui/ │ │ │ │ │ │ ├── LUIBodyView.h │ │ │ │ │ │ ├── LUIConfig.h │ │ │ │ │ │ └── LUIErrorHandling.h │ │ │ │ │ └── utils/ │ │ │ │ │ ├── LynxColorUtils.h │ │ │ │ │ ├── LynxHtmlEscape.h │ │ │ │ │ ├── LynxSizeValue.h │ │ │ │ │ ├── LynxUnitUtils.h │ │ │ │ │ ├── LynxVersionUtils.h │ │ │ │ │ ├── LynxWeakProxy.h │ │ │ │ │ └── thread_safe_dictionary/ │ │ │ │ │ └── LynxThreadSafeDictionary.h │ │ │ │ ├── resource/ │ │ │ │ │ ├── LynxProviderRegistry.m │ │ │ │ │ ├── LynxResourceRequest.m │ │ │ │ │ ├── LynxResourceResponse.m │ │ │ │ │ └── LynxTemplateResource.m │ │ │ │ ├── service/ │ │ │ │ │ ├── LynxService.m │ │ │ │ │ ├── LynxServiceResourceRequestParameters.m │ │ │ │ │ └── LynxVerificationResult.m │ │ │ │ ├── trace/ │ │ │ │ │ └── LynxTraceEventDef.h │ │ │ │ └── utils/ │ │ │ │ ├── LynxColorUtils.mm │ │ │ │ ├── LynxConvertUtils.h │ │ │ │ ├── LynxConvertUtils.m │ │ │ │ ├── LynxHtmlEscape.m │ │ │ │ ├── LynxSizeValue.m │ │ │ │ ├── LynxUnitUtils.m │ │ │ │ ├── LynxVersionUtils.mm │ │ │ │ ├── LynxWeakProxy.m │ │ │ │ └── thread_safe_dictionary/ │ │ │ │ ├── LICENSE.txt │ │ │ │ └── LynxThreadSafeDictionary.m │ │ │ └── lynx_devtool/ │ │ │ ├── BUILD.gn │ │ │ ├── Helper/ │ │ │ │ ├── LynxBaseDeviceInfo.h │ │ │ │ ├── LynxScreenCastHelper.h │ │ │ │ └── LynxScreenCastHelper.mm │ │ │ ├── LogBox/ │ │ │ │ ├── LynxLogBoxWrapper.h │ │ │ │ └── LynxLogBoxWrapper.mm │ │ │ ├── LynxDebugBridge.h │ │ │ ├── LynxDebugBridge.mm │ │ │ ├── LynxDevMenu.h │ │ │ ├── LynxDevMenu.mm │ │ │ ├── LynxDevTool-prefix-ios.pch │ │ │ ├── LynxDevTool-prefix-osx.pch │ │ │ ├── LynxDevToolDownloader.m │ │ │ ├── LynxDevToolFrameCapturer.h │ │ │ ├── LynxDevToolFrameCapturer.mm │ │ │ ├── LynxDevtoolEnv.h │ │ │ ├── LynxDevtoolEnv.mm │ │ │ ├── LynxInspectorOwner+Internal.h │ │ │ ├── Memory/ │ │ │ │ ├── LynxMemoryController.h │ │ │ │ └── LynxMemoryController.mm │ │ │ ├── Module/ │ │ │ │ ├── LynxDevToolSetModule.h │ │ │ │ ├── LynxDevToolSetModule.mm │ │ │ │ ├── LynxTrailModule.h │ │ │ │ ├── LynxTrailModule.mm │ │ │ │ ├── LynxWebSocketModule.h │ │ │ │ └── LynxWebSocketModule.mm │ │ │ └── Tracing/ │ │ │ ├── LynxFPSTrace.h │ │ │ ├── LynxFPSTrace.mm │ │ │ ├── LynxFrameTraceService.h │ │ │ ├── LynxFrameTraceService.mm │ │ │ ├── LynxFrameViewTrace.h │ │ │ ├── LynxFrameViewTrace.mm │ │ │ ├── LynxInstanceTrace.h │ │ │ └── LynxInstanceTrace.mm │ │ ├── ios/ │ │ │ ├── BUILD.gn │ │ │ ├── api/ │ │ │ │ ├── doxygen.cfg │ │ │ │ └── lynx_ios.api │ │ │ ├── lynx/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── LUIConfigAdapter.h │ │ │ │ ├── LUIConfigAdapter.mm │ │ │ │ ├── LynxBackgroundRuntime+Internal.h │ │ │ │ ├── LynxBackgroundRuntime.mm │ │ │ │ ├── LynxBaseConfigurator+Internal.h │ │ │ │ ├── LynxBaseConfigurator.mm │ │ │ │ ├── LynxConfig+Internal.h │ │ │ │ ├── LynxContext+Internal.h │ │ │ │ ├── LynxDefaultLogicExecutor.mm │ │ │ │ ├── LynxEngine.h │ │ │ │ ├── LynxEngine.mm │ │ │ │ ├── LynxEnginePool.h │ │ │ │ ├── LynxEnginePool.mm │ │ │ │ ├── LynxModuleManagerDarwinUnitTest.mm │ │ │ │ ├── LynxTemplateRender+Internal.h │ │ │ │ ├── LynxTemplateRender+Protected.h │ │ │ │ ├── LynxTemplateRender.mm │ │ │ │ ├── LynxTemplateRenderHelper.h │ │ │ │ ├── LynxTemplateRenderHelper.mm │ │ │ │ ├── LynxUIRenderer.h │ │ │ │ ├── LynxUIRenderer.mm │ │ │ │ ├── LynxUIRendererCreator.h │ │ │ │ ├── LynxUIRendererCreator.mm │ │ │ │ ├── LynxUIRendererProtocol.h │ │ │ │ ├── LynxUnitTestUtils.h │ │ │ │ ├── LynxUnitTestUtils.mm │ │ │ │ ├── LynxView+Protected.h │ │ │ │ ├── LynxView.mm │ │ │ │ ├── LynxViewBuilder+Internal.h │ │ │ │ ├── LynxViewBuilder.mm │ │ │ │ ├── LynxViewGroup.mm │ │ │ │ ├── LynxWasmFuncRegistry.mm │ │ │ │ ├── PaintingContextProxy.h │ │ │ │ ├── PaintingContextProxy.mm │ │ │ │ ├── Podspecs.gni │ │ │ │ ├── animation/ │ │ │ │ │ ├── LynxAnimationDelegate.m │ │ │ │ │ ├── LynxAnimationInfo.m │ │ │ │ │ ├── LynxAnimationTransformRotation.m │ │ │ │ │ ├── LynxAnimationUtils.m │ │ │ │ │ ├── LynxKeyframeAnimator.m │ │ │ │ │ ├── LynxKeyframeManager.m │ │ │ │ │ ├── LynxKeyframes.m │ │ │ │ │ ├── LynxLayoutAnimationManager.m │ │ │ │ │ └── LynxTransitionAnimationManager.m │ │ │ │ ├── base/ │ │ │ │ │ ├── LynxBoxShadowManager.m │ │ │ │ │ ├── LynxComponentStatisticUnitTest.m │ │ │ │ │ ├── LynxConverter+Transform.m │ │ │ │ │ ├── LynxFPSMonitorUnitTest.m │ │ │ │ │ ├── LynxFontFaceManager.m │ │ │ │ │ ├── LynxGradient.m │ │ │ │ │ ├── LynxLayoutStyle.mm │ │ │ │ │ ├── LynxLogUnitTest.m │ │ │ │ │ ├── LynxPropsProcessor.mm │ │ │ │ │ ├── LynxTextStyle.m │ │ │ │ │ ├── LynxTextUtils.m │ │ │ │ │ ├── LynxTransformOriginRaw.m │ │ │ │ │ ├── LynxTransformRaw.m │ │ │ │ │ ├── LynxUIMethodProcessor.m │ │ │ │ │ ├── UIDevice+Lynx.m │ │ │ │ │ └── background/ │ │ │ │ │ ├── LynxBackgroundCapInsets.m │ │ │ │ │ ├── LynxBackgroundDrawable.mm │ │ │ │ │ ├── LynxBackgroundImageLayerInfo.m │ │ │ │ │ ├── LynxBackgroundInfo.m │ │ │ │ │ ├── LynxBackgroundLinearGradientDrawable.mm │ │ │ │ │ ├── LynxBackgroundManager.m │ │ │ │ │ ├── LynxBackgroundManagerUnitTest.m │ │ │ │ │ ├── LynxBackgroundSubBackgroundLayer.m │ │ │ │ │ ├── LynxBackgroundUtils.m │ │ │ │ │ ├── LynxBoxShadowLayer.m │ │ │ │ │ └── LynxBoxShadowLayerUnitTest.m │ │ │ │ ├── event/ │ │ │ │ │ ├── LynxEventDetail.m │ │ │ │ │ ├── LynxEventEmitter.mm │ │ │ │ │ ├── LynxEventHandler+Internal.h │ │ │ │ │ ├── LynxEventHandler.m │ │ │ │ │ ├── LynxEventSpec.m │ │ │ │ │ ├── LynxKeyboardEventDispatcher.m │ │ │ │ │ ├── LynxTouchHandler+Internal.h │ │ │ │ │ ├── LynxTouchHandler.mm │ │ │ │ │ └── test/ │ │ │ │ │ ├── LynxEventHandlerUnitTest.h │ │ │ │ │ ├── LynxEventHandlerUnitTest.mm │ │ │ │ │ ├── LynxTouchHandlerUnitTest.h │ │ │ │ │ └── LynxTouchHandlerUnitTest.mm │ │ │ │ ├── fluency/ │ │ │ │ │ ├── LynxFluencyMonitor.h │ │ │ │ │ ├── LynxFluencyMonitor.mm │ │ │ │ │ ├── LynxScrollFluency.h │ │ │ │ │ ├── LynxScrollFluency.m │ │ │ │ │ └── base/ │ │ │ │ │ ├── LynxFPSMonitor.h │ │ │ │ │ ├── LynxFPSMonitor.mm │ │ │ │ │ ├── LynxFPSRecord.h │ │ │ │ │ └── LynxFPSRecord.m │ │ │ │ ├── gesture/ │ │ │ │ │ ├── LynxBaseGestureHandler.m │ │ │ │ │ ├── LynxBaseGestureHandlerUnitTest.m │ │ │ │ │ ├── LynxCustomGestureRecognizer.h │ │ │ │ │ ├── LynxCustomGestureRecognizer.m │ │ │ │ │ ├── LynxCustomGestureRecognizerUnitTest.m │ │ │ │ │ ├── LynxDefaultGestureHandler.m │ │ │ │ │ ├── LynxDefaultGestureHandlerUnitTest.m │ │ │ │ │ ├── LynxFlingGestureHandler.m │ │ │ │ │ ├── LynxFlingGestureHandlerUnitTest.m │ │ │ │ │ ├── LynxGestureArenaManager.h │ │ │ │ │ ├── LynxGestureArenaManager.m │ │ │ │ │ ├── LynxGestureArenaManagerUnitTest.m │ │ │ │ │ ├── LynxGestureDetectorDarwin.m │ │ │ │ │ ├── LynxGestureDetectorManager.h │ │ │ │ │ ├── LynxGestureDetectorManager.m │ │ │ │ │ ├── LynxGestureExtraBundle.h │ │ │ │ │ ├── LynxGestureExtraBundle.m │ │ │ │ │ ├── LynxGestureExtraBundleUnitTest.m │ │ │ │ │ ├── LynxGestureFlingTrigger.h │ │ │ │ │ ├── LynxGestureFlingTrigger.m │ │ │ │ │ ├── LynxGestureFlingTriggerUnitTest.m │ │ │ │ │ ├── LynxGestureHandlerTrigger.h │ │ │ │ │ ├── LynxGestureHandlerTrigger.m │ │ │ │ │ ├── LynxGestureHandlerTriggerUnitTest.m │ │ │ │ │ ├── LynxLongPressGestureHandler.m │ │ │ │ │ ├── LynxLongPressGestureHandlerUnitTest.m │ │ │ │ │ ├── LynxNativeGestureHandler.m │ │ │ │ │ ├── LynxPanGestureHandler.m │ │ │ │ │ ├── LynxPanGestureHandlerUnitTest.m │ │ │ │ │ ├── LynxTapGestureHandler.m │ │ │ │ │ └── LynxTapGestureHandlerUnitTest.m │ │ │ │ ├── hero_transitions/ │ │ │ │ │ ├── CALayer+LynxHeroTransition.m │ │ │ │ │ ├── LynxHeroAnimator.m │ │ │ │ │ ├── LynxHeroModifiers.m │ │ │ │ │ ├── LynxHeroTransition.m │ │ │ │ │ ├── LynxUI+LynxHeroTransition.m │ │ │ │ │ ├── UIView+LynxHeroTransition.m │ │ │ │ │ └── UIViewController+LynxHeroTransition.m │ │ │ │ ├── module/ │ │ │ │ │ ├── LynxAccessibilityModule.h │ │ │ │ │ ├── LynxAccessibilityModule.mm │ │ │ │ │ ├── LynxAccessibilityModuleUnitTest.m │ │ │ │ │ ├── LynxEmbeddedModule.h │ │ │ │ │ ├── LynxEmbeddedModule.mm │ │ │ │ │ ├── LynxExposureModule.h │ │ │ │ │ ├── LynxExposureModule.mm │ │ │ │ │ ├── LynxExposureModuleUnitTest.h │ │ │ │ │ ├── LynxExposureModuleUnitTest.m │ │ │ │ │ ├── LynxFetchModule.h │ │ │ │ │ ├── LynxFetchModule.m │ │ │ │ │ ├── LynxHttpStreamingDelegate.m │ │ │ │ │ ├── LynxHttpStreamingDelegateUnitTest.m │ │ │ │ │ ├── LynxIntersectionObserverModule.h │ │ │ │ │ ├── LynxIntersectionObserverModule.mm │ │ │ │ │ ├── LynxResourceModule.h │ │ │ │ │ ├── LynxResourceModule.mm │ │ │ │ │ ├── LynxResourceModuleUnitTest.m │ │ │ │ │ ├── LynxTextInfoModule.h │ │ │ │ │ ├── LynxTextInfoModule.mm │ │ │ │ │ ├── LynxUIMethodModule.h │ │ │ │ │ └── LynxUIMethodModule.mm │ │ │ │ ├── public/ │ │ │ │ │ ├── BUILD.gn │ │ │ │ │ ├── ListNodeInfoFetcher.h │ │ │ │ │ ├── ListNodeInfoFetcherProtocol.h │ │ │ │ │ ├── LynxBackgroundRuntime.h │ │ │ │ │ ├── LynxBaseConfigurator.h │ │ │ │ │ ├── LynxBlurImageProcessor.h │ │ │ │ │ ├── LynxDefaultLogicExecutor.h │ │ │ │ │ ├── LynxFatImageProcessor.h │ │ │ │ │ ├── LynxImageBlurUtils.h │ │ │ │ │ ├── LynxImageConfig.h │ │ │ │ │ ├── LynxImageLoadInfo.h │ │ │ │ │ ├── LynxImageLoader.h │ │ │ │ │ ├── LynxImageProcessor.h │ │ │ │ │ ├── LynxLogicExecutor.h │ │ │ │ │ ├── LynxNinePatchImageProcessor.h │ │ │ │ │ ├── LynxRuntimeLifecycleListener.h │ │ │ │ │ ├── LynxServiceProtocol.h │ │ │ │ │ ├── LynxTemplateRender.h │ │ │ │ │ ├── LynxUIFilterImage.h │ │ │ │ │ ├── LynxUIImage.h │ │ │ │ │ ├── LynxUIInlineImage.h │ │ │ │ │ ├── LynxUIRendererCreatorProtocol.h │ │ │ │ │ ├── LynxURL.h │ │ │ │ │ ├── LynxView+Internal.h │ │ │ │ │ ├── LynxView.h │ │ │ │ │ ├── LynxViewBuilder.h │ │ │ │ │ ├── LynxViewGroup+Internal.h │ │ │ │ │ ├── LynxViewGroup.h │ │ │ │ │ ├── LynxWasmFuncRegistry.h │ │ │ │ │ ├── animation/ │ │ │ │ │ │ ├── LynxAnimationDelegate.h │ │ │ │ │ │ ├── LynxAnimationInfo.h │ │ │ │ │ │ ├── LynxAnimationTransformRotation.h │ │ │ │ │ │ ├── LynxAnimationUtils.h │ │ │ │ │ │ ├── LynxKeyframeAnimator.h │ │ │ │ │ │ ├── LynxKeyframeManager.h │ │ │ │ │ │ ├── LynxKeyframes.h │ │ │ │ │ │ ├── LynxLayoutAnimationManager.h │ │ │ │ │ │ └── LynxTransitionAnimationManager.h │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── LynxBoxShadowManager.h │ │ │ │ │ │ ├── LynxConverter+Transform.h │ │ │ │ │ │ ├── LynxFontFaceManager.h │ │ │ │ │ │ ├── LynxGradient.h │ │ │ │ │ │ ├── LynxImageFetcher.h │ │ │ │ │ │ ├── LynxLayoutStyle.h │ │ │ │ │ │ ├── LynxPreprocessingUtils.h │ │ │ │ │ │ ├── LynxPropsProcessor.h │ │ │ │ │ │ ├── LynxTextStyle.h │ │ │ │ │ │ ├── LynxTextUtils.h │ │ │ │ │ │ ├── LynxTransformOriginRaw.h │ │ │ │ │ │ ├── LynxTransformRaw.h │ │ │ │ │ │ ├── LynxUIMethodProcessor.h │ │ │ │ │ │ ├── UIDevice+Lynx.h │ │ │ │ │ │ └── background/ │ │ │ │ │ │ ├── LynxBackgroundCapInsets.h │ │ │ │ │ │ ├── LynxBackgroundDrawable.h │ │ │ │ │ │ ├── LynxBackgroundImageLayerInfo.h │ │ │ │ │ │ ├── LynxBackgroundInfo.h │ │ │ │ │ │ ├── LynxBackgroundManager.h │ │ │ │ │ │ ├── LynxBackgroundRenderer+Internal.h │ │ │ │ │ │ ├── LynxBackgroundRenderer.h │ │ │ │ │ │ ├── LynxBackgroundUtils.h │ │ │ │ │ │ └── LynxBoxShadowLayer.h │ │ │ │ │ ├── event/ │ │ │ │ │ │ ├── LynxEventDetail.h │ │ │ │ │ │ ├── LynxEventEmitter.h │ │ │ │ │ │ ├── LynxEventHandler.h │ │ │ │ │ │ ├── LynxEventSpec.h │ │ │ │ │ │ ├── LynxKeyboardEventDispatcher.h │ │ │ │ │ │ └── LynxTouchHandler.h │ │ │ │ │ ├── gesture/ │ │ │ │ │ │ ├── LynxBaseGestureHandler.h │ │ │ │ │ │ ├── LynxDefaultGestureHandler.h │ │ │ │ │ │ ├── LynxFlingGestureHandler.h │ │ │ │ │ │ ├── LynxGestureArenaMember.h │ │ │ │ │ │ ├── LynxGestureDetectorDarwin.h │ │ │ │ │ │ ├── LynxLongPressGestureHandler.h │ │ │ │ │ │ ├── LynxNativeGestureHandler.h │ │ │ │ │ │ ├── LynxPanGestureHandler.h │ │ │ │ │ │ └── LynxTapGestureHandler.h │ │ │ │ │ ├── hero_transitions/ │ │ │ │ │ │ ├── CALayer+LynxHeroTransition.h │ │ │ │ │ │ ├── LynxHeroAnimator.h │ │ │ │ │ │ ├── LynxHeroModifiers.h │ │ │ │ │ │ ├── LynxHeroTransition.h │ │ │ │ │ │ ├── LynxUI+LynxHeroTransition.h │ │ │ │ │ │ ├── UIView+LynxHeroTransition.h │ │ │ │ │ │ └── UIViewController+LynxHeroTransition.h │ │ │ │ │ ├── shadow_node/ │ │ │ │ │ │ ├── LynxCustomMeasureDelegate+Internal.h │ │ │ │ │ │ ├── LynxCustomMeasureDelegate.h │ │ │ │ │ │ ├── LynxCustomMeasureShadowNode.h │ │ │ │ │ │ ├── LynxLayoutNode.h │ │ │ │ │ │ ├── LynxLayoutNodeManager.h │ │ │ │ │ │ ├── LynxLayoutTick.h │ │ │ │ │ │ ├── LynxMeasureDelegate.h │ │ │ │ │ │ ├── LynxNativeLayoutNode.h │ │ │ │ │ │ ├── LynxShadowNode+VirtualAnchor.h │ │ │ │ │ │ ├── LynxShadowNode.h │ │ │ │ │ │ ├── LynxShadowNodeOwner.h │ │ │ │ │ │ ├── LynxShadowNodeStyle.h │ │ │ │ │ │ ├── frame/ │ │ │ │ │ │ │ └── LynxFrameShadowNode.h │ │ │ │ │ │ └── text/ │ │ │ │ │ │ ├── LynxBaseTextShadowNode.h │ │ │ │ │ │ ├── LynxBaselineShiftLayoutManager.h │ │ │ │ │ │ ├── LynxConverter+NSShadow.h │ │ │ │ │ │ ├── LynxEventTargetSpan.h │ │ │ │ │ │ ├── LynxInlineTextShadowNode.h │ │ │ │ │ │ ├── LynxInlineTruncationShadowNode.h │ │ │ │ │ │ ├── LynxRawTextShadowNode.h │ │ │ │ │ │ ├── LynxTextLayoutManager.h │ │ │ │ │ │ ├── LynxTextLayoutSpec.h │ │ │ │ │ │ ├── LynxTextRenderManager.h │ │ │ │ │ │ ├── LynxTextRenderer.h │ │ │ │ │ │ ├── LynxTextRendererCache.h │ │ │ │ │ │ └── LynxTextShadowNode.h │ │ │ │ │ ├── ui/ │ │ │ │ │ │ ├── LynxBasicShape.h │ │ │ │ │ │ ├── LynxLayer.h │ │ │ │ │ │ ├── LynxNewGestureDelegate.h │ │ │ │ │ │ ├── LynxRootUI.h │ │ │ │ │ │ ├── LynxScrollEventManager.h │ │ │ │ │ │ ├── LynxScrollListener.h │ │ │ │ │ │ ├── LynxUI+Accessibility.h │ │ │ │ │ │ ├── LynxUI+Fluency.h │ │ │ │ │ │ ├── LynxUI+Internal.h │ │ │ │ │ │ ├── LynxUI.h │ │ │ │ │ │ ├── LynxUIComponent.h │ │ │ │ │ │ ├── LynxUIContext.h │ │ │ │ │ │ ├── LynxUIExposure.h │ │ │ │ │ │ ├── LynxUIOwner.h │ │ │ │ │ │ ├── LynxUIReportInfoDelegate.h │ │ │ │ │ │ ├── LynxUITarget.h │ │ │ │ │ │ ├── LynxUIView.h │ │ │ │ │ │ ├── LynxViewVisibleHelper.h │ │ │ │ │ │ ├── UIScrollView+Lynx.h │ │ │ │ │ │ ├── UIScrollView+LynxFadingEdge.h │ │ │ │ │ │ ├── UIScrollView+LynxGesture.h │ │ │ │ │ │ ├── UIView+Lynx.h │ │ │ │ │ │ ├── frame/ │ │ │ │ │ │ │ ├── LynxFrameView.h │ │ │ │ │ │ │ └── LynxUIFrame.h │ │ │ │ │ │ ├── image/ │ │ │ │ │ │ │ └── LynxImageLoadOptions.h │ │ │ │ │ │ ├── list/ │ │ │ │ │ │ │ ├── LynxListAppearEventEmitter.h │ │ │ │ │ │ │ ├── LynxListDebug.h │ │ │ │ │ │ │ ├── LynxListScrollEventEmitter.h │ │ │ │ │ │ │ ├── LynxUIListDelegate.h │ │ │ │ │ │ │ ├── LynxUIListInspector.h │ │ │ │ │ │ │ ├── LynxUIListLoader.h │ │ │ │ │ │ │ ├── LynxUIListScrollEvent.h │ │ │ │ │ │ │ ├── container/ │ │ │ │ │ │ │ │ └── LynxUIListContainer.h │ │ │ │ │ │ │ ├── list_light/ │ │ │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ │ │ ├── LynxListHorizontalLayoutManager.h │ │ │ │ │ │ │ │ │ ├── LynxListLayoutManager.h │ │ │ │ │ │ │ │ │ ├── LynxListLayoutModelLight.h │ │ │ │ │ │ │ │ │ └── LynxListVerticalLayoutManager.h │ │ │ │ │ │ │ │ ├── ui/ │ │ │ │ │ │ │ │ │ ├── LynxUIListInvalidationContext.h │ │ │ │ │ │ │ │ │ ├── LynxUIListLight.h │ │ │ │ │ │ │ │ │ ├── LynxUIListProtocol.h │ │ │ │ │ │ │ │ │ └── LynxUIListScrollManager.h │ │ │ │ │ │ │ │ └── view/ │ │ │ │ │ │ │ │ ├── LynxListViewCellLight.h │ │ │ │ │ │ │ │ └── LynxListViewLight.h │ │ │ │ │ │ │ └── lynx_collection/ │ │ │ │ │ │ │ ├── LynxCollectionDataSource.h │ │ │ │ │ │ │ ├── LynxCollectionScroll.h │ │ │ │ │ │ │ ├── LynxCollectionScroller.h │ │ │ │ │ │ │ ├── LynxCollectionViewCell.h │ │ │ │ │ │ │ ├── LynxUICollection+Delegate.h │ │ │ │ │ │ │ ├── LynxUICollection+Internal.h │ │ │ │ │ │ │ ├── LynxUICollection+PropSetter.h │ │ │ │ │ │ │ ├── LynxUICollection.h │ │ │ │ │ │ │ ├── LynxUIListItem.h │ │ │ │ │ │ │ └── layout/ │ │ │ │ │ │ │ ├── LynxCollectionInvalidationContext.h │ │ │ │ │ │ │ ├── LynxCollectionViewLayout.h │ │ │ │ │ │ │ ├── LynxCollectionViewLayoutModel.h │ │ │ │ │ │ │ └── LynxCollectionViewLayoutSectionModel.h │ │ │ │ │ │ ├── scroll_view/ │ │ │ │ │ │ │ ├── AbsLynxUIScroller.h │ │ │ │ │ │ │ ├── LynxBounceView.h │ │ │ │ │ │ │ ├── LynxImpressionView.h │ │ │ │ │ │ │ ├── LynxScrollView.h │ │ │ │ │ │ │ ├── LynxUIScrollView.h │ │ │ │ │ │ │ ├── LynxUIScrollViewInternal.h │ │ │ │ │ │ │ ├── LynxUIScroller.h │ │ │ │ │ │ │ ├── UIScrollView+Nested.h │ │ │ │ │ │ │ └── base/ │ │ │ │ │ │ │ ├── LynxBaseScrollView+Auto.h │ │ │ │ │ │ │ ├── LynxBaseScrollView+Horizontal.h │ │ │ │ │ │ │ ├── LynxBaseScrollView+Internal.h │ │ │ │ │ │ │ ├── LynxBaseScrollView+Nested.h │ │ │ │ │ │ │ ├── LynxBaseScrollView+Public.h │ │ │ │ │ │ │ ├── LynxBaseScrollView+Vertical.h │ │ │ │ │ │ │ └── LynxBaseScrollView.h │ │ │ │ │ │ └── text/ │ │ │ │ │ │ ├── LynxTextOverflowLayer.h │ │ │ │ │ │ ├── LynxTextView.h │ │ │ │ │ │ └── LynxUIText.h │ │ │ │ │ └── utils/ │ │ │ │ │ ├── LynxGradientUtils.h │ │ │ │ │ ├── LynxPropertyDiffMap.h │ │ │ │ │ ├── LynxUIKitAPIAdapter.h │ │ │ │ │ └── LynxUIUnitUtils.h │ │ │ │ ├── recorder/ │ │ │ │ │ ├── LynxRecorder.h │ │ │ │ │ └── LynxRecorder.mm │ │ │ │ ├── renderer/ │ │ │ │ │ ├── LynxContainerView.h │ │ │ │ │ ├── LynxContainerView.mm │ │ │ │ │ ├── LynxContainerViewUnitTest.mm │ │ │ │ │ ├── LynxDisplayListApplier+Internal.h │ │ │ │ │ ├── LynxDisplayListApplier.mm │ │ │ │ │ ├── LynxDisplayListApplierUnitTest.mm │ │ │ │ │ ├── LynxRenderer+Internal.h │ │ │ │ │ ├── LynxRenderer.h │ │ │ │ │ ├── LynxRenderer.mm │ │ │ │ │ ├── LynxRendererContext.h │ │ │ │ │ ├── LynxRendererContext.mm │ │ │ │ │ ├── LynxRendererContextUnitTest.mm │ │ │ │ │ ├── LynxRendererHost.h │ │ │ │ │ ├── LynxRendererUnitTest.mm │ │ │ │ │ ├── LynxTextLayer.h │ │ │ │ │ ├── LynxTextLayer.mm │ │ │ │ │ └── LynxTextLayerUnitTest.mm │ │ │ │ ├── shadow_node/ │ │ │ │ │ ├── LynxCustomMeasureShadowNode.mm │ │ │ │ │ ├── LynxLayoutNode.mm │ │ │ │ │ ├── LynxLayoutNodeManager.mm │ │ │ │ │ ├── LynxLayoutTick.m │ │ │ │ │ ├── LynxMeasureFuncDarwin.h │ │ │ │ │ ├── LynxMeasureFuncDarwin.mm │ │ │ │ │ ├── LynxNativeLayoutNode.mm │ │ │ │ │ ├── LynxShadowNode.m │ │ │ │ │ ├── LynxShadowNodeOwner.m │ │ │ │ │ ├── LynxUILayoutTick.h │ │ │ │ │ ├── LynxUILayoutTick.m │ │ │ │ │ ├── frame/ │ │ │ │ │ │ └── LynxFrameShadowNode.m │ │ │ │ │ └── text/ │ │ │ │ │ ├── LynxBaseTextShadowNode.m │ │ │ │ │ ├── LynxBaselineShiftLayoutManager.m │ │ │ │ │ ├── LynxConverter+NSShadow.m │ │ │ │ │ ├── LynxEventTargetSpan.m │ │ │ │ │ ├── LynxInlineTextShadowNode.m │ │ │ │ │ ├── LynxInlineTruncationShadowNode.m │ │ │ │ │ ├── LynxRawTextShadowNode.m │ │ │ │ │ ├── LynxTextLayoutManager.m │ │ │ │ │ ├── LynxTextLayoutSpec.m │ │ │ │ │ ├── LynxTextRenderManager.m │ │ │ │ │ ├── LynxTextRenderer.m │ │ │ │ │ ├── LynxTextRendererCache.m │ │ │ │ │ ├── LynxTextRendererUnitTest.m │ │ │ │ │ └── LynxTextShadowNode.m │ │ │ │ ├── ui/ │ │ │ │ │ ├── LynxFilterUtil+System.m │ │ │ │ │ ├── LynxFilterUtil.h │ │ │ │ │ ├── LynxFilterUtil.m │ │ │ │ │ ├── LynxGlobalObserver.m │ │ │ │ │ ├── LynxLRUMap.h │ │ │ │ │ ├── LynxLRUMap.m │ │ │ │ │ ├── LynxLayer.m │ │ │ │ │ ├── LynxOffsetCalculator.h │ │ │ │ │ ├── LynxOffsetCalculator.mm │ │ │ │ │ ├── LynxRootUI.m │ │ │ │ │ ├── LynxScrollEventManager.mm │ │ │ │ │ ├── LynxScrollListener.m │ │ │ │ │ ├── LynxUI+Accessibility.m │ │ │ │ │ ├── LynxUI+AccessibilityUnitTest.m │ │ │ │ │ ├── LynxUI+AsyncDisplay.m │ │ │ │ │ ├── LynxUI+Fluency.m │ │ │ │ │ ├── LynxUI+Gesture.h │ │ │ │ │ ├── LynxUI+Private.h │ │ │ │ │ ├── LynxUI+PropSetterUnitTest.mm │ │ │ │ │ ├── LynxUI.m │ │ │ │ │ ├── LynxUIComponent.m │ │ │ │ │ ├── LynxUIContext+Internal.h │ │ │ │ │ ├── LynxUIContext.mm │ │ │ │ │ ├── LynxUIDetachUnitTest.m │ │ │ │ │ ├── LynxUIExposure+Internal.h │ │ │ │ │ ├── LynxUIExposure.m │ │ │ │ │ ├── LynxUIExposureUnitTest.h │ │ │ │ │ ├── LynxUIExposureUnitTest.m │ │ │ │ │ ├── LynxUIIntersectionObserver+Internal.h │ │ │ │ │ ├── LynxUIIntersectionObserver.h │ │ │ │ │ ├── LynxUIIntersectionObserver.mm │ │ │ │ │ ├── LynxUIIntersectionObserverUnitTest.h │ │ │ │ │ ├── LynxUIIntersectionObserverUnitTest.m │ │ │ │ │ ├── LynxUIOwner+Accessibility.h │ │ │ │ │ ├── LynxUIOwner+Accessibility.m │ │ │ │ │ ├── LynxUIOwner+AccessibilityUnitTest.m │ │ │ │ │ ├── LynxUIOwner+Private.h │ │ │ │ │ ├── LynxUIOwner.m │ │ │ │ │ ├── LynxUIOwnerUnitTest.m │ │ │ │ │ ├── LynxUIUnitTest.m │ │ │ │ │ ├── LynxUIUnitTestUtils.h │ │ │ │ │ ├── LynxUIUnitTestUtils.m │ │ │ │ │ ├── LynxUIView.m │ │ │ │ │ ├── UIScrollView+Lynx.m │ │ │ │ │ ├── UIScrollView+LynxFadingEdge.m │ │ │ │ │ ├── UIScrollView+LynxGesture.m │ │ │ │ │ ├── UIScrollView+LynxUnitTest.m │ │ │ │ │ ├── UIView+Lynx.m │ │ │ │ │ ├── frame/ │ │ │ │ │ │ ├── LynxFrameView.mm │ │ │ │ │ │ └── LynxUIFrame.mm │ │ │ │ │ ├── image/ │ │ │ │ │ │ ├── LynxBlurImageProcessor.m │ │ │ │ │ │ ├── LynxFatImageProcessor.m │ │ │ │ │ │ ├── LynxImageBlurUtils.m │ │ │ │ │ │ ├── LynxImageLoadOptions.m │ │ │ │ │ │ ├── LynxImageLoader.mm │ │ │ │ │ │ ├── LynxImageManager.h │ │ │ │ │ │ ├── LynxImageManager.mm │ │ │ │ │ │ ├── LynxNinePatchImageProcessor.m │ │ │ │ │ │ ├── LynxUIFilterImage.m │ │ │ │ │ │ ├── LynxUIImage.mm │ │ │ │ │ │ ├── LynxUIImageUnitTest.m │ │ │ │ │ │ ├── LynxUIInlineImage.m │ │ │ │ │ │ └── LynxURL.m │ │ │ │ │ ├── list/ │ │ │ │ │ │ ├── LynxListAppearEventEmitter.m │ │ │ │ │ │ ├── LynxListScrollEventEmitter.m │ │ │ │ │ │ ├── LynxUIListLoader.mm │ │ │ │ │ │ ├── container/ │ │ │ │ │ │ │ ├── ListNodeInfoFetcher.mm │ │ │ │ │ │ │ ├── LynxUIListContainer.mm │ │ │ │ │ │ │ └── LynxUIListContainerUnitTest.m │ │ │ │ │ │ ├── list_light/ │ │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ │ ├── LynxListHorizontalLayoutManager.mm │ │ │ │ │ │ │ │ ├── LynxListLayoutManager.mm │ │ │ │ │ │ │ │ ├── LynxListLayoutManagerUnitTest.mm │ │ │ │ │ │ │ │ ├── LynxListLayoutModelLight.mm │ │ │ │ │ │ │ │ └── LynxListVerticalLayoutManager.mm │ │ │ │ │ │ │ ├── ui/ │ │ │ │ │ │ │ │ ├── LynxUIListCellContentProducer.h │ │ │ │ │ │ │ │ ├── LynxUIListCellContentProducer.mm │ │ │ │ │ │ │ │ ├── LynxUIListDataSource.h │ │ │ │ │ │ │ │ ├── LynxUIListDataSource.mm │ │ │ │ │ │ │ │ ├── LynxUIListInvalidationContext.m │ │ │ │ │ │ │ │ ├── LynxUIListLight+PropSetter.h │ │ │ │ │ │ │ │ ├── LynxUIListLight+PropSetter.mm │ │ │ │ │ │ │ │ ├── LynxUIListLight.mm │ │ │ │ │ │ │ │ └── LynxUIListScrollManager.mm │ │ │ │ │ │ │ └── view/ │ │ │ │ │ │ │ ├── LynxListAnchorManager.h │ │ │ │ │ │ │ ├── LynxListAnchorManager.mm │ │ │ │ │ │ │ ├── LynxListCachedCellManager.h │ │ │ │ │ │ │ ├── LynxListCachedCellManager.mm │ │ │ │ │ │ │ ├── LynxListReusePool.h │ │ │ │ │ │ │ ├── LynxListReusePool.mm │ │ │ │ │ │ │ ├── LynxListViewCellLight.mm │ │ │ │ │ │ │ ├── LynxListViewLight.mm │ │ │ │ │ │ │ └── LynxListViewLightUnitTest.mm │ │ │ │ │ │ └── lynx_collection/ │ │ │ │ │ │ ├── LynxCollectionDataSource.m │ │ │ │ │ │ ├── LynxCollectionScroll.m │ │ │ │ │ │ ├── LynxCollectionScroller.m │ │ │ │ │ │ ├── LynxCollectionViewCell.m │ │ │ │ │ │ ├── LynxUICollection+Delegate.m │ │ │ │ │ │ ├── LynxUICollection+DelegateUnitTest.m │ │ │ │ │ │ ├── LynxUICollection+PropSetter.m │ │ │ │ │ │ ├── LynxUICollection.m │ │ │ │ │ │ ├── LynxUIListItem.m │ │ │ │ │ │ └── layout/ │ │ │ │ │ │ ├── LynxCollectionInvalidationContext.m │ │ │ │ │ │ ├── LynxCollectionViewLayout.m │ │ │ │ │ │ ├── LynxCollectionViewLayoutModel.m │ │ │ │ │ │ └── LynxCollectionViewLayoutSectionModel.m │ │ │ │ │ ├── lynx_basic_shapes/ │ │ │ │ │ │ ├── LBSCoreGraphicsPathParser.h │ │ │ │ │ │ ├── LBSCoreGraphicsPathParser.m │ │ │ │ │ │ ├── LBSPathParser.h │ │ │ │ │ │ ├── LBSPathParser.m │ │ │ │ │ │ ├── LynxBasicShape.m │ │ │ │ │ │ └── LynxBasicShapeUnitTest.m │ │ │ │ │ ├── scroll_view/ │ │ │ │ │ │ ├── AbsLynxUIScroller.m │ │ │ │ │ │ ├── LynxBounceView.m │ │ │ │ │ │ ├── LynxImpressionView.m │ │ │ │ │ │ ├── LynxScrollView.m │ │ │ │ │ │ ├── LynxUIScrollView.m │ │ │ │ │ │ ├── LynxUIScrollViewInternal.m │ │ │ │ │ │ ├── LynxUIScroller.m │ │ │ │ │ │ ├── LynxUIScroller.xctestplan │ │ │ │ │ │ ├── LynxUIScrollerBasicUnitTest.m │ │ │ │ │ │ ├── LynxUIScrollerScrollEventUnitTest.m │ │ │ │ │ │ ├── LynxUIScrollerUIMethodScrollToUnitTest.m │ │ │ │ │ │ ├── LynxUIScrollerUnitTest.m │ │ │ │ │ │ ├── LynxUIScrollerUnitTestUtils.h │ │ │ │ │ │ ├── LynxUIScrollerUnitTestUtils.m │ │ │ │ │ │ ├── UIScrollView+Nested.m │ │ │ │ │ │ └── base/ │ │ │ │ │ │ ├── LynxBaseScrollView+Auto.m │ │ │ │ │ │ ├── LynxBaseScrollView+Horizontal.m │ │ │ │ │ │ ├── LynxBaseScrollView+Internal.m │ │ │ │ │ │ ├── LynxBaseScrollView+Nested.m │ │ │ │ │ │ ├── LynxBaseScrollView+Public.m │ │ │ │ │ │ ├── LynxBaseScrollView+Vertical.m │ │ │ │ │ │ ├── LynxBaseScrollView.m │ │ │ │ │ │ ├── LynxBaseScrollViewAutoUnitTest.m │ │ │ │ │ │ ├── LynxBaseScrollViewHorizontalUnitTest.m │ │ │ │ │ │ ├── LynxBaseScrollViewNestedUnitTest.m │ │ │ │ │ │ ├── LynxBaseScrollViewPublicUnitTest.m │ │ │ │ │ │ ├── LynxBaseScrollViewUnitTest.m │ │ │ │ │ │ └── LynxBaseScrollViewVerticalUnitTest.m │ │ │ │ │ └── text/ │ │ │ │ │ ├── LynxTextOverflowLayer.m │ │ │ │ │ ├── LynxTextView.m │ │ │ │ │ └── LynxUIText.m │ │ │ │ └── utils/ │ │ │ │ ├── LynxColorUtilsUnitTest.m │ │ │ │ ├── LynxConvertUtilsUnitTest.m │ │ │ │ ├── LynxGradientUtils.mm │ │ │ │ ├── LynxGradientUtilsUnitTest.m │ │ │ │ ├── LynxHtmlEscapeUnitTest.m │ │ │ │ ├── LynxPlatFormLengthUnitTest.m │ │ │ │ ├── LynxPropertyDiffMap.m │ │ │ │ ├── LynxPropertyDiffMapUnitTest.m │ │ │ │ ├── LynxUIKitAPIAdapter.m │ │ │ │ ├── LynxUIUnitUtils.m │ │ │ │ ├── LynxUnitUtilsUnitTest.m │ │ │ │ └── LynxVersionUtilsUnitTest.m │ │ │ ├── lynx_devtool/ │ │ │ │ ├── .gitignore │ │ │ │ ├── BUILD.gn │ │ │ │ ├── ConsoleDelegateManager.h │ │ │ │ ├── ConsoleDelegateManager.mm │ │ │ │ ├── ConsoleDelegateManagerUnitTest.mm │ │ │ │ ├── DevToolMonitorView.h │ │ │ │ ├── DevToolMonitorView.m │ │ │ │ ├── DevToolPlatformDarwinDelegate.h │ │ │ │ ├── DevToolPlatformDarwinDelegate.mm │ │ │ │ ├── GlobalDevToolPlatformDarwinDelegate.h │ │ │ │ ├── GlobalDevToolPlatformDarwinDelegate.mm │ │ │ │ ├── Helper/ │ │ │ │ │ ├── LepusDebugInfoHelper.h │ │ │ │ │ ├── LepusDebugInfoHelper.mm │ │ │ │ │ ├── LepusDebugInfoHelperUnitTest.mm │ │ │ │ │ ├── LynxDeviceInfoHelper.h │ │ │ │ │ ├── LynxDeviceInfoHelper.m │ │ │ │ │ ├── LynxEmulateTouchHelper.h │ │ │ │ │ ├── LynxEmulateTouchHelper.mm │ │ │ │ │ ├── LynxUITreeHelper.h │ │ │ │ │ ├── LynxUITreeHelper.mm │ │ │ │ │ ├── LynxUITreeHelperUnitTest.m │ │ │ │ │ ├── TestBenchTraceProfileHelper.h │ │ │ │ │ ├── TestBenchTraceProfileHelper.mm │ │ │ │ │ ├── TestbenchDumpFileHelper.h │ │ │ │ │ └── TestbenchDumpFileHelper.mm │ │ │ │ ├── LynxDevToolErrorUtils.h │ │ │ │ ├── LynxDevToolErrorUtils.mm │ │ │ │ ├── LynxDevToolErrorUtilsUnitTest.m │ │ │ │ ├── LynxDevToolNGDarwinDelegate.h │ │ │ │ ├── LynxDevToolNGDarwinDelegate.mm │ │ │ │ ├── LynxInspectorOwner.h │ │ │ │ ├── LynxInspectorOwner.mm │ │ │ │ ├── LynxWebSocket.h │ │ │ │ ├── LynxWebSocket.mm │ │ │ │ ├── Memory/ │ │ │ │ │ └── LynxMemoryControllerUnitTest.m │ │ │ │ └── lynx_recorder/ │ │ │ │ ├── LynxDebugInfoRecorderDelegate.h │ │ │ │ ├── LynxDebugInfoRecorderDelegate.mm │ │ │ │ ├── LynxRecorderActionManager.h │ │ │ │ ├── LynxRecorderActionManager.mm │ │ │ │ ├── LynxRecorderDynamicComponentFetcher.h │ │ │ │ ├── LynxRecorderDynamicComponentFetcher.m │ │ │ │ ├── LynxRecorderEntranceViewController.h │ │ │ │ ├── LynxRecorderEntranceViewController.m │ │ │ │ ├── LynxRecorderEnv.h │ │ │ │ ├── LynxRecorderEnv.m │ │ │ │ ├── LynxRecorderOpenUrlModule.h │ │ │ │ ├── LynxRecorderOpenUrlModule.m │ │ │ │ ├── LynxRecorderPageManager.h │ │ │ │ ├── LynxRecorderPageManager.m │ │ │ │ ├── LynxRecorderReplayConfig.h │ │ │ │ ├── LynxRecorderReplayConfig.m │ │ │ │ ├── LynxRecorderReplayDataModule.h │ │ │ │ ├── LynxRecorderReplayDataModule.m │ │ │ │ ├── LynxRecorderReplayStateView.h │ │ │ │ ├── LynxRecorderReplayStateView.m │ │ │ │ ├── LynxRecorderTouchHelper.h │ │ │ │ ├── LynxRecorderUIHelper.h │ │ │ │ ├── LynxRecorderUIHelper.m │ │ │ │ ├── LynxRecorderURLAnalyzer.h │ │ │ │ ├── LynxRecorderURLAnalyzer.m │ │ │ │ ├── LynxRecorderView.h │ │ │ │ ├── LynxRecorderView.m │ │ │ │ ├── LynxRecorderViewClient.h │ │ │ │ ├── LynxRecorderViewClient.m │ │ │ │ ├── LynxRecorderViewController.h │ │ │ │ ├── LynxRecorderViewController.m │ │ │ │ └── lynx_recorder.js │ │ │ ├── lynx_service/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── devtool/ │ │ │ │ │ ├── LynxDevToolService.h │ │ │ │ │ └── LynxDevToolService.mm │ │ │ │ ├── http/ │ │ │ │ │ ├── LynxHttpService.h │ │ │ │ │ ├── LynxHttpService.m │ │ │ │ │ ├── LynxNSUrlSessionDelegate.h │ │ │ │ │ └── LynxNSUrlSessionDelegate.m │ │ │ │ ├── image/ │ │ │ │ │ ├── LynxImageService.h │ │ │ │ │ └── LynxImageService.m │ │ │ │ └── log/ │ │ │ │ ├── LynxLogService.h │ │ │ │ └── LynxLogService.mm │ │ │ ├── lynx_service_api/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── LynxServiceLogProtocol.h │ │ │ │ ├── LynxServiceProtocol.h │ │ │ │ ├── LynxServiceTraceProtocol.h │ │ │ │ ├── LynxServiceTrailProtocol.h │ │ │ │ ├── ServiceAPI.h │ │ │ │ ├── ServiceAPI.m │ │ │ │ └── ServiceLazyLoad.h │ │ │ └── lynx_xelement/ │ │ │ ├── BUILD.gn │ │ │ ├── behavior/ │ │ │ │ ├── LynxUIInputAutoRegistry.h │ │ │ │ ├── LynxUIInputAutoRegistry.m │ │ │ │ ├── LynxUIOverlayAutoRegistry.h │ │ │ │ ├── LynxUIOverlayAutoRegistry.m │ │ │ │ ├── LynxUIRefreshAutoRegistry.h │ │ │ │ ├── LynxUIRefreshAutoRegistry.m │ │ │ │ ├── LynxUISVGAutoRegistry.h │ │ │ │ ├── LynxUISVGAutoRegistry.m │ │ │ │ ├── LynxUITextAreaAutoRegistry.h │ │ │ │ └── LynxUITextAreaAutoRegistry.m │ │ │ ├── input/ │ │ │ │ ├── .clang-format │ │ │ │ ├── LynxUIBaseInput.h │ │ │ │ ├── LynxUIBaseInput.m │ │ │ │ ├── LynxUIBaseInputShadowNode.h │ │ │ │ ├── LynxUIBaseInputShadowNode.m │ │ │ │ ├── LynxUIInput.h │ │ │ │ ├── LynxUIInput.m │ │ │ │ ├── LynxUITextArea.h │ │ │ │ ├── LynxUITextArea.m │ │ │ │ └── key_listener/ │ │ │ │ ├── LynxDialerKeyListener.h │ │ │ │ ├── LynxDialerKeyListener.m │ │ │ │ ├── LynxDigitKeyListener.h │ │ │ │ ├── LynxDigitKeyListener.m │ │ │ │ ├── LynxInputType.h │ │ │ │ ├── LynxKeyListener.h │ │ │ │ ├── LynxNumberKeyListener.h │ │ │ │ ├── LynxNumberKeyListener.m │ │ │ │ ├── LynxTextKeyListener.h │ │ │ │ └── LynxTextKeyListener.m │ │ │ ├── overlay/ │ │ │ │ ├── LynxOverlayContainer.h │ │ │ │ ├── LynxOverlayContainer.m │ │ │ │ ├── LynxOverlayGlobalManager.h │ │ │ │ ├── LynxOverlayGlobalManager.m │ │ │ │ ├── LynxUIOverlay.h │ │ │ │ └── LynxUIOverlay.m │ │ │ ├── refresh/ │ │ │ │ ├── LynxUIRefresh.h │ │ │ │ ├── LynxUIRefresh.m │ │ │ │ ├── LynxUIRefreshHeader.h │ │ │ │ ├── LynxUIRefreshHeader.m │ │ │ │ ├── LynxUIRefreshShadowNode.h │ │ │ │ └── LynxUIRefreshShadowNode.m │ │ │ └── svg/ │ │ │ ├── LynxSVGView.h │ │ │ ├── LynxSVGView.m │ │ │ ├── LynxUISVG.h │ │ │ └── LynxUISVG.m │ │ └── macos/ │ │ ├── BUILD.gn │ │ ├── Resource/ │ │ │ └── Info.plist │ │ ├── common/ │ │ │ ├── BUILD.gn │ │ │ ├── LynxUIRenderer.h │ │ │ ├── LynxUIRenderer.mm │ │ │ ├── vsync_monitor_macos.h │ │ │ └── vsync_monitor_macos.mm │ │ ├── exported_symbols.sym │ │ ├── lynx_devtool/ │ │ │ └── .gitignore │ │ └── package_sdk.py │ ├── embedder/ │ │ ├── BUILD.gn │ │ ├── core/ │ │ │ ├── BUILD.gn │ │ │ ├── lynx_template_renderer.cc │ │ │ ├── lynx_template_renderer.h │ │ │ ├── native_facade_impl.cc │ │ │ ├── native_facade_impl.h │ │ │ ├── performance/ │ │ │ │ ├── generic_info_storage.cc │ │ │ │ ├── generic_info_storage.h │ │ │ │ ├── lynx_event_reporter.cc │ │ │ │ ├── lynx_event_reporter.h │ │ │ │ ├── lynx_event_reporter_observer.h │ │ │ │ ├── performance_controller_impl.cc │ │ │ │ └── performance_controller_impl.h │ │ │ ├── tasm_platform_invoker_impl.cc │ │ │ └── tasm_platform_invoker_impl.h │ │ ├── fetcher/ │ │ │ ├── BUILD.gn │ │ │ ├── lynx_generic_resource_fetcher.cc │ │ │ ├── lynx_generic_resource_fetcher_priv.h │ │ │ ├── lynx_generic_resource_fetcher_unittests.cc │ │ │ ├── lynx_resource_fetcher_holder.cc │ │ │ ├── lynx_resource_fetcher_holder.h │ │ │ ├── lynx_resource_request.cc │ │ │ ├── lynx_resource_request_priv.h │ │ │ ├── lynx_resource_request_unittests.cc │ │ │ ├── lynx_resource_response.cc │ │ │ ├── lynx_resource_response_priv.h │ │ │ └── lynx_resource_response_unittests.cc │ │ ├── lynx_devtool/ │ │ │ ├── BUILD.gn │ │ │ ├── SwitchPersist.mm │ │ │ ├── devtool_env_embedder.cc │ │ │ ├── devtool_env_embedder.h │ │ │ ├── switch_persist.cc │ │ │ ├── switch_persist.h │ │ │ └── switch_persist_win.cc │ │ ├── lynx_env.cc │ │ ├── lynx_env_unittests.cc │ │ ├── lynx_group.cc │ │ ├── lynx_group_priv.h │ │ ├── lynx_group_unittests.cc │ │ ├── lynx_load_meta.cc │ │ ├── lynx_load_meta_priv.h │ │ ├── lynx_load_meta_unittests.cc │ │ ├── lynx_log.cc │ │ ├── lynx_log_unittests.cc │ │ ├── lynx_native_view.cc │ │ ├── lynx_recorder/ │ │ │ ├── BUILD.gn │ │ │ ├── test_bench_action_manager.cc │ │ │ ├── test_bench_action_manager.h │ │ │ ├── test_bench_replay_config.cc │ │ │ ├── test_bench_replay_config.h │ │ │ ├── test_bench_replay_data_module.cc │ │ │ ├── test_bench_replay_data_module.h │ │ │ ├── test_bench_url_analyzer.cc │ │ │ ├── test_bench_url_analyzer.h │ │ │ ├── test_bench_utils.cc │ │ │ └── test_bench_utils.h │ │ ├── lynx_runtime_lifecycle_observer.cc │ │ ├── lynx_runtime_lifecycle_observer_priv.h │ │ ├── lynx_service/ │ │ │ ├── BUILD.gn │ │ │ ├── lynx_event_reporter_service.cc │ │ │ ├── lynx_event_reporter_service_priv.h │ │ │ ├── lynx_http_request.cc │ │ │ ├── lynx_http_request.h │ │ │ ├── lynx_http_request_unittests.cc │ │ │ ├── lynx_http_response.cc │ │ │ ├── lynx_http_response.h │ │ │ ├── lynx_http_response_unittests.cc │ │ │ ├── lynx_http_service.cc │ │ │ ├── lynx_http_service_priv.h │ │ │ ├── lynx_security_service.cc │ │ │ ├── lynx_security_service_priv.h │ │ │ ├── lynx_service_base.h │ │ │ ├── lynx_service_center.cc │ │ │ ├── lynx_service_center_priv.h │ │ │ └── lynx_service_unittests.cc │ │ ├── lynx_template_bundle.cc │ │ ├── lynx_template_bundle_priv.h │ │ ├── lynx_template_bundle_unittests.cc │ │ ├── lynx_template_data.cc │ │ ├── lynx_template_data_priv.h │ │ ├── lynx_template_data_unittests.cc │ │ ├── lynx_trace.cc │ │ ├── lynx_ui_renderer.h │ │ ├── lynx_ui_renderer_mock.cc │ │ ├── lynx_update_meta.cc │ │ ├── lynx_update_meta_priv.h │ │ ├── lynx_update_meta_unittests.cc │ │ ├── lynx_value_unittest.cc │ │ ├── lynx_view.cc │ │ ├── lynx_view_builder.cc │ │ ├── lynx_view_builder_priv.h │ │ ├── lynx_view_builder_unittests.cc │ │ ├── lynx_view_client.cc │ │ ├── lynx_view_client_priv.h │ │ ├── lynx_view_client_unittests.cc │ │ ├── lynx_view_clients.cc │ │ ├── lynx_view_clients.h │ │ ├── lynx_view_priv.h │ │ ├── lynx_view_unittests.cc │ │ ├── lynx_vsync_monitor.cc │ │ ├── lynx_vsync_monitor_priv.h │ │ ├── memory/ │ │ │ └── lynx_memory.cc │ │ ├── module/ │ │ │ ├── BUILD.gn │ │ │ ├── extension_module_factory_impl.cc │ │ │ ├── extension_module_factory_impl.h │ │ │ ├── global_module_registry.cc │ │ │ ├── global_module_registry.h │ │ │ ├── lynx_extension_module.cc │ │ │ ├── lynx_extension_module_priv.h │ │ │ ├── lynx_fetch_module.cc │ │ │ ├── lynx_fetch_module.h │ │ │ ├── lynx_module_factory_napi.cc │ │ │ ├── lynx_module_factory_napi.h │ │ │ ├── lynx_module_manager_napi.cc │ │ │ ├── lynx_module_manager_napi.h │ │ │ ├── lynx_native_module_napi.cc │ │ │ └── lynx_native_module_napi.h │ │ ├── native_view/ │ │ │ ├── lynx_texture_view.cc │ │ │ └── lynx_texture_view.h │ │ ├── plugin/ │ │ │ └── cef/ │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── include/ │ │ │ │ └── cef_extension_module_creator.h │ │ │ └── src/ │ │ │ ├── CMakeLists.txt │ │ │ ├── cef_extension_module.cc │ │ │ ├── cef_extension_module.h │ │ │ ├── cef_webview.cc │ │ │ ├── cef_webview.h │ │ │ ├── cef_webview_client.cc │ │ │ ├── cef_webview_client.h │ │ │ ├── cef_webview_constants.h │ │ │ ├── macos/ │ │ │ │ ├── CEFTextInputClientOSRMac.h │ │ │ │ ├── CEFTextInputClientOSRMac.mm │ │ │ │ ├── CEFWebviewClientMac.h │ │ │ │ ├── CEFWebviewClientMac.mm │ │ │ │ ├── CEFWebviewInitializer.mm │ │ │ │ ├── CEFWebviewMac.h │ │ │ │ ├── CEFWebviewMac.mm │ │ │ │ ├── Helper-Info.plist.in │ │ │ │ ├── NSApplication+HandlingSendEvent.h │ │ │ │ ├── NSApplication+HandlingSendEvent.m │ │ │ │ └── process_helper_mac.cc │ │ │ └── win/ │ │ │ ├── cef_webview_client_win.cc │ │ │ ├── cef_webview_client_win.h │ │ │ ├── cef_webview_initializer.cc │ │ │ ├── cef_webview_win.cc │ │ │ ├── cef_webview_win.h │ │ │ ├── dpi_utils_win32.cc │ │ │ ├── dpi_utils_win32.h │ │ │ ├── osr_ime_handler_win.cc │ │ │ └── osr_ime_handler_win.h │ │ ├── public/ │ │ │ ├── capi/ │ │ │ │ ├── lynx_env_capi.h │ │ │ │ ├── lynx_event_reporter_service_capi.h │ │ │ │ ├── lynx_export.h │ │ │ │ ├── lynx_extension_module_capi.h │ │ │ │ ├── lynx_extension_module_types_capi.h │ │ │ │ ├── lynx_generic_resource_fetcher_capi.h │ │ │ │ ├── lynx_group_capi.h │ │ │ │ ├── lynx_http_service_capi.h │ │ │ │ ├── lynx_load_meta_capi.h │ │ │ │ ├── lynx_log_capi.h │ │ │ │ ├── lynx_memory_capi.h │ │ │ │ ├── lynx_native_module_capi.h │ │ │ │ ├── lynx_native_view_capi.h │ │ │ │ ├── lynx_resource_request_capi.h │ │ │ │ ├── lynx_resource_response_capi.h │ │ │ │ ├── lynx_runtime_lifecycle_observer_capi.h │ │ │ │ ├── lynx_security_service_capi.h │ │ │ │ ├── lynx_service_center_capi.h │ │ │ │ ├── lynx_template_bundle_capi.h │ │ │ │ ├── lynx_template_data_capi.h │ │ │ │ ├── lynx_trace_capi.h │ │ │ │ ├── lynx_types.h │ │ │ │ ├── lynx_update_meta_capi.h │ │ │ │ ├── lynx_view_builder_capi.h │ │ │ │ ├── lynx_view_capi.h │ │ │ │ ├── lynx_view_client_capi.h │ │ │ │ ├── lynx_vsync_monitor_capi.h │ │ │ │ └── lynx_windowless_renderer_capi.h │ │ │ ├── lynx_env.h │ │ │ ├── lynx_event_reporter_service.h │ │ │ ├── lynx_extension_module.h │ │ │ ├── lynx_generic_resource_fetcher.h │ │ │ ├── lynx_group.h │ │ │ ├── lynx_http_service.h │ │ │ ├── lynx_load_meta.h │ │ │ ├── lynx_native_module.h │ │ │ ├── lynx_native_view.h │ │ │ ├── lynx_resource_request.h │ │ │ ├── lynx_resource_response.h │ │ │ ├── lynx_runtime_lifecycle_observer.h │ │ │ ├── lynx_security_service.h │ │ │ ├── lynx_service_center.h │ │ │ ├── lynx_template_bundle.h │ │ │ ├── lynx_template_data.h │ │ │ ├── lynx_update_meta.h │ │ │ ├── lynx_value.h │ │ │ ├── lynx_view.h │ │ │ ├── lynx_view_client.h │ │ │ ├── lynx_vsync_monitor.h │ │ │ └── lynx_windowless_renderer.h │ │ ├── resource/ │ │ │ ├── BUILD.gn │ │ │ ├── core_js_loader_manager.cc │ │ │ ├── core_js_loader_manager.h │ │ │ ├── js_source_loader_desktop.cc │ │ │ ├── js_source_loader_desktop.h │ │ │ ├── js_source_loader_desktop.mm │ │ │ ├── lynx_resource_loader_embedder.cc │ │ │ └── lynx_resource_loader_embedder.h │ │ ├── sysinfo_embedder.cc │ │ ├── vsync_monitor_fallback.cc │ │ ├── vsync_monitor_fallback.h │ │ └── windowless/ │ │ ├── BUILD.gn │ │ ├── lynx_ui_renderer_windowless.cc │ │ ├── lynx_ui_renderer_windowless.h │ │ ├── lynx_windowless_renderer.cc │ │ └── lynx_windowless_renderer_priv.h │ ├── harmony/ │ │ ├── .gitignore │ │ ├── .ohpmrc │ │ ├── BUILD.gn │ │ ├── api/ │ │ │ └── lynx_harmony.api │ │ ├── cliff.toml │ │ ├── harmony.gni │ │ ├── lynx_devtool/ │ │ │ ├── .gitignore │ │ │ ├── .ohpmignore │ │ │ ├── BUILD.gn │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── build-profile.json5 │ │ │ ├── consumer-rules.txt │ │ │ ├── hvigorfile.ts │ │ │ ├── obfuscation-rules.txt │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── cpp/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── debug_bridge_harmony.cc │ │ │ │ ├── debug_bridge_harmony.h │ │ │ │ ├── debug_router_wrapper.cc │ │ │ │ ├── debug_router_wrapper.h │ │ │ │ ├── devtool_env_harmony.cc │ │ │ │ ├── devtool_env_harmony.h │ │ │ │ ├── entry.cc │ │ │ │ ├── harmony_global_handler.cc │ │ │ │ ├── harmony_global_handler.h │ │ │ │ ├── harmony_session_handler.cc │ │ │ │ ├── harmony_session_handler.h │ │ │ │ ├── inspector_owner_embedder_harmony.cc │ │ │ │ ├── inspector_owner_embedder_harmony.h │ │ │ │ ├── inspector_owner_harmony.cc │ │ │ │ ├── inspector_owner_harmony.h │ │ │ │ ├── message_handler_harmony.cc │ │ │ │ └── message_handler_harmony.h │ │ │ ├── ets/ │ │ │ │ ├── ConsoleDelegateManager.ets │ │ │ │ ├── DebugRouter.ets │ │ │ │ ├── Index.ets │ │ │ │ ├── LynxDebugBridge.ets │ │ │ │ ├── LynxDevToolEnv.ets │ │ │ │ ├── LynxInspectorOwner.ets │ │ │ │ ├── jsbridge/ │ │ │ │ │ └── LynxWebSocketModule.ets │ │ │ │ ├── logbox/ │ │ │ │ │ └── LogBox.ets │ │ │ │ ├── recorder/ │ │ │ │ │ ├── DataType.ets │ │ │ │ │ ├── LynxRecorderEnv.ets │ │ │ │ │ ├── LynxRecorderView.ets │ │ │ │ │ ├── ReplayDataModule.ets │ │ │ │ │ └── index.ets │ │ │ │ └── types/ │ │ │ │ ├── index.d.ts │ │ │ │ └── oh-package.json5 │ │ │ ├── module.json5 │ │ │ └── resources/ │ │ │ ├── .gitignore │ │ │ └── rawfile/ │ │ │ └── .gitignore │ │ ├── lynx_harmony/ │ │ │ ├── .gitignore │ │ │ ├── .ohpmignore │ │ │ ├── BUILD.gn │ │ │ ├── Index.ets │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── build-profile.json5 │ │ │ ├── consumer-rules.txt │ │ │ ├── entry.cc │ │ │ ├── hvigorfile.ts │ │ │ ├── obfuscation-rules.txt │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── cpp/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── animation/ │ │ │ │ │ ├── animation_info.cc │ │ │ │ │ ├── animation_info.h │ │ │ │ │ ├── keyframe_animator.cc │ │ │ │ │ ├── keyframe_animator.h │ │ │ │ │ ├── keyframe_manager.cc │ │ │ │ │ └── keyframe_manager.h │ │ │ │ ├── base/ │ │ │ │ │ ├── base_trace_backend.cc │ │ │ │ │ └── base_trace_backend.h │ │ │ │ ├── event/ │ │ │ │ │ ├── custom_event.h │ │ │ │ │ ├── event_dispatcher.cc │ │ │ │ │ ├── event_dispatcher.h │ │ │ │ │ ├── event_emitter.cc │ │ │ │ │ ├── event_emitter.h │ │ │ │ │ ├── event_target.h │ │ │ │ │ ├── gesture_event.h │ │ │ │ │ ├── lynx_event.h │ │ │ │ │ ├── touch_event.cc │ │ │ │ │ └── touch_event.h │ │ │ │ ├── font/ │ │ │ │ │ ├── font_face_manager.cc │ │ │ │ │ ├── font_face_manager.h │ │ │ │ │ ├── system_font_manager.cc │ │ │ │ │ └── system_font_manager.h │ │ │ │ ├── gesture/ │ │ │ │ │ ├── arena/ │ │ │ │ │ │ ├── gesture_arena_manager.cc │ │ │ │ │ │ └── gesture_arena_manager.h │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── gesture_extra_bundle.cc │ │ │ │ │ │ └── gesture_extra_bundle.h │ │ │ │ │ ├── detector/ │ │ │ │ │ │ ├── gesture_detector_manager.cc │ │ │ │ │ │ └── gesture_detector_manager.h │ │ │ │ │ ├── gesture_arena_member.h │ │ │ │ │ ├── gesture_handler_delegate.h │ │ │ │ │ └── handler/ │ │ │ │ │ ├── base_gesture_handler.cc │ │ │ │ │ ├── base_gesture_handler.h │ │ │ │ │ ├── default_gesture_handler.cc │ │ │ │ │ ├── default_gesture_handler.h │ │ │ │ │ ├── fling_gesture_handler.cc │ │ │ │ │ ├── fling_gesture_handler.h │ │ │ │ │ ├── fling_scroller.cc │ │ │ │ │ ├── fling_scroller.h │ │ │ │ │ ├── gesture_handler_trigger.cc │ │ │ │ │ ├── gesture_handler_trigger.h │ │ │ │ │ ├── longpress_gesture_handler.cc │ │ │ │ │ ├── longpress_gesture_handler.h │ │ │ │ │ ├── native_gesture_handler.cc │ │ │ │ │ ├── native_gesture_handler.h │ │ │ │ │ ├── pan_gesture_handler.cc │ │ │ │ │ ├── pan_gesture_handler.h │ │ │ │ │ ├── tap_gesture_handler.cc │ │ │ │ │ └── tap_gesture_handler.h │ │ │ │ ├── lynx_context.cc │ │ │ │ ├── lynx_context.h │ │ │ │ ├── lynx_napi_export.h │ │ │ │ ├── lynx_runtime_wrapper.cc │ │ │ │ ├── lynx_runtime_wrapper.h │ │ │ │ ├── lynx_template_renderer.cc │ │ │ │ ├── lynx_template_renderer.h │ │ │ │ ├── lynx_white_board_harmony.cc │ │ │ │ ├── lynx_white_board_harmony.h │ │ │ │ ├── module/ │ │ │ │ │ ├── lynx_exposure_module.cc │ │ │ │ │ ├── lynx_exposure_module.h │ │ │ │ │ ├── lynx_intersection_observer_module.cc │ │ │ │ │ ├── lynx_intersection_observer_module.h │ │ │ │ │ ├── lynx_text_info_module.cc │ │ │ │ │ ├── lynx_text_info_module.h │ │ │ │ │ ├── lynx_ui_method_module.cc │ │ │ │ │ ├── lynx_ui_method_module.h │ │ │ │ │ ├── module_factory_capi.cc │ │ │ │ │ ├── module_factory_capi.h │ │ │ │ │ ├── native_module_capi.cc │ │ │ │ │ └── native_module_capi.h │ │ │ │ ├── public/ │ │ │ │ │ ├── image_service.h │ │ │ │ │ ├── pub_lynx_context.cc │ │ │ │ │ ├── pub_lynx_context.h │ │ │ │ │ ├── pub_lynx_resource_loader_harmony.cc │ │ │ │ │ ├── pub_lynx_resource_loader_harmony.h │ │ │ │ │ ├── pub_prop_bundle_harmony.cc │ │ │ │ │ ├── pub_prop_bundle_harmony.h │ │ │ │ │ ├── pub_shadow_node_owner.cc │ │ │ │ │ ├── pub_shadow_node_owner.h │ │ │ │ │ ├── pub_ui_owner.cc │ │ │ │ │ └── pub_ui_owner.h │ │ │ │ ├── shadow_node/ │ │ │ │ │ ├── base_text_shadow_node.cc │ │ │ │ │ ├── base_text_shadow_node.h │ │ │ │ │ ├── image_shadow_node.cc │ │ │ │ │ ├── image_shadow_node.h │ │ │ │ │ ├── inline_placeholder_shadow_node.cc │ │ │ │ │ ├── inline_placeholder_shadow_node.h │ │ │ │ │ ├── inline_text_shadow_node.cc │ │ │ │ │ ├── inline_text_shadow_node.h │ │ │ │ │ ├── inline_truncation_shadow_node.cc │ │ │ │ │ ├── inline_truncation_shadow_node.h │ │ │ │ │ ├── js_shadow_node.cc │ │ │ │ │ ├── js_shadow_node.h │ │ │ │ │ ├── measure_mode.h │ │ │ │ │ ├── raw_text_shadow_node.cc │ │ │ │ │ ├── raw_text_shadow_node.h │ │ │ │ │ ├── shadow_node.cc │ │ │ │ │ ├── shadow_node.h │ │ │ │ │ ├── shadow_node_owner.cc │ │ │ │ │ ├── shadow_node_owner.h │ │ │ │ │ ├── text/ │ │ │ │ │ │ ├── text_attributes.h │ │ │ │ │ │ ├── text_measure_cache.h │ │ │ │ │ │ └── text_measure_cache_key.h │ │ │ │ │ ├── text_shadow_node.cc │ │ │ │ │ └── text_shadow_node.h │ │ │ │ ├── text/ │ │ │ │ │ ├── font_collection_harmony.h │ │ │ │ │ ├── font_metrics_harmony.h │ │ │ │ │ ├── line_harmony.h │ │ │ │ │ ├── paragraph_builder_harmony.cc │ │ │ │ │ ├── paragraph_builder_harmony.h │ │ │ │ │ ├── paragraph_content.h │ │ │ │ │ ├── paragraph_harmony.cc │ │ │ │ │ ├── paragraph_harmony.h │ │ │ │ │ ├── shadow_layer_harmony.h │ │ │ │ │ ├── style_harmony.cc │ │ │ │ │ ├── style_harmony.h │ │ │ │ │ ├── text_event_target.cc │ │ │ │ │ ├── text_event_target.h │ │ │ │ │ └── utils/ │ │ │ │ │ ├── text_utils.cc │ │ │ │ │ ├── text_utils.h │ │ │ │ │ ├── unicode_decode_utils.cc │ │ │ │ │ └── unicode_decode_utils.h │ │ │ │ └── ui/ │ │ │ │ ├── background/ │ │ │ │ │ ├── background_conic_gradient_layer.cc │ │ │ │ │ ├── background_conic_gradient_layer.h │ │ │ │ │ ├── background_drawable.cc │ │ │ │ │ ├── background_drawable.h │ │ │ │ │ ├── background_gradient_layer.cc │ │ │ │ │ ├── background_gradient_layer.h │ │ │ │ │ ├── background_image_layer.cc │ │ │ │ │ ├── background_image_layer.h │ │ │ │ │ ├── background_layer.cc │ │ │ │ │ ├── background_layer.h │ │ │ │ │ ├── background_linear_gradient_layer.cc │ │ │ │ │ ├── background_linear_gradient_layer.h │ │ │ │ │ ├── background_none_layer.cc │ │ │ │ │ ├── background_none_layer.h │ │ │ │ │ ├── background_radial_gradient_layer.cc │ │ │ │ │ ├── background_radial_gradient_layer.h │ │ │ │ │ ├── box_shadow_layer.cc │ │ │ │ │ ├── box_shadow_layer.h │ │ │ │ │ ├── layer_manager.cc │ │ │ │ │ └── layer_manager.h │ │ │ │ ├── base/ │ │ │ │ │ ├── lynx_base_image.cc │ │ │ │ │ ├── lynx_base_image.h │ │ │ │ │ ├── lynx_image_config.cc │ │ │ │ │ ├── lynx_image_config.h │ │ │ │ │ ├── lynx_image_constants.h │ │ │ │ │ ├── lynx_image_effect_processor.cc │ │ │ │ │ ├── lynx_image_effect_processor.h │ │ │ │ │ ├── lynx_image_helper.cc │ │ │ │ │ ├── lynx_image_helper.h │ │ │ │ │ ├── lynx_pixel_map.cc │ │ │ │ │ ├── lynx_pixel_map.h │ │ │ │ │ ├── native_node_content.cc │ │ │ │ │ ├── native_node_content.h │ │ │ │ │ ├── node_manager.cc │ │ │ │ │ ├── node_manager.h │ │ │ │ │ ├── shader_effect.cc │ │ │ │ │ └── shader_effect.h │ │ │ │ ├── image_drawable.cc │ │ │ │ ├── image_drawable.h │ │ │ │ ├── js_ui_base.cc │ │ │ │ ├── js_ui_base.h │ │ │ │ ├── scroll/ │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── lynx_base_scroll_view.cc │ │ │ │ │ │ ├── lynx_base_scroll_view.h │ │ │ │ │ │ ├── lynx_base_scroll_view_auto.cc │ │ │ │ │ │ ├── lynx_base_scroll_view_auto.h │ │ │ │ │ │ ├── lynx_base_scroll_view_auto_scroller.cc │ │ │ │ │ │ ├── lynx_base_scroll_view_auto_scroller.h │ │ │ │ │ │ ├── lynx_base_scroll_view_fundamental.cc │ │ │ │ │ │ ├── lynx_base_scroll_view_fundamental.h │ │ │ │ │ │ ├── lynx_base_scroll_view_horizontal.cc │ │ │ │ │ │ ├── lynx_base_scroll_view_horizontal.h │ │ │ │ │ │ ├── lynx_base_scroll_view_nested.cc │ │ │ │ │ │ ├── lynx_base_scroll_view_nested.h │ │ │ │ │ │ ├── lynx_base_scroll_view_vertical.cc │ │ │ │ │ │ └── lynx_base_scroll_view_vertical.h │ │ │ │ │ ├── lynx_ui_scroll_view.cc │ │ │ │ │ ├── lynx_ui_scroll_view.h │ │ │ │ │ ├── lynx_ui_scroll_view_internal.cc │ │ │ │ │ └── lynx_ui_scroll_view_internal.h │ │ │ │ ├── ui_base.cc │ │ │ │ ├── ui_base.h │ │ │ │ ├── ui_bounce.cc │ │ │ │ ├── ui_bounce.h │ │ │ │ ├── ui_component.cc │ │ │ │ ├── ui_component.h │ │ │ │ ├── ui_exposure.cc │ │ │ │ ├── ui_exposure.h │ │ │ │ ├── ui_flatten_image.cc │ │ │ │ ├── ui_flatten_image.h │ │ │ │ ├── ui_image.cc │ │ │ │ ├── ui_image.h │ │ │ │ ├── ui_intersection_observer.cc │ │ │ │ ├── ui_intersection_observer.h │ │ │ │ ├── ui_list.cc │ │ │ │ ├── ui_list.h │ │ │ │ ├── ui_new_image.cc │ │ │ │ ├── ui_new_image.h │ │ │ │ ├── ui_observer.cc │ │ │ │ ├── ui_observer.h │ │ │ │ ├── ui_owner.cc │ │ │ │ ├── ui_owner.h │ │ │ │ ├── ui_root.cc │ │ │ │ ├── ui_root.h │ │ │ │ ├── ui_scroll.cc │ │ │ │ ├── ui_scroll.h │ │ │ │ ├── ui_text.cc │ │ │ │ ├── ui_text.h │ │ │ │ ├── ui_view.cc │ │ │ │ ├── ui_view.h │ │ │ │ └── utils/ │ │ │ │ ├── auto_scroller.cc │ │ │ │ ├── auto_scroller.h │ │ │ │ ├── base_scroll_container.cc │ │ │ │ ├── base_scroll_container.h │ │ │ │ ├── basic_shape.cc │ │ │ │ ├── basic_shape.h │ │ │ │ ├── border_radius.cc │ │ │ │ ├── border_radius.h │ │ │ │ ├── lynx_ui_helper.cc │ │ │ │ ├── lynx_ui_helper.h │ │ │ │ ├── lynx_unit_utils.cc │ │ │ │ ├── lynx_unit_utils.h │ │ │ │ ├── platform_length.cc │ │ │ │ ├── platform_length.h │ │ │ │ ├── svg_path_utils.h │ │ │ │ ├── transform.cc │ │ │ │ ├── transform.h │ │ │ │ └── ui_observer_callback.h │ │ │ ├── ets/ │ │ │ │ ├── Index.ets │ │ │ │ ├── base/ │ │ │ │ │ ├── LLog.ets │ │ │ │ │ ├── LynxBaseTraceService.ets │ │ │ │ │ ├── TraceController.ets │ │ │ │ │ ├── TraceEvent.ets │ │ │ │ │ ├── TraceEventDef.ets │ │ │ │ │ └── memory/ │ │ │ │ │ ├── MemoryPressureCallbackDispatcher.ets │ │ │ │ │ └── MemoryPressureLevel.ets │ │ │ │ ├── devtool_wrapper/ │ │ │ │ │ ├── ILogBox.ets │ │ │ │ │ ├── LynxBaseInspectorController.ets │ │ │ │ │ ├── LynxBaseInspectorOwner.ets │ │ │ │ │ ├── LynxDebugger.ets │ │ │ │ │ ├── LynxDevTool.ets │ │ │ │ │ ├── LynxInspectorConsoleDelegate.ets │ │ │ │ │ └── MessageHandler.ets │ │ │ │ ├── extension/ │ │ │ │ │ └── LynxExtensionModule.ets │ │ │ │ ├── jsbridge/ │ │ │ │ │ ├── LynxAccessibilityModule.ets │ │ │ │ │ ├── LynxBackgroundRuntimeOptions.ets │ │ │ │ │ ├── LynxGroup.ets │ │ │ │ │ ├── LynxModule.ets │ │ │ │ │ ├── LynxModuleManager.ets │ │ │ │ │ ├── LynxResourceModule.ets │ │ │ │ │ ├── LynxSetModule.ets │ │ │ │ │ ├── RuntimeLifecycleListener.ets │ │ │ │ │ ├── Util.ts │ │ │ │ │ └── network/ │ │ │ │ │ ├── LynxFetchModule.ets │ │ │ │ │ ├── LynxHttpRequest.ets │ │ │ │ │ └── LynxHttpResponse.ets │ │ │ │ ├── lepus/ │ │ │ │ │ └── LynxLepusModule.ets │ │ │ │ ├── provider/ │ │ │ │ │ ├── LynxGenericResourceFetcher.ets │ │ │ │ │ ├── LynxMediaResourceFetcher.ets │ │ │ │ │ ├── LynxResourceProvider.ets │ │ │ │ │ ├── LynxResourceRequest.ets │ │ │ │ │ ├── LynxStreamDelegate.ets │ │ │ │ │ └── LynxTemplateResourceFetcher.ets │ │ │ │ └── tasm/ │ │ │ │ ├── DisplayInfo.ets │ │ │ │ ├── IContext.ets │ │ │ │ ├── LynxBackgroundRuntime.ets │ │ │ │ ├── LynxContext.ets │ │ │ │ ├── LynxEnv.ets │ │ │ │ ├── LynxEnvKey.ets │ │ │ │ ├── LynxError.ets │ │ │ │ ├── LynxErrorCodeLegacy.ets │ │ │ │ ├── LynxLoadOption.ets │ │ │ │ ├── LynxTemplateRenderer.ets │ │ │ │ ├── LynxTrailHub.ets │ │ │ │ ├── LynxUIRenderer.ets │ │ │ │ ├── LynxUIRendererCreator.ets │ │ │ │ ├── LynxView.ets │ │ │ │ ├── LynxViewClient.ets │ │ │ │ ├── MetaData.ets │ │ │ │ ├── SessionStorage.ets │ │ │ │ ├── TemplateBundle.ets │ │ │ │ ├── TemplateBundleOption.ets │ │ │ │ ├── behavior/ │ │ │ │ │ ├── Behavior.ets │ │ │ │ │ ├── CAPIView.ets │ │ │ │ │ ├── HarmonyUIRenderer.ets │ │ │ │ │ ├── LynxScreenMetrics.ets │ │ │ │ │ ├── ShadowNodeOwner.ets │ │ │ │ │ ├── UIOwner.ets │ │ │ │ │ ├── Util.ts │ │ │ │ │ ├── shadow/ │ │ │ │ │ │ └── ShadowNode.ets │ │ │ │ │ ├── ui/ │ │ │ │ │ │ ├── EventHandler.ets │ │ │ │ │ │ ├── UIBase.ets │ │ │ │ │ │ └── UIGroup.ets │ │ │ │ │ └── util/ │ │ │ │ │ ├── LynxConstants.ets │ │ │ │ │ └── LynxUIMethodConstants.ets │ │ │ │ ├── eventreport/ │ │ │ │ │ ├── ILynxEventReportObserver.ets │ │ │ │ │ ├── LynxEventReporter.ets │ │ │ │ │ └── LynxInfoReporterHelper.ets │ │ │ │ ├── gen/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── image/ │ │ │ │ │ ├── LynxImageConfig.ets │ │ │ │ │ └── LynxImageLoadInfo.ets │ │ │ │ ├── performance/ │ │ │ │ │ ├── DrawEndTimingFrameCallback.ets │ │ │ │ │ ├── IPerformanceObserver.ets │ │ │ │ │ ├── PerformanceController.ets │ │ │ │ │ ├── fluency/ │ │ │ │ │ │ ├── FluencyTraceHelper.ets │ │ │ │ │ │ ├── LynxFpsRecord.ets │ │ │ │ │ │ └── LynxFpsTracer.ets │ │ │ │ │ └── timing/ │ │ │ │ │ ├── ITimingCollector.ets │ │ │ │ │ ├── LynxExtraTiming.ets │ │ │ │ │ ├── TimingConstants.ets │ │ │ │ │ └── TimingOption.ets │ │ │ │ ├── service/ │ │ │ │ │ ├── ILynxDevToolService.ets │ │ │ │ │ ├── ILynxEventReporterService.ets │ │ │ │ │ ├── ILynxExtensionService.ets │ │ │ │ │ ├── ILynxHttpService.ets │ │ │ │ │ ├── ILynxImageService.ets │ │ │ │ │ ├── ILynxSecurityService.ets │ │ │ │ │ ├── ILynxTrailService.ets │ │ │ │ │ ├── IServiceProvider.ets │ │ │ │ │ ├── Index.ets │ │ │ │ │ └── LynxServiceCenter.ets │ │ │ │ └── types/ │ │ │ │ └── liblynx/ │ │ │ │ ├── index.d.ts │ │ │ │ └── oh-package.json5 │ │ │ ├── module.json5 │ │ │ └── resources/ │ │ │ ├── base/ │ │ │ │ ├── element/ │ │ │ │ │ ├── color.json │ │ │ │ │ └── string.json │ │ │ │ └── profile/ │ │ │ │ └── main_pages.json │ │ │ └── rawfile/ │ │ │ └── .gitignore │ │ ├── lynx_services/ │ │ │ ├── lynx_devtool_service/ │ │ │ │ ├── .gitignore │ │ │ │ ├── Index.ets │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── build-profile.json5 │ │ │ │ ├── consumer-rules.txt │ │ │ │ ├── hvigorfile.ts │ │ │ │ ├── obfuscation-rules.txt │ │ │ │ ├── oh-package.json5 │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── ets/ │ │ │ │ │ └── LynxDevToolService.ets │ │ │ │ └── module.json5 │ │ │ ├── lynx_http_service/ │ │ │ │ ├── .gitignore │ │ │ │ ├── Index.ets │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── build-profile.json5 │ │ │ │ ├── consumer-rules.txt │ │ │ │ ├── hvigorfile.ts │ │ │ │ ├── obfuscation-rules.txt │ │ │ │ ├── oh-package.json5 │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── ets/ │ │ │ │ │ └── LynxHttpService.ets │ │ │ │ └── module.json5 │ │ │ ├── lynx_image_service/ │ │ │ │ ├── .gitignore │ │ │ │ ├── BUILD.gn │ │ │ │ ├── Index.ets │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── build-profile.json5 │ │ │ │ ├── consumer-rules.txt │ │ │ │ ├── hvigorfile.ts │ │ │ │ ├── obfuscation-rules.txt │ │ │ │ ├── oh-package.json5 │ │ │ │ ├── source.gni │ │ │ │ └── src/ │ │ │ │ └── main/ │ │ │ │ ├── cpp/ │ │ │ │ │ ├── entry.cc │ │ │ │ │ ├── image_service_harmony.cc │ │ │ │ │ ├── image_service_harmony.h │ │ │ │ │ ├── image_service_node.cc │ │ │ │ │ ├── image_service_node.h │ │ │ │ │ ├── image_transform.cc │ │ │ │ │ ├── image_transform.h │ │ │ │ │ └── types/ │ │ │ │ │ └── liblynx_image_service/ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ └── oh-package.json5 │ │ │ │ ├── ets/ │ │ │ │ │ └── LynxImageService.ets │ │ │ │ └── module.json5 │ │ │ └── lynx_log_service/ │ │ │ ├── .gitignore │ │ │ ├── Index.ets │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── build-profile.json5 │ │ │ ├── consumer-rules.txt │ │ │ ├── hvigorfile.ts │ │ │ ├── obfuscation-rules.txt │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── ets/ │ │ │ │ └── LynxLogService.ets │ │ │ └── module.json5 │ │ ├── lynx_xelement/ │ │ │ ├── BUILD.gn │ │ │ ├── input/ │ │ │ │ ├── input_shadow_node.cc │ │ │ │ ├── input_shadow_node.h │ │ │ │ ├── ui_base_input.cc │ │ │ │ ├── ui_base_input.h │ │ │ │ ├── ui_input.cc │ │ │ │ ├── ui_input.h │ │ │ │ ├── ui_textarea.cc │ │ │ │ └── ui_textarea.h │ │ │ ├── overlay/ │ │ │ │ ├── overlay_shadow_node.cc │ │ │ │ ├── overlay_shadow_node.h │ │ │ │ ├── ui_overlay.cc │ │ │ │ └── ui_overlay.h │ │ │ ├── refresh/ │ │ │ │ ├── refresh_shadow_node.cc │ │ │ │ ├── refresh_shadow_node.h │ │ │ │ ├── ui_refresh.cc │ │ │ │ └── ui_refresh.h │ │ │ ├── registry.cc │ │ │ ├── registry.h │ │ │ └── svg/ │ │ │ ├── .gitignore │ │ │ ├── Index.ets │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── build-profile.json5 │ │ │ ├── consumer-rules.txt │ │ │ ├── hvigorfile.ts │ │ │ ├── obfuscation-rules.txt │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── ets/ │ │ │ │ └── UISVG.ets │ │ │ └── module.json5 │ │ └── oh-package.json5 │ └── windows/ │ ├── BUILD.gn │ ├── common/ │ │ ├── BUILD.gn │ │ ├── lynx_ui_renderer_win.cc │ │ └── lynx_ui_renderer_win.h │ └── package_sdk.py ├── pnpm-workspace.yaml ├── service_api/ │ ├── BUILD.gn │ ├── service_api.cc │ ├── service_api.gni │ ├── service_api.h │ ├── service_api_services.h │ ├── service_api_utils.h │ ├── service_lazy_load.h │ ├── services/ │ │ └── README.md │ └── testing/ │ ├── BUILD.gn │ ├── a/ │ │ └── a_service.h │ ├── b/ │ │ └── b_service.h │ └── service_api_test.cpp ├── service_impls/ │ ├── README.md │ └── testing/ │ ├── a/ │ │ ├── BUILD.gn │ │ └── a_service_impl.cc │ └── b/ │ ├── BUILD.gn │ └── b_service_impl.cc ├── testing/ │ ├── BUILD.gn │ ├── README.md │ ├── README_UT.md │ ├── integration_test/ │ │ ├── ENV_SETUP.md │ │ ├── README.md │ │ ├── demo_pages/ │ │ │ ├── .gitignore │ │ │ ├── build_and_copy.py │ │ │ ├── event/ │ │ │ │ ├── index.css │ │ │ │ ├── index.tsx │ │ │ │ ├── lynx.config.mjs │ │ │ │ └── package.json │ │ │ ├── package.json │ │ │ └── pnpm-workspace.yaml │ │ └── test_script/ │ │ ├── .gitignore │ │ ├── android_test/ │ │ │ ├── __init__.py │ │ │ └── core.py │ │ ├── case_sets/ │ │ │ └── core/ │ │ │ ├── Event.py │ │ │ ├── Image.py │ │ │ ├── LayoutLinear.py │ │ │ ├── ListBase.py │ │ │ ├── TextEvent.py │ │ │ ├── __init__.py │ │ │ └── runner.py │ │ ├── clean_files.py │ │ ├── ios_test/ │ │ │ ├── __init__.py │ │ │ └── core.py │ │ ├── lib/ │ │ │ ├── android/ │ │ │ │ ├── __init__.py │ │ │ │ ├── app.py │ │ │ │ └── test.py │ │ │ ├── common/ │ │ │ │ └── utils.py │ │ │ ├── ios/ │ │ │ │ ├── __init__.py │ │ │ │ ├── app.py │ │ │ │ └── test.py │ │ │ └── test_runner/ │ │ │ ├── __init__.py │ │ │ ├── case_set.py │ │ │ ├── mixin/ │ │ │ │ ├── img_diff_mixin.py │ │ │ │ ├── report_mixin.py │ │ │ │ └── result_mixin.py │ │ │ ├── plugins/ │ │ │ │ ├── basic_plugin.py │ │ │ │ └── devtool_connect_plugin.py │ │ │ ├── test_runner.py │ │ │ ├── testcase.py │ │ │ ├── testcase_check_image.py │ │ │ ├── testcase_check_result.py │ │ │ └── testcase_custom.py │ │ ├── manage.py │ │ ├── package.json │ │ ├── requirements.in │ │ ├── requirements.txt │ │ └── settings.py │ ├── lynx/ │ │ ├── BUILD.gn │ │ └── tasm/ │ │ └── databinding/ │ │ ├── data_update_replayer.cc │ │ ├── data_update_replayer.h │ │ ├── databinding_test.cc │ │ ├── databinding_test.h │ │ ├── element_dump_helper.cc │ │ ├── element_dump_helper.h │ │ ├── mock_replayer_component_loader.cc │ │ └── mock_replayer_component_loader.h │ ├── lynx_devtool/ │ │ └── BUILD.gn │ ├── telemetry/ │ │ ├── BUILD.gn │ │ ├── base/ │ │ │ ├── BUILD.gn │ │ │ ├── array_based_flat_map_benchmark.cc │ │ │ ├── linked_hash_map_benchmark.cc │ │ │ ├── message_loop_benchmark_ci.cc │ │ │ ├── vector_benchmark.cc │ │ │ └── vector_benchmark_ci.cc │ │ └── lepus/ │ │ ├── BUILD.gn │ │ ├── big_object.js │ │ ├── leak_objects.js │ │ ├── lepus_benchmark.cc │ │ ├── lepus_heap_sensitive_benchmark.cc │ │ ├── lepus_js_array_snippet_benchmark.cc │ │ └── lepus_js_snippet_benchmark.cc │ ├── test.gni │ └── utils/ │ ├── BUILD.gn │ ├── gmock_main.cc │ ├── gtest_custom_init.cc │ ├── gtest_main.cc │ ├── make_js_runtime.cc │ └── make_js_runtime.h ├── third_party/ │ ├── NativeScript/ │ │ ├── BUILD.gn │ │ └── LICENSE │ ├── aes/ │ │ ├── BUILD.gn │ │ ├── LICENSE │ │ ├── aes.cc │ │ └── aes.h │ ├── binding/ │ │ ├── BUILD.gn │ │ ├── LICENSE │ │ ├── README.md │ │ ├── common/ │ │ │ ├── base.cc │ │ │ ├── base.h │ │ │ ├── common.gni │ │ │ ├── env.cc │ │ │ ├── env.h │ │ │ ├── object.cc │ │ │ ├── object.h │ │ │ ├── object_ref.cc │ │ │ ├── object_ref.h │ │ │ ├── value.cc │ │ │ ├── value.h │ │ │ └── value_to_json.cc │ │ ├── gen_test/ │ │ │ ├── BUILD.gn │ │ │ ├── binding_generator_unittest.cc │ │ │ ├── jsbridge/ │ │ │ │ └── bindings/ │ │ │ │ └── gen_test/ │ │ │ │ ├── napi_async_object.cc │ │ │ │ ├── napi_async_object.h │ │ │ │ ├── napi_gen_test_command_buffer.cc │ │ │ │ ├── napi_gen_test_command_buffer.h │ │ │ │ ├── napi_gen_test_command_buffer_gen.cc │ │ │ │ ├── napi_test_context.cc │ │ │ │ ├── napi_test_context.h │ │ │ │ ├── napi_test_element.cc │ │ │ │ ├── napi_test_element.h │ │ │ │ ├── testContext.ts │ │ │ │ ├── test_async_object.idl │ │ │ │ ├── test_context.idl │ │ │ │ └── test_element.idl │ │ │ ├── test_async_object.h │ │ │ ├── test_context.cc │ │ │ ├── test_context.h │ │ │ ├── test_element.h │ │ │ ├── test_module.cc │ │ │ └── test_module.h │ │ ├── idl-codegen/ │ │ │ ├── .gitignore │ │ │ ├── IDLExtendedAttributes.txt │ │ │ ├── README.md │ │ │ ├── scripts/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── aggregate_generated_bindings.py │ │ │ │ ├── base/ │ │ │ │ │ ├── blinkbuild/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── name_style_converter.py │ │ │ │ │ └── json5_generator.py │ │ │ │ ├── bind_gen/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── blink_v8_bridge.py │ │ │ │ │ ├── callback_function.py │ │ │ │ │ ├── callback_interface.py │ │ │ │ │ ├── code_node.py │ │ │ │ │ ├── code_node_cxx.py │ │ │ │ │ ├── code_node_cxx_test.py │ │ │ │ │ ├── code_node_test.py │ │ │ │ │ ├── codegen_accumulator.py │ │ │ │ │ ├── codegen_context.py │ │ │ │ │ ├── codegen_expr.py │ │ │ │ │ ├── codegen_format.py │ │ │ │ │ ├── codegen_utils.py │ │ │ │ │ ├── dictionary.py │ │ │ │ │ ├── enumeration.py │ │ │ │ │ ├── interface.py │ │ │ │ │ ├── mako_renderer.py │ │ │ │ │ ├── name_style.py │ │ │ │ │ ├── namespace.py │ │ │ │ │ ├── package_initializer.py │ │ │ │ │ ├── path_manager.py │ │ │ │ │ ├── style_format.py │ │ │ │ │ ├── task_queue.py │ │ │ │ │ └── union.py │ │ │ │ ├── blink_idl_lexer.py │ │ │ │ ├── blink_idl_parser.py │ │ │ │ ├── blink_idl_parser_test.py │ │ │ │ ├── build_web_idl_database.py │ │ │ │ ├── build_web_idl_database.pydeps │ │ │ │ ├── code_generator.py │ │ │ │ ├── code_generator_napi.py │ │ │ │ ├── collect_idl_files.py │ │ │ │ ├── collect_idl_files.pydeps │ │ │ │ ├── compute_global_objects.py │ │ │ │ ├── compute_interfaces_info_individual.py │ │ │ │ ├── compute_interfaces_info_overall.py │ │ │ │ ├── generate_bindings.py │ │ │ │ ├── generate_bindings.pydeps │ │ │ │ ├── generate_event_interfaces.py │ │ │ │ ├── generate_global_constructors.py │ │ │ │ ├── generate_init_partial_interfaces.py │ │ │ │ ├── generate_origin_trial_features.py │ │ │ │ ├── generate_v8_context_snapshot_external_references.py │ │ │ │ ├── idl_compiler.py │ │ │ │ ├── idl_definitions.py │ │ │ │ ├── idl_definitions_test.py │ │ │ │ ├── idl_parser/ │ │ │ │ │ ├── DIR_METADATA │ │ │ │ │ ├── PRESUBMIT.py │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── idl_lexer.py │ │ │ │ │ ├── idl_lexer_test.py │ │ │ │ │ ├── idl_node.py │ │ │ │ │ ├── idl_parser.py │ │ │ │ │ ├── idl_parser_test.py │ │ │ │ │ ├── run_tests.py │ │ │ │ │ ├── test_lexer/ │ │ │ │ │ │ ├── keywords.in │ │ │ │ │ │ └── values.in │ │ │ │ │ └── test_parser/ │ │ │ │ │ ├── callback_web.idl │ │ │ │ │ ├── dictionary_web.idl │ │ │ │ │ ├── interface_web.idl │ │ │ │ │ ├── namespace_web.idl │ │ │ │ │ └── typedef_web.idl │ │ │ │ ├── idl_reader.py │ │ │ │ ├── idl_types.py │ │ │ │ ├── idl_types_test.py │ │ │ │ ├── idl_validator.py │ │ │ │ ├── interface_dependency_resolver.py │ │ │ │ ├── known_modules.py │ │ │ │ ├── napi_attributes.py │ │ │ │ ├── napi_callback_function.py │ │ │ │ ├── napi_dictionary.py │ │ │ │ ├── napi_globals.py │ │ │ │ ├── napi_interface.py │ │ │ │ ├── napi_methods.py │ │ │ │ ├── napi_types.py │ │ │ │ ├── napi_utilities.py │ │ │ │ ├── overload_set_algorithm.py │ │ │ │ ├── overload_set_algorithm_test.py │ │ │ │ ├── scripts.gni │ │ │ │ ├── utilities.py │ │ │ │ └── web_idl/ │ │ │ │ ├── __init__.py │ │ │ │ ├── argument.py │ │ │ │ ├── ast_group.py │ │ │ │ ├── attribute.py │ │ │ │ ├── callback_function.py │ │ │ │ ├── callback_interface.py │ │ │ │ ├── code_generator_info.py │ │ │ │ ├── composition_parts.py │ │ │ │ ├── constant.py │ │ │ │ ├── constructor.py │ │ │ │ ├── database.py │ │ │ │ ├── database_builder.py │ │ │ │ ├── dictionary.py │ │ │ │ ├── enumeration.py │ │ │ │ ├── exposure.py │ │ │ │ ├── extended_attribute.py │ │ │ │ ├── extended_attribute_test.py │ │ │ │ ├── file_io.py │ │ │ │ ├── function_like.py │ │ │ │ ├── idl_compiler.py │ │ │ │ ├── idl_type.py │ │ │ │ ├── idl_type_test.py │ │ │ │ ├── includes.py │ │ │ │ ├── interface.py │ │ │ │ ├── ir_builder.py │ │ │ │ ├── ir_map.py │ │ │ │ ├── literal_constant.py │ │ │ │ ├── make_copy.py │ │ │ │ ├── make_copy_test.py │ │ │ │ ├── namespace.py │ │ │ │ ├── operation.py │ │ │ │ ├── reference.py │ │ │ │ ├── runtime_enabled_features.py │ │ │ │ ├── typedef.py │ │ │ │ ├── union.py │ │ │ │ ├── user_defined_type.py │ │ │ │ └── validator.py │ │ │ ├── templates/ │ │ │ │ ├── lynx_copyright_block.txt │ │ │ │ ├── lynx_copyright_block_2024.txt │ │ │ │ ├── lynx_copyright_block_js.txt │ │ │ │ ├── macros.tmpl │ │ │ │ ├── napi_callback_function.cc.tmpl │ │ │ │ ├── napi_callback_function.h.tmpl │ │ │ │ ├── napi_command_buffer.cc.tmpl │ │ │ │ ├── napi_command_buffer.h.tmpl │ │ │ │ ├── napi_dictionary.cc.tmpl │ │ │ │ ├── napi_dictionary.h.tmpl │ │ │ │ ├── napi_interface.cc.tmpl │ │ │ │ ├── napi_interface.h.tmpl │ │ │ │ ├── napi_shared_impl.cc.tmpl │ │ │ │ ├── napi_shared_impl.h.tmpl │ │ │ │ ├── opts.js.tmpl │ │ │ │ └── opts_hardcode.js.tmpl │ │ │ ├── third_party/ │ │ │ │ ├── .gitattributes │ │ │ │ ├── AUTHORS │ │ │ │ ├── CHANGES │ │ │ │ ├── DIR_METADATA │ │ │ │ ├── LICENSE │ │ │ │ ├── MANIFEST.in │ │ │ │ ├── Mako.egg-info/ │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ ├── SOURCES.txt │ │ │ │ │ ├── dependency_links.txt │ │ │ │ │ ├── entry_points.txt │ │ │ │ │ ├── not-zip-safe │ │ │ │ │ ├── requires.txt │ │ │ │ │ └── top_level.txt │ │ │ │ ├── PKG-INFO │ │ │ │ ├── README.chromium │ │ │ │ ├── README.rst │ │ │ │ ├── doc/ │ │ │ │ │ ├── _static/ │ │ │ │ │ │ ├── basic.css │ │ │ │ │ │ ├── changelog.css │ │ │ │ │ │ ├── docs.css │ │ │ │ │ │ ├── doctools.js │ │ │ │ │ │ ├── documentation_options.js │ │ │ │ │ │ ├── jquery-3.5.1.js │ │ │ │ │ │ ├── jquery.js │ │ │ │ │ │ ├── language_data.js │ │ │ │ │ │ ├── pygments.css │ │ │ │ │ │ ├── searchtools.js │ │ │ │ │ │ ├── sphinx_paramlinks.css │ │ │ │ │ │ ├── underscore-1.3.1.js │ │ │ │ │ │ └── underscore.js │ │ │ │ │ ├── build/ │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ ├── caching.rst │ │ │ │ │ │ ├── changelog.rst │ │ │ │ │ │ ├── conf.py │ │ │ │ │ │ ├── defs.rst │ │ │ │ │ │ ├── filtering.rst │ │ │ │ │ │ ├── index.rst │ │ │ │ │ │ ├── inheritance.rst │ │ │ │ │ │ ├── namespaces.rst │ │ │ │ │ │ ├── requirements.txt │ │ │ │ │ │ ├── runtime.rst │ │ │ │ │ │ ├── syntax.rst │ │ │ │ │ │ ├── unicode.rst │ │ │ │ │ │ ├── unreleased/ │ │ │ │ │ │ │ └── README.txt │ │ │ │ │ │ └── usage.rst │ │ │ │ │ ├── caching.html │ │ │ │ │ ├── changelog.html │ │ │ │ │ ├── defs.html │ │ │ │ │ ├── filtering.html │ │ │ │ │ ├── genindex.html │ │ │ │ │ ├── index.html │ │ │ │ │ ├── inheritance.html │ │ │ │ │ ├── namespaces.html │ │ │ │ │ ├── runtime.html │ │ │ │ │ ├── search.html │ │ │ │ │ ├── searchindex.js │ │ │ │ │ ├── syntax.html │ │ │ │ │ ├── unicode.html │ │ │ │ │ └── usage.html │ │ │ │ ├── examples/ │ │ │ │ │ ├── bench/ │ │ │ │ │ │ ├── basic.py │ │ │ │ │ │ ├── cheetah/ │ │ │ │ │ │ │ ├── footer.tmpl │ │ │ │ │ │ │ ├── header.tmpl │ │ │ │ │ │ │ └── template.tmpl │ │ │ │ │ │ ├── django/ │ │ │ │ │ │ │ └── templatetags/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── bench.py │ │ │ │ │ │ ├── kid/ │ │ │ │ │ │ │ ├── base.kid │ │ │ │ │ │ │ └── template.kid │ │ │ │ │ │ └── myghty/ │ │ │ │ │ │ ├── base.myt │ │ │ │ │ │ └── template.myt │ │ │ │ │ └── wsgi/ │ │ │ │ │ └── run_wsgi.py │ │ │ │ ├── jinja2/ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ ├── DIR_METADATA │ │ │ │ │ ├── Jinja2-2.10.tar.gz.md5 │ │ │ │ │ ├── Jinja2-2.10.tar.gz.sha512 │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.chromium │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _compat.py │ │ │ │ │ ├── _identifier.py │ │ │ │ │ ├── asyncfilters.py │ │ │ │ │ ├── asyncsupport.py │ │ │ │ │ ├── bccache.py │ │ │ │ │ ├── compiler.py │ │ │ │ │ ├── constants.py │ │ │ │ │ ├── debug.py │ │ │ │ │ ├── defaults.py │ │ │ │ │ ├── environment.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ ├── ext.py │ │ │ │ │ ├── filters.py │ │ │ │ │ ├── get_jinja2.sh │ │ │ │ │ ├── idtracking.py │ │ │ │ │ ├── jinja2.gni │ │ │ │ │ ├── lexer.py │ │ │ │ │ ├── loaders.py │ │ │ │ │ ├── meta.py │ │ │ │ │ ├── nativetypes.py │ │ │ │ │ ├── nodes.py │ │ │ │ │ ├── optimizer.py │ │ │ │ │ ├── parser.py │ │ │ │ │ ├── runtime.py │ │ │ │ │ ├── sandbox.py │ │ │ │ │ ├── tests.py │ │ │ │ │ ├── utils.py │ │ │ │ │ └── visitor.py │ │ │ │ ├── mako/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _ast_util.py │ │ │ │ │ ├── ast.py │ │ │ │ │ ├── cache.py │ │ │ │ │ ├── cmd.py │ │ │ │ │ ├── codegen.py │ │ │ │ │ ├── compat.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ ├── ext/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── autohandler.py │ │ │ │ │ │ ├── babelplugin.py │ │ │ │ │ │ ├── beaker_cache.py │ │ │ │ │ │ ├── extract.py │ │ │ │ │ │ ├── linguaplugin.py │ │ │ │ │ │ ├── preprocessors.py │ │ │ │ │ │ ├── pygmentplugin.py │ │ │ │ │ │ └── turbogears.py │ │ │ │ │ ├── filters.py │ │ │ │ │ ├── lexer.py │ │ │ │ │ ├── lookup.py │ │ │ │ │ ├── parsetree.py │ │ │ │ │ ├── pygen.py │ │ │ │ │ ├── pyparser.py │ │ │ │ │ ├── runtime.py │ │ │ │ │ ├── template.py │ │ │ │ │ └── util.py │ │ │ │ ├── markupsafe/ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ ├── DIR_METADATA │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── MarkupSafe-0.18.tar.gz.md5 │ │ │ │ │ ├── MarkupSafe-0.18.tar.gz.sha512 │ │ │ │ │ ├── README.chromium │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _compat.py │ │ │ │ │ ├── _constants.py │ │ │ │ │ ├── _native.py │ │ │ │ │ ├── _speedups.c │ │ │ │ │ └── get_markupsafe.sh │ │ │ │ ├── ply/ │ │ │ │ │ ├── DIR_METADATA │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.chromium │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── lex.py │ │ │ │ │ ├── license.patch │ │ │ │ │ └── yacc.py │ │ │ │ ├── pyjson5/ │ │ │ │ │ ├── DIR_METADATA │ │ │ │ │ ├── README.chromium │ │ │ │ │ └── src/ │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── MANIFEST.in │ │ │ │ │ ├── README.md │ │ │ │ │ ├── README.rst │ │ │ │ │ ├── benchmarks/ │ │ │ │ │ │ ├── chromium.linux.json │ │ │ │ │ │ ├── chromium.perf.json │ │ │ │ │ │ ├── ios-simulator.json │ │ │ │ │ │ ├── mb_config.json │ │ │ │ │ │ └── run.py │ │ │ │ │ ├── json5/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── __main__.py │ │ │ │ │ │ ├── arg_parser.py │ │ │ │ │ │ ├── fakes/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── host_fake.py │ │ │ │ │ │ ├── host.py │ │ │ │ │ │ ├── json5.g │ │ │ │ │ │ ├── lib.py │ │ │ │ │ │ ├── parser.py │ │ │ │ │ │ ├── tests/ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── coverage_test.py │ │ │ │ │ │ │ ├── json5_test.py │ │ │ │ │ │ │ └── tool_test.py │ │ │ │ │ │ ├── tool.py │ │ │ │ │ │ └── version.py │ │ │ │ │ ├── pylintrc │ │ │ │ │ ├── run │ │ │ │ │ ├── sample.json5 │ │ │ │ │ ├── setup.cfg │ │ │ │ │ ├── setup.py │ │ │ │ │ └── tests/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── host_fake.py │ │ │ │ │ ├── host_test.py │ │ │ │ │ ├── lib_test.py │ │ │ │ │ └── tool_test.py │ │ │ │ ├── setup.cfg │ │ │ │ ├── setup.py │ │ │ │ ├── tox.ini │ │ │ │ └── typ/ │ │ │ │ ├── BUILD.gn │ │ │ │ ├── LICENSE │ │ │ │ ├── README.chromium │ │ │ │ ├── README.rst │ │ │ │ ├── pylintrc │ │ │ │ ├── run │ │ │ │ ├── setup.cfg │ │ │ │ ├── setup.py │ │ │ │ ├── tools/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── cov.py │ │ │ │ └── typ/ │ │ │ │ ├── __init__.py │ │ │ │ ├── __main__.py │ │ │ │ ├── arg_parser.py │ │ │ │ ├── artifacts.py │ │ │ │ ├── expectations_parser.py │ │ │ │ ├── fakes/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── host_fake.py │ │ │ │ │ ├── test_result_server_fake.py │ │ │ │ │ └── tests/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── host_fake_test.py │ │ │ │ │ └── test_result_server_fake_test.py │ │ │ │ ├── host.py │ │ │ │ ├── json_results.py │ │ │ │ ├── pool.py │ │ │ │ ├── printer.py │ │ │ │ ├── python_2_3_compat.py │ │ │ │ ├── result_sink.py │ │ │ │ ├── runner.py │ │ │ │ ├── stats.py │ │ │ │ ├── test_case.py │ │ │ │ ├── tests/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── arg_parser_test.py │ │ │ │ │ ├── artifacts_test.py │ │ │ │ │ ├── expectations_parser_test.py │ │ │ │ │ ├── host_test.py │ │ │ │ │ ├── json_results_test.py │ │ │ │ │ ├── main_test.py │ │ │ │ │ ├── pool_test.py │ │ │ │ │ ├── printer_test.py │ │ │ │ │ ├── result_sink_test.py │ │ │ │ │ ├── runner_test.py │ │ │ │ │ ├── stats_test.py │ │ │ │ │ └── test_case_test.py │ │ │ │ └── version.py │ │ │ └── tools/ │ │ │ ├── blink_idls/ │ │ │ │ └── core/ │ │ │ │ └── uint8_array.idl │ │ │ ├── blinkpy/ │ │ │ │ ├── __init__.py │ │ │ │ ├── bindings/ │ │ │ │ │ ├── DIR_METADATA │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── bindings_tests.py │ │ │ │ │ ├── collect_idls_into_json.py │ │ │ │ │ ├── collect_idls_into_json_test.py │ │ │ │ │ ├── generate_idl_diff.py │ │ │ │ │ ├── generate_idl_diff_test.py │ │ │ │ │ ├── print_idl_diff.py │ │ │ │ │ └── testdata/ │ │ │ │ │ ├── new_blink_idls.json │ │ │ │ │ ├── old_blink_idls.json │ │ │ │ │ ├── test_filepath.txt │ │ │ │ │ └── test_interface.idl │ │ │ │ └── common/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base85.py │ │ │ │ ├── base85_unittest.py │ │ │ │ ├── checkout/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── baseline_optimizer.py │ │ │ │ │ ├── baseline_optimizer_unittest.py │ │ │ │ │ ├── diff_parser.py │ │ │ │ │ ├── diff_parser_unittest.py │ │ │ │ │ ├── diff_test_data.py │ │ │ │ │ ├── git.py │ │ │ │ │ ├── git_mock.py │ │ │ │ │ └── git_unittest.py │ │ │ │ ├── config/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── builders.json │ │ │ │ ├── exit_codes.py │ │ │ │ ├── find_files.py │ │ │ │ ├── find_files_unittest.py │ │ │ │ ├── host.py │ │ │ │ ├── host_mock.py │ │ │ │ ├── html_diff.py │ │ │ │ ├── html_diff_unittest.py │ │ │ │ ├── memoized.py │ │ │ │ ├── memoized_unittest.py │ │ │ │ ├── message_pool.py │ │ │ │ ├── multiprocessing_bootstrap.py │ │ │ │ ├── net/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── file_uploader.py │ │ │ │ │ ├── git_cl.py │ │ │ │ │ ├── git_cl_mock.py │ │ │ │ │ ├── git_cl_unittest.py │ │ │ │ │ ├── luci_auth.py │ │ │ │ │ ├── luci_auth_unittest.py │ │ │ │ │ ├── network_transaction.py │ │ │ │ │ ├── network_transaction_unittest.py │ │ │ │ │ ├── results_fetcher.py │ │ │ │ │ ├── results_fetcher_mock.py │ │ │ │ │ ├── results_fetcher_test.py │ │ │ │ │ ├── web.py │ │ │ │ │ ├── web_mock.py │ │ │ │ │ ├── web_test_results.py │ │ │ │ │ └── web_test_results_unittest.py │ │ │ │ ├── path_finder.py │ │ │ │ ├── path_finder_unittest.py │ │ │ │ ├── pretty_diff.py │ │ │ │ ├── pretty_diff_unittest.py │ │ │ │ ├── read_checksum_from_png.py │ │ │ │ ├── read_checksum_from_png_unittest.py │ │ │ │ ├── system/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── crash_logs.py │ │ │ │ │ ├── crash_logs_unittest.py │ │ │ │ │ ├── executive.py │ │ │ │ │ ├── executive_mock.py │ │ │ │ │ ├── executive_unittest.py │ │ │ │ │ ├── filesystem.py │ │ │ │ │ ├── filesystem_mock.py │ │ │ │ │ ├── filesystem_mock_unittest.py │ │ │ │ │ ├── filesystem_unittest.py │ │ │ │ │ ├── log_testing.py │ │ │ │ │ ├── log_testing_unittest.py │ │ │ │ │ ├── log_utils.py │ │ │ │ │ ├── log_utils_unittest.py │ │ │ │ │ ├── output_capture.py │ │ │ │ │ ├── output_capture_unittest.py │ │ │ │ │ ├── path.py │ │ │ │ │ ├── path_unittest.py │ │ │ │ │ ├── platform_info.py │ │ │ │ │ ├── platform_info_mock.py │ │ │ │ │ ├── platform_info_unittest.py │ │ │ │ │ ├── profiler.py │ │ │ │ │ ├── profiler_unittest.py │ │ │ │ │ ├── stack_utils.py │ │ │ │ │ ├── stack_utils_unittest.py │ │ │ │ │ ├── system_host.py │ │ │ │ │ ├── system_host_mock.py │ │ │ │ │ ├── user.py │ │ │ │ │ ├── user_mock.py │ │ │ │ │ └── user_unittest.py │ │ │ │ ├── unified_diff.py │ │ │ │ ├── unified_diff_unittest.py │ │ │ │ └── version_check.py │ │ │ ├── gen_bindings.py │ │ │ └── run_bindings_tests.py │ │ └── napi/ │ │ ├── BUILD.gn │ │ ├── array_buffer_view.h │ │ ├── callback_helper.cc │ │ ├── callback_helper.h │ │ ├── exception_message.cc │ │ ├── exception_message.h │ │ ├── exception_state.h │ │ ├── napi_base_wrap.cc │ │ ├── napi_base_wrap.h │ │ ├── napi_binding_unittest.cc │ │ ├── napi_bridge.cc │ │ ├── napi_bridge.h │ │ ├── napi_object.cc │ │ ├── napi_object.h │ │ ├── napi_object_ref.cc │ │ ├── napi_object_ref.h │ │ ├── napi_value.cc │ │ ├── napi_value.h │ │ ├── native_value_traits.cc │ │ ├── native_value_traits.h │ │ └── shim/ │ │ ├── README.md │ │ ├── shim_napi.h │ │ ├── shim_napi_env.h │ │ └── shim_napi_runtime.h │ ├── double-conversion/ │ │ ├── BUILD.gn │ │ ├── CMakeLists.txt │ │ ├── LICENSE │ │ ├── README │ │ ├── README.lynx │ │ └── double-conversion/ │ │ ├── bignum-dtoa.cc │ │ ├── bignum-dtoa.h │ │ ├── bignum.cc │ │ ├── bignum.h │ │ ├── cached-powers.cc │ │ ├── cached-powers.h │ │ ├── diy-fp.h │ │ ├── double-conversion.h │ │ ├── double-to-string.cc │ │ ├── double-to-string.h │ │ ├── fast-dtoa.cc │ │ ├── fast-dtoa.h │ │ ├── fixed-dtoa.cc │ │ ├── fixed-dtoa.h │ │ ├── ieee.h │ │ ├── string-to-double.cc │ │ ├── string-to-double.h │ │ ├── strtod.cc │ │ ├── strtod.h │ │ └── utils.h │ ├── jsoncpp/ │ │ ├── .clang-format │ │ ├── .travis.yml │ │ ├── AUTHORS │ │ ├── BUILD.gn │ │ ├── CMakeLists.txt │ │ ├── LICENSE │ │ ├── NEWS.txt │ │ ├── README.md │ │ ├── SConstruct │ │ ├── amalgamate.py │ │ ├── appveyor.yml │ │ ├── dev.makefile │ │ ├── devtools/ │ │ │ ├── __init__.py │ │ │ ├── agent_vmw7.json │ │ │ ├── agent_vmxp.json │ │ │ ├── antglob.py │ │ │ ├── batchbuild.py │ │ │ ├── fixeol.py │ │ │ ├── licenseupdater.py │ │ │ └── tarball.py │ │ ├── doc/ │ │ │ ├── doxyfile.in │ │ │ ├── footer.html │ │ │ ├── header.html │ │ │ ├── jsoncpp.dox │ │ │ ├── readme.txt │ │ │ ├── roadmap.dox │ │ │ └── web_doxyfile.in │ │ ├── doxybuild.py │ │ ├── include/ │ │ │ ├── CMakeLists.txt │ │ │ └── json/ │ │ │ ├── allocator.h │ │ │ ├── assertions.h │ │ │ ├── autolink.h │ │ │ ├── config.h │ │ │ ├── features.h │ │ │ ├── forwards.h │ │ │ ├── json.h │ │ │ ├── reader.h │ │ │ ├── value.h │ │ │ ├── version.h │ │ │ └── writer.h │ │ ├── makefiles/ │ │ │ └── vs71/ │ │ │ ├── jsontest.vcproj │ │ │ ├── lib_json.vcproj │ │ │ └── test_lib_json.vcproj │ │ ├── makerelease.py │ │ ├── meson.build │ │ ├── pkg-config/ │ │ │ └── jsoncpp.pc.in │ │ ├── scons-tools/ │ │ │ ├── globtool.py │ │ │ ├── srcdist.py │ │ │ ├── substinfile.py │ │ │ └── targz.py │ │ ├── src/ │ │ │ ├── CMakeLists.txt │ │ │ ├── jsontestrunner/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── main.cpp │ │ │ │ └── sconscript │ │ │ ├── lib_json/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── json_reader.cpp │ │ │ │ ├── json_tool.h │ │ │ │ ├── json_value.cpp │ │ │ │ ├── json_valueiterator.inl │ │ │ │ ├── json_writer.cpp │ │ │ │ ├── sconscript │ │ │ │ └── version.h.in │ │ │ └── test_lib_json/ │ │ │ ├── CMakeLists.txt │ │ │ ├── jsontest.cpp │ │ │ ├── jsontest.h │ │ │ ├── main.cpp │ │ │ └── sconscript │ │ ├── test/ │ │ │ ├── cleantests.py │ │ │ ├── data/ │ │ │ │ ├── fail_test_array_01.json │ │ │ │ ├── fail_test_stack_limit.json │ │ │ │ ├── test_array_01.expected │ │ │ │ ├── test_array_01.json │ │ │ │ ├── test_array_02.expected │ │ │ │ ├── test_array_02.json │ │ │ │ ├── test_array_03.expected │ │ │ │ ├── test_array_03.json │ │ │ │ ├── test_array_04.expected │ │ │ │ ├── test_array_04.json │ │ │ │ ├── test_array_05.expected │ │ │ │ ├── test_array_05.json │ │ │ │ ├── test_array_06.expected │ │ │ │ ├── test_array_06.json │ │ │ │ ├── test_array_07.expected │ │ │ │ ├── test_array_07.json │ │ │ │ ├── test_basic_01.expected │ │ │ │ ├── test_basic_01.json │ │ │ │ ├── test_basic_02.expected │ │ │ │ ├── test_basic_02.json │ │ │ │ ├── test_basic_03.expected │ │ │ │ ├── test_basic_03.json │ │ │ │ ├── test_basic_04.expected │ │ │ │ ├── test_basic_04.json │ │ │ │ ├── test_basic_05.expected │ │ │ │ ├── test_basic_05.json │ │ │ │ ├── test_basic_06.expected │ │ │ │ ├── test_basic_06.json │ │ │ │ ├── test_basic_07.expected │ │ │ │ ├── test_basic_07.json │ │ │ │ ├── test_basic_08.expected │ │ │ │ ├── test_basic_08.json │ │ │ │ ├── test_basic_09.expected │ │ │ │ ├── test_basic_09.json │ │ │ │ ├── test_comment_00.expected │ │ │ │ ├── test_comment_00.json │ │ │ │ ├── test_comment_01.expected │ │ │ │ ├── test_comment_01.json │ │ │ │ ├── test_comment_02.expected │ │ │ │ ├── test_comment_02.json │ │ │ │ ├── test_complex_01.expected │ │ │ │ ├── test_complex_01.json │ │ │ │ ├── test_integer_01.expected │ │ │ │ ├── test_integer_01.json │ │ │ │ ├── test_integer_02.expected │ │ │ │ ├── test_integer_02.json │ │ │ │ ├── test_integer_03.expected │ │ │ │ ├── test_integer_03.json │ │ │ │ ├── test_integer_04.expected │ │ │ │ ├── test_integer_04.json │ │ │ │ ├── test_integer_05.expected │ │ │ │ ├── test_integer_05.json │ │ │ │ ├── test_integer_06_64bits.expected │ │ │ │ ├── test_integer_06_64bits.json │ │ │ │ ├── test_integer_07_64bits.expected │ │ │ │ ├── test_integer_07_64bits.json │ │ │ │ ├── test_integer_08_64bits.expected │ │ │ │ ├── test_integer_08_64bits.json │ │ │ │ ├── test_large_01.expected │ │ │ │ ├── test_large_01.json │ │ │ │ ├── test_object_01.expected │ │ │ │ ├── test_object_01.json │ │ │ │ ├── test_object_02.expected │ │ │ │ ├── test_object_02.json │ │ │ │ ├── test_object_03.expected │ │ │ │ ├── test_object_03.json │ │ │ │ ├── test_object_04.expected │ │ │ │ ├── test_object_04.json │ │ │ │ ├── test_preserve_comment_01.expected │ │ │ │ ├── test_preserve_comment_01.json │ │ │ │ ├── test_real_01.expected │ │ │ │ ├── test_real_01.json │ │ │ │ ├── test_real_02.expected │ │ │ │ ├── test_real_02.json │ │ │ │ ├── test_real_03.expected │ │ │ │ ├── test_real_03.json │ │ │ │ ├── test_real_04.expected │ │ │ │ ├── test_real_04.json │ │ │ │ ├── test_real_05.expected │ │ │ │ ├── test_real_05.json │ │ │ │ ├── test_real_06.expected │ │ │ │ ├── test_real_06.json │ │ │ │ ├── test_real_07.expected │ │ │ │ ├── test_real_07.json │ │ │ │ ├── test_real_08.expected │ │ │ │ ├── test_real_08.json │ │ │ │ ├── test_real_09.expected │ │ │ │ ├── test_real_09.json │ │ │ │ ├── test_real_10.expected │ │ │ │ ├── test_real_10.json │ │ │ │ ├── test_real_11.expected │ │ │ │ ├── test_real_11.json │ │ │ │ ├── test_real_12.expected │ │ │ │ ├── test_real_12.json │ │ │ │ ├── test_string_01.expected │ │ │ │ ├── test_string_01.json │ │ │ │ ├── test_string_02.expected │ │ │ │ ├── test_string_02.json │ │ │ │ ├── test_string_03.expected │ │ │ │ ├── test_string_03.json │ │ │ │ ├── test_string_04.expected │ │ │ │ ├── test_string_04.json │ │ │ │ ├── test_string_05.expected │ │ │ │ ├── test_string_05.json │ │ │ │ ├── test_string_unicode_01.expected │ │ │ │ ├── test_string_unicode_01.json │ │ │ │ ├── test_string_unicode_02.expected │ │ │ │ ├── test_string_unicode_02.json │ │ │ │ ├── test_string_unicode_03.expected │ │ │ │ ├── test_string_unicode_03.json │ │ │ │ ├── test_string_unicode_04.expected │ │ │ │ ├── test_string_unicode_04.json │ │ │ │ ├── test_string_unicode_05.expected │ │ │ │ └── test_string_unicode_05.json │ │ │ ├── generate_expected.py │ │ │ ├── jsonchecker/ │ │ │ │ ├── fail1.json │ │ │ │ ├── fail10.json │ │ │ │ ├── fail11.json │ │ │ │ ├── fail12.json │ │ │ │ ├── fail13.json │ │ │ │ ├── fail14.json │ │ │ │ ├── fail15.json │ │ │ │ ├── fail16.json │ │ │ │ ├── fail17.json │ │ │ │ ├── fail18.json │ │ │ │ ├── fail19.json │ │ │ │ ├── fail2.json │ │ │ │ ├── fail20.json │ │ │ │ ├── fail21.json │ │ │ │ ├── fail22.json │ │ │ │ ├── fail23.json │ │ │ │ ├── fail24.json │ │ │ │ ├── fail25.json │ │ │ │ ├── fail26.json │ │ │ │ ├── fail27.json │ │ │ │ ├── fail28.json │ │ │ │ ├── fail29.json │ │ │ │ ├── fail3.json │ │ │ │ ├── fail30.json │ │ │ │ ├── fail31.json │ │ │ │ ├── fail32.json │ │ │ │ ├── fail33.json │ │ │ │ ├── fail4.json │ │ │ │ ├── fail5.json │ │ │ │ ├── fail6.json │ │ │ │ ├── fail7.json │ │ │ │ ├── fail8.json │ │ │ │ ├── fail9.json │ │ │ │ ├── pass1.json │ │ │ │ ├── pass2.json │ │ │ │ ├── pass3.json │ │ │ │ └── readme.txt │ │ │ ├── pyjsontestrunner.py │ │ │ ├── runjsontests.py │ │ │ └── rununittests.py │ │ ├── travis.sh │ │ ├── version │ │ └── version.in │ ├── napi/ │ │ ├── BUILD.gn │ │ ├── LICENSE │ │ └── include/ │ │ ├── code_cache.h │ │ ├── js_native_api.h │ │ ├── js_native_api_adapter.h │ │ ├── js_native_api_types.h │ │ ├── napi.h │ │ ├── napi_env.h │ │ ├── napi_env_harmony.h │ │ ├── napi_env_jsc.h │ │ ├── napi_env_quickjs.h │ │ ├── napi_env_v8.h │ │ ├── napi_module.h │ │ ├── napi_runtime.h │ │ ├── napi_state.h │ │ ├── primjs_napi_defines.h │ │ └── primjs_napi_undefs.h │ ├── quickjs/ │ │ ├── BUILD.gn │ │ ├── LICENSE │ │ └── include/ │ │ ├── allocator.h │ │ ├── base_export.h │ │ ├── cutils.h │ │ ├── global-handles.h │ │ ├── libregexp.h │ │ ├── libunicode.h │ │ ├── list.h │ │ ├── persistent-handle.h │ │ ├── quickjs-libc.h │ │ ├── quickjs-tag.h │ │ ├── quickjs.h │ │ └── trace-gc.h │ ├── rapidjson/ │ │ ├── BUILD.gn │ │ ├── allocators.h │ │ ├── build.gni │ │ ├── cursorstreamwrapper.h │ │ ├── document.h │ │ ├── encodedstream.h │ │ ├── encodings.h │ │ ├── error/ │ │ │ ├── en.h │ │ │ └── error.h │ │ ├── filereadstream.h │ │ ├── filewritestream.h │ │ ├── fwd_c.h │ │ ├── internal/ │ │ │ ├── biginteger.h │ │ │ ├── diyfp.h │ │ │ ├── dtoa.h │ │ │ ├── ieee754.h │ │ │ ├── itoa.h │ │ │ ├── meta.h │ │ │ ├── pow10.cc │ │ │ ├── pow10.h │ │ │ ├── pow10_unittest.cc │ │ │ ├── regex.h │ │ │ ├── stack.h │ │ │ ├── strfunc.h │ │ │ ├── strtod.h │ │ │ └── swap.h │ │ ├── istreamwrapper.h │ │ ├── license.txt │ │ ├── memorybuffer.h │ │ ├── memorystream.h │ │ ├── msinttypes/ │ │ │ ├── inttypes.h │ │ │ └── stdint.h │ │ ├── ostreamwrapper.h │ │ ├── pointer.h │ │ ├── prettywriter.h │ │ ├── rapidjson.gni │ │ ├── rapidjson.h │ │ ├── reader.h │ │ ├── readme.md │ │ ├── readme.zh-cn.md │ │ ├── schema.h │ │ ├── stream.h │ │ ├── stringbuffer.h │ │ └── writer.h │ └── weak-node-api/ │ ├── .gitignore │ ├── BUILD.gn │ ├── package.json │ └── setup_deps.py ├── tools/ │ ├── android_tools/ │ │ ├── BUILD.gn │ │ ├── prepare_android_build.py │ │ └── update_local_properties.py │ ├── api/ │ │ ├── __init__.py │ │ ├── api_doc.py │ │ ├── api_dump.py │ │ ├── api_utils.py │ │ ├── config.yml │ │ ├── docs/ │ │ │ ├── __init__.py │ │ │ └── templates/ │ │ │ ├── add-lynx-view-client.mdx │ │ │ ├── load-template.mdx │ │ │ ├── lynx-native-api-template.mdx │ │ │ └── set-extra-timing.mdx │ │ ├── env_setup.py │ │ ├── main.py │ │ ├── metadata_def.py │ │ ├── misc/ │ │ │ ├── doxygen-awesome-fragment-copy-button.js │ │ │ ├── doxygen-awesome-interactive-toc.js │ │ │ ├── doxygen-awesome-paragraph-link.js │ │ │ ├── doxygen-awesome.css │ │ │ └── header.html │ │ └── parser/ │ │ ├── __init__.py │ │ ├── doxygen/ │ │ │ ├── __init__.py │ │ │ ├── common_parse.py │ │ │ ├── compounddef_parse.py │ │ │ ├── doxygen_config.py │ │ │ ├── doxygen_parser.py │ │ │ └── memberdef_parse.py │ │ └── ts_morph/ │ │ ├── __init__.py │ │ ├── api-parser.ts │ │ ├── cli.ts │ │ ├── harmony_parser.py │ │ ├── metadata-def.ts │ │ ├── package.json │ │ └── tsconfig.json │ ├── buildtools_helper.py │ ├── ci/ │ │ └── habitat_cache_helper.py │ ├── cliff.toml │ ├── config/ │ │ ├── __init__.py │ │ ├── check_and_run.py │ │ ├── config_def.py │ │ ├── config_env.py │ │ ├── config_utils.py │ │ ├── gen_config.py │ │ └── templates/ │ │ ├── compiler_options_types.tmpl │ │ ├── config_keys.tmpl │ │ ├── config_types.tmpl │ │ ├── lynx_config_doc.tmpl │ │ ├── test_js.tmpl │ │ └── test_types.tmpl │ ├── css_generator/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── css_define_json_schema/ │ │ │ └── css_define_with_doc.schema.json │ │ ├── css_defines/ │ │ │ ├── 1-top.json │ │ │ ├── 10-border-top-color.json │ │ │ ├── 100-background-origin.json │ │ │ ├── 101-background-repeat.json │ │ │ ├── 102-background-size.json │ │ │ ├── 103-border.json │ │ │ ├── 104-visibility.json │ │ │ ├── 105-border-right.json │ │ │ ├── 106-border-left.json │ │ │ ├── 107-border-top.json │ │ │ ├── 108-border-bottom.json │ │ │ ├── 109-transition.json │ │ │ ├── 11-border-bottom-color.json │ │ │ ├── 110-transition-property.json │ │ │ ├── 111-transition-duration.json │ │ │ ├── 112-transition-delay.json │ │ │ ├── 113-transition-timing-function.json │ │ │ ├── 114-content.json │ │ │ ├── 115-border-left-style.json │ │ │ ├── 116-border-right-style.json │ │ │ ├── 117-border-top-style.json │ │ │ ├── 118-border-bottom-style.json │ │ │ ├── 119-implicit-animation.json │ │ │ ├── 12-border-radius.json │ │ │ ├── 120-overflow-x.json │ │ │ ├── 121-overflow-y.json │ │ │ ├── 122-word-break.json │ │ │ ├── 123-background-clip.json │ │ │ ├── 124-outline.json │ │ │ ├── 125-outline-color.json │ │ │ ├── 126-outline-style.json │ │ │ ├── 127-outline-width.json │ │ │ ├── 128-vertical-align.json │ │ │ ├── 129-caret-color.json │ │ │ ├── 13-border-top-left-radius.json │ │ │ ├── 130-direction.json │ │ │ ├── 131-relative-id.json │ │ │ ├── 132-relative-align-top.json │ │ │ ├── 133-relative-align-right.json │ │ │ ├── 134-relative-align-bottom.json │ │ │ ├── 135-relative-align-left.json │ │ │ ├── 136-relative-top-of.json │ │ │ ├── 137-relative-right-of.json │ │ │ ├── 138-relative-bottom-of.json │ │ │ ├── 139-relative-left-of.json │ │ │ ├── 14-border-bottom-left-radius.json │ │ │ ├── 140-relative-layout-once.json │ │ │ ├── 141-relative-center.json │ │ │ ├── 142-enter-transition-name.json │ │ │ ├── 143-exit-transition-name.json │ │ │ ├── 144-pause-transition-name.json │ │ │ ├── 145-resume-transition-name.json │ │ │ ├── 146-flex-flow.json │ │ │ ├── 147-z-index.json │ │ │ ├── 148-text-decoration-color.json │ │ │ ├── 149-linear-cross-gravity.json │ │ │ ├── 15-border-top-right-radius.json │ │ │ ├── 150-margin-inline-start.json │ │ │ ├── 151-margin-inline-end.json │ │ │ ├── 152-padding-inline-start.json │ │ │ ├── 153-padding-inline-end.json │ │ │ ├── 154-border-inline-start-color.json │ │ │ ├── 155-border-inline-end-color.json │ │ │ ├── 156-border-inline-start-width.json │ │ │ ├── 157-border-inline-end-width.json │ │ │ ├── 158-border-inline-start-style.json │ │ │ ├── 159-border-inline-end-style.json │ │ │ ├── 16-border-bottom-right-radius.json │ │ │ ├── 160-border-start-start-radius.json │ │ │ ├── 161-border-end-start-radius.json │ │ │ ├── 162-border-start-end-radius.json │ │ │ ├── 163-border-end-end-radius.json │ │ │ ├── 164-relative-align-inline-start.json │ │ │ ├── 165-relative-align-inline-end.json │ │ │ ├── 166-relative-inline-start-of.json │ │ │ ├── 167-relative-inline-end-of.json │ │ │ ├── 168-inset-inline-start.json │ │ │ ├── 169-inset-inline-end.json │ │ │ ├── 17-border-width.json │ │ │ ├── 170-mask-image.json │ │ │ ├── 171-grid-template-columns.json │ │ │ ├── 172-grid-template-rows.json │ │ │ ├── 173-grid-auto-columns.json │ │ │ ├── 174-grid-auto-rows.json │ │ │ ├── 175-grid-column-span.json │ │ │ ├── 176-grid-row-span.json │ │ │ ├── 177-grid-column-start.json │ │ │ ├── 178-grid-column-end.json │ │ │ ├── 179-grid-row-start.json │ │ │ ├── 18-border-left-width.json │ │ │ ├── 180-grid-row-end.json │ │ │ ├── 181-grid-column-gap.json │ │ │ ├── 182-grid-row-gap.json │ │ │ ├── 183-justify-items.json │ │ │ ├── 184-justify-self.json │ │ │ ├── 185-grid-auto-flow.json │ │ │ ├── 186-filter.json │ │ │ ├── 187-list-main-axis-gap.json │ │ │ ├── 188-list-cross-axis-gap.json │ │ │ ├── 189-linear-direction.json │ │ │ ├── 19-border-right-width.json │ │ │ ├── 190-perspective.json │ │ │ ├── 191-cursor.json │ │ │ ├── 192-text-indent.json │ │ │ ├── 193-clip-path.json │ │ │ ├── 194-text-stroke.json │ │ │ ├── 195-text-stroke-width.json │ │ │ ├── 196-text-stroke-color.json │ │ │ ├── 197--x-auto-font-size.json │ │ │ ├── 198--x-auto-font-size-preset-sizes.json │ │ │ ├── 199-mask.json │ │ │ ├── 2-left.json │ │ │ ├── 20-border-top-width.json │ │ │ ├── 200-mask-repeat.json │ │ │ ├── 201-mask-position.json │ │ │ ├── 202-mask-clip.json │ │ │ ├── 203-mask-origin.json │ │ │ ├── 204-mask-size.json │ │ │ ├── 205-gap.json │ │ │ ├── 206-column-gap.json │ │ │ ├── 207-row-gap.json │ │ │ ├── 208-image-rendering.json │ │ │ ├── 209-hyphens.json │ │ │ ├── 21-border-bottom-width.json │ │ │ ├── 210--x-app-region.json │ │ │ ├── 211--x-animation-color-interpolation.json │ │ │ ├── 212--x-handle-size.json │ │ │ ├── 213--x-handle-color.json │ │ │ ├── 214-offset-distance.json │ │ │ ├── 215-offset-path.json │ │ │ ├── 216-offset-rotate.json │ │ │ ├── 217-font-variation-settings.json │ │ │ ├── 218-font-feature-settings.json │ │ │ ├── 219-font-optical-sizing.json │ │ │ ├── 22-color.json │ │ │ ├── 220--x-placeholder-color.json │ │ │ ├── 221--x-placeholder-font-family.json │ │ │ ├── 222--x-placeholder-font-size.json │ │ │ ├── 223--x-placeholder-font-weight.json │ │ │ ├── 224--x-placeholder-font-style.json │ │ │ ├── 225-pointer-events.json │ │ │ ├── 23-opacity.json │ │ │ ├── 24-display.json │ │ │ ├── 25-overflow.json │ │ │ ├── 26-height.json │ │ │ ├── 27-width.json │ │ │ ├── 28-max-width.json │ │ │ ├── 29-min-width.json │ │ │ ├── 3-right.json │ │ │ ├── 30-max-height.json │ │ │ ├── 31-min-height.json │ │ │ ├── 32-padding.json │ │ │ ├── 33-padding-left.json │ │ │ ├── 34-padding-right.json │ │ │ ├── 35-padding-top.json │ │ │ ├── 36-padding-bottom.json │ │ │ ├── 37-margin.json │ │ │ ├── 38-margin-left.json │ │ │ ├── 39-margin-right.json │ │ │ ├── 4-bottom.json │ │ │ ├── 40-margin-top.json │ │ │ ├── 41-margin-bottom.json │ │ │ ├── 42-white-space.json │ │ │ ├── 43-letter-spacing.json │ │ │ ├── 44-text-align.json │ │ │ ├── 45-line-height.json │ │ │ ├── 46-text-overflow.json │ │ │ ├── 47-font-size.json │ │ │ ├── 48-font-weight.json │ │ │ ├── 49-flex.json │ │ │ ├── 5-position.json │ │ │ ├── 50-flex-grow.json │ │ │ ├── 51-flex-shrink.json │ │ │ ├── 52-flex-basis.json │ │ │ ├── 53-flex-direction.json │ │ │ ├── 54-flex-wrap.json │ │ │ ├── 55-align-items.json │ │ │ ├── 56-align-self.json │ │ │ ├── 57-align-content.json │ │ │ ├── 58-justify-content.json │ │ │ ├── 59-background.json │ │ │ ├── 6-box-sizing.json │ │ │ ├── 60-border-color.json │ │ │ ├── 61-font-family.json │ │ │ ├── 62-font-style.json │ │ │ ├── 63-transform.json │ │ │ ├── 64-animation.json │ │ │ ├── 65-animation-name.json │ │ │ ├── 66-animation-duration.json │ │ │ ├── 67-animation-timing-function.json │ │ │ ├── 68-animation-delay.json │ │ │ ├── 69-animation-iteration-count.json │ │ │ ├── 7-background-color.json │ │ │ ├── 70-animation-direction.json │ │ │ ├── 71-animation-fill-mode.json │ │ │ ├── 72-animation-play-state.json │ │ │ ├── 73-line-spacing.json │ │ │ ├── 74-border-style.json │ │ │ ├── 75-order.json │ │ │ ├── 76-box-shadow.json │ │ │ ├── 77-transform-origin.json │ │ │ ├── 78-linear-orientation.json │ │ │ ├── 79-linear-weight-sum.json │ │ │ ├── 8-border-left-color.json │ │ │ ├── 80-linear-weight.json │ │ │ ├── 81-linear-gravity.json │ │ │ ├── 82-linear-layout-gravity.json │ │ │ ├── 83-layout-animation-create-duration.json │ │ │ ├── 84-layout-animation-create-timing-function.json │ │ │ ├── 85-layout-animation-create-delay.json │ │ │ ├── 86-layout-animation-create-property.json │ │ │ ├── 87-layout-animation-delete-duration.json │ │ │ ├── 88-layout-animation-delete-timing-function.json │ │ │ ├── 89-layout-animation-delete-delay.json │ │ │ ├── 9-border-right-color.json │ │ │ ├── 90-layout-animation-delete-property.json │ │ │ ├── 91-layout-animation-update-duration.json │ │ │ ├── 92-layout-animation-update-timing-function.json │ │ │ ├── 93-layout-animation-update-delay.json │ │ │ ├── 94-adapt-font-size.json │ │ │ ├── 95-aspect-ratio.json │ │ │ ├── 96-text-decoration.json │ │ │ ├── 97-text-shadow.json │ │ │ ├── 98-background-image.json │ │ │ └── 99-background-position.json │ │ ├── css_parser_generator.py │ │ ├── css_parser_gn_generator.py │ │ ├── css_property_generator.py │ │ ├── enum_css_generator.py │ │ ├── generate_layout_property.py │ │ ├── generate_types.py │ │ ├── index.d.ts │ │ ├── index.d.ts.mako │ │ ├── package.json │ │ ├── property_index.json │ │ ├── scripts/ │ │ │ ├── generate-types.ts │ │ │ ├── test-validation.ts │ │ │ └── validate.ts │ │ ├── test/ │ │ │ └── css_defines/ │ │ │ ├── invalid-consumption.json │ │ │ ├── invalid-type.json │ │ │ └── missing-required.json │ │ ├── tsconfig.json │ │ ├── utils.py │ │ └── value_defines/ │ │ └── value_defines.json │ ├── envsetup.ps1 │ ├── envsetup.sh │ ├── error_code/ │ │ ├── README.md │ │ ├── checker/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── error_code_def_checker.py │ │ │ ├── metadata_checker.py │ │ │ └── spec_checker.py │ │ ├── common.py │ │ ├── error_code.yaml │ │ ├── gen_error_code.py │ │ └── generator/ │ │ ├── __init__.py │ │ ├── android/ │ │ │ ├── __init__.py │ │ │ ├── android_base.py │ │ │ ├── android_generator.py │ │ │ ├── behavior_file_generator.py │ │ │ └── sub_code_file_generator.py │ │ ├── base_generator.py │ │ ├── code_generator.py │ │ ├── darwin/ │ │ │ ├── __init__.py │ │ │ ├── behavior_header_generator.py │ │ │ ├── behavior_src_generator.py │ │ │ ├── darwin_base.py │ │ │ ├── darwin_generator.py │ │ │ ├── sub_code_header_generator.py │ │ │ └── sub_code_src_generator.py │ │ ├── harmony/ │ │ │ ├── __init__.py │ │ │ ├── behavior_file_generator.py │ │ │ ├── harmony_common.py │ │ │ ├── harmony_generator.py │ │ │ └── sub_code_file_generator.py │ │ ├── native/ │ │ │ ├── __init__.py │ │ │ ├── native_common.py │ │ │ ├── native_generator.py │ │ │ ├── sub_code_header_generator.py │ │ │ └── sub_code_src_generator.py │ │ └── typescript/ │ │ ├── __init__.py │ │ └── ts_generator.py │ ├── feature_count/ │ │ ├── README.md │ │ ├── base.py │ │ ├── code_generator.py │ │ ├── generate_feature_count.py │ │ ├── java_generator.py │ │ ├── native_generator.py │ │ ├── objc_generator.py │ │ ├── specification.yaml │ │ └── typescript_generator.py │ ├── gn_tools/ │ │ └── test/ │ │ ├── BUILD.gn │ │ ├── CMakeLists_impl/ │ │ │ └── gn_cmake_test/ │ │ │ └── CMakeLists.txt │ │ ├── gn_script_test.sh │ │ ├── gn_test.podspec │ │ ├── gn_test_action.py │ │ ├── gn_test_shared.cc │ │ ├── gn_test_shared.h │ │ ├── gn_test_source.cc │ │ ├── gn_test_source.h │ │ └── test.gni │ ├── hab │ ├── hab.ps1 │ ├── ios_tools/ │ │ ├── cocoapods_publish_helper.py │ │ ├── generate_podspec_scripts_by_gn.py │ │ ├── process_podfile.py │ │ └── skip_pod_lint.py │ ├── js_tools/ │ │ ├── build.py │ │ └── pnpm_helper.py │ ├── license/ │ │ └── license.py │ ├── lldb/ │ │ ├── lldbinit │ │ └── lynx_lldb.py │ ├── oliver/ │ │ └── lynx-tasm/ │ │ └── gn_to_cmake_oliver.py │ ├── performance/ │ │ └── performance_observer/ │ │ ├── definition_yaml_files/ │ │ │ ├── HostPlatformTiming.yml │ │ │ ├── InitBackgroundRuntimeEntry.yml │ │ │ ├── InitContainerEntry.yml │ │ │ ├── InitLynxviewEntry.yml │ │ │ ├── JSBlockingEntry.yml │ │ │ ├── LazyBundleEntry.yml │ │ │ ├── LoadBundleEntry.yml │ │ │ ├── MemoryUsageEntry.yml │ │ │ ├── MemoryUsageItem.yml │ │ │ ├── MetricActualFmpEntry.yml │ │ │ ├── MetricFcpEntry.yml │ │ │ ├── MetricFspEntry.yml │ │ │ ├── MetricTtiEntry.yml │ │ │ ├── PerformanceEntry.yml │ │ │ ├── PerformanceMetric.yml │ │ │ ├── PipelineEntry.yml │ │ │ ├── README.md │ │ │ └── ReloadBundleEntry.yml │ │ ├── generate_performance_entry.py │ │ ├── performance_entry_definition_files │ │ ├── sub_generator/ │ │ │ ├── ets_generator.py │ │ │ ├── java_generator.py │ │ │ ├── oc_generator.py │ │ │ └── ts_generator.py │ │ └── utils.py │ ├── rtf/ │ │ ├── README.md │ │ ├── args_parser/ │ │ │ ├── __init__.py │ │ │ └── args_parser.py │ │ ├── cli/ │ │ │ ├── __init__.py │ │ │ └── app.py │ │ ├── core/ │ │ │ ├── __init__.py │ │ │ ├── base/ │ │ │ │ ├── constants.py │ │ │ │ ├── result.py │ │ │ │ └── summary.py │ │ │ ├── builder/ │ │ │ │ ├── __init__.py │ │ │ │ ├── builder.py │ │ │ │ ├── builder_manager.py │ │ │ │ ├── gn_builder.py │ │ │ │ └── gradle_builder.py │ │ │ ├── checker/ │ │ │ │ ├── __init__.py │ │ │ │ ├── android_coverage_checker.py │ │ │ │ ├── check.py │ │ │ │ ├── checker_factory.py │ │ │ │ ├── coverage_checker.py │ │ │ │ ├── ios_coverage_checker.py │ │ │ │ └── native_coverage_checker.py │ │ │ ├── container/ │ │ │ │ ├── __init__.py │ │ │ │ ├── android_ut_container.py │ │ │ │ ├── container.py │ │ │ │ └── native_ut_container.py │ │ │ ├── coverage/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── coverage.py │ │ │ │ ├── coverage_factory.py │ │ │ │ ├── jacoco_coverage.py │ │ │ │ └── llvm_coverage.py │ │ │ ├── env/ │ │ │ │ ├── __init__.py │ │ │ │ ├── context.py │ │ │ │ ├── env.py │ │ │ │ └── trait_template.py │ │ │ ├── options/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ └── options.py │ │ │ ├── target/ │ │ │ │ ├── __init__.py │ │ │ │ ├── android_target_factory.py │ │ │ │ ├── android_ut_target.py │ │ │ │ ├── fuzzer_test_target.py │ │ │ │ ├── native_ut_target.py │ │ │ │ ├── observer.py │ │ │ │ ├── target.py │ │ │ │ └── target_factory.py │ │ │ ├── template/ │ │ │ │ ├── __init__.py │ │ │ │ ├── android_ut_template.py │ │ │ │ ├── native_ut_template.py │ │ │ │ └── template.py │ │ │ └── utils/ │ │ │ ├── __init__.py │ │ │ ├── emu_env_setup.py │ │ │ ├── git_helper.py │ │ │ ├── lcov_reader.py │ │ │ ├── log.py │ │ │ ├── operation.py │ │ │ └── xml_reader.py │ │ ├── plugin_manager/ │ │ │ ├── __init__.py │ │ │ └── plugin_manager.py │ │ ├── plugins/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── android_ut_plugin.py │ │ │ ├── coverage_check_plugin.py │ │ │ ├── fuzzer_test_plugin.py │ │ │ ├── native_ut_plugin.py │ │ │ ├── plugin.py │ │ │ ├── plugin_factory.py │ │ │ └── project_init_plugin.py │ │ └── rtf │ └── vpython_tools/ │ ├── requirements.in │ ├── requirements.txt │ └── vpython_env_setup.py └── tsconfig.json