Skip to content

Commit

Permalink
Reduce the number of DOM APIs we generate code for (#158)
Browse files Browse the repository at this point in the history
* reduce the number of DOM APIs we generate code for

* regenerate the dom libraries

* review comments

* update comments
  • Loading branch information
devoncarew committed Feb 6, 2024
1 parent 393ed83 commit 3f1285e
Show file tree
Hide file tree
Showing 186 changed files with 47 additions and 13,186 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
appear as a type parameter in order to conform with the type bounds of
`JSArray` and `JSPromise`.
- Changed `record` types to be `JSObject` instead of `JSAny`.
- Reduce the number of DOM APIs we generate code for. Currently, the API needs
to be standards-track, and be suported by Safari, Chrome, and Firefox.

## 0.4.2

Expand Down
160 changes: 0 additions & 160 deletions lib/src/dom.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,144 +2,63 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

export 'dom/accelerometer.dart';
export 'dom/ambient_light.dart';
export 'dom/anchors.dart';
export 'dom/angle_instanced_arrays.dart';
export 'dom/attribution_reporting_api.dart';
export 'dom/audio_output.dart';
export 'dom/audio_session.dart';
export 'dom/autoplay_detection.dart';
export 'dom/background_fetch.dart';
export 'dom/background_sync.dart';
export 'dom/battery_status.dart';
export 'dom/capture_handle_identity.dart';
export 'dom/captured_mouse_events.dart';
export 'dom/clipboard_apis.dart';
export 'dom/compression.dart';
export 'dom/compute_pressure.dart';
export 'dom/console.dart';
export 'dom/contact_picker.dart';
export 'dom/content_index.dart';
export 'dom/cookie_store.dart';
export 'dom/crash_reporting.dart';
export 'dom/credential_management.dart';
export 'dom/csp.dart';
export 'dom/csp_next.dart';
export 'dom/css_anchor_position.dart';
export 'dom/css_animation_worklet.dart';
export 'dom/css_animations.dart';
export 'dom/css_animations_2.dart';
export 'dom/css_cascade.dart';
export 'dom/css_cascade_6.dart';
export 'dom/css_color_5.dart';
export 'dom/css_conditional.dart';
export 'dom/css_contain.dart';
export 'dom/css_contain_3.dart';
export 'dom/css_counter_styles.dart';
export 'dom/css_font_loading.dart';
export 'dom/css_fonts.dart';
export 'dom/css_highlight_api.dart';
export 'dom/css_layout_api.dart';
export 'dom/css_masking.dart';
export 'dom/css_nav.dart';
export 'dom/css_paint_api.dart';
export 'dom/css_parser_api.dart';
export 'dom/css_properties_values_api.dart';
export 'dom/css_pseudo.dart';
export 'dom/css_regions.dart';
export 'dom/css_transitions.dart';
export 'dom/css_transitions_2.dart';
export 'dom/css_typed_om.dart';
export 'dom/css_view_transitions.dart';
export 'dom/css_view_transitions_2.dart';
export 'dom/cssom.dart';
export 'dom/cssom_view.dart';
export 'dom/custom_state_pseudo_class.dart';
export 'dom/datacue.dart';
export 'dom/deprecation_reporting.dart';
export 'dom/device_posture.dart';
export 'dom/digital_goods.dart';
export 'dom/document_picture_in_picture.dart';
export 'dom/dom.dart';
export 'dom/dom_parsing.dart';
export 'dom/edit_context.dart';
export 'dom/element_capture.dart';
export 'dom/element_timing.dart';
export 'dom/encoding.dart';
export 'dom/encrypted_media.dart';
export 'dom/entries_api.dart';
export 'dom/event_timing.dart';
export 'dom/ext_blend_minmax.dart';
export 'dom/ext_color_buffer_float.dart';
export 'dom/ext_color_buffer_half_float.dart';
export 'dom/ext_disjoint_timer_query.dart';
export 'dom/ext_disjoint_timer_query_webgl2.dart';
export 'dom/ext_float_blend.dart';
export 'dom/ext_frag_depth.dart';
export 'dom/ext_shader_texture_lod.dart';
export 'dom/ext_srgb.dart';
export 'dom/ext_texture_compression_bptc.dart';
export 'dom/ext_texture_compression_rgtc.dart';
export 'dom/ext_texture_filter_anisotropic.dart';
export 'dom/ext_texture_norm16.dart';
export 'dom/eyedropper_api.dart';
export 'dom/fedcm.dart';
export 'dom/fenced_frame.dart';
export 'dom/fetch.dart';
export 'dom/fido.dart';
export 'dom/file_system_access.dart';
export 'dom/fileapi.dart';
export 'dom/filter_effects.dart';
export 'dom/font_metrics_api.dart';
export 'dom/fs.dart';
export 'dom/fullscreen.dart';
export 'dom/gamepad.dart';
export 'dom/gamepad_extensions.dart';
export 'dom/generic_sensor.dart';
export 'dom/geolocation.dart';
export 'dom/geolocation_sensor.dart';
export 'dom/geometry.dart';
export 'dom/get_installed_related_apps.dart';
export 'dom/gyroscope.dart';
export 'dom/hr_time.dart';
export 'dom/html.dart';
export 'dom/idle_detection.dart';
export 'dom/image_capture.dart';
export 'dom/image_resource.dart';
export 'dom/indexeddb.dart';
export 'dom/ink_enhancement.dart';
export 'dom/input_device_capabilities.dart';
export 'dom/intersection_observer.dart';
export 'dom/intervention_reporting.dart';
export 'dom/is_input_pending.dart';
export 'dom/js_self_profiling.dart';
export 'dom/keyboard_lock.dart';
export 'dom/keyboard_map.dart';
export 'dom/khr_parallel_shader_compile.dart';
export 'dom/largest_contentful_paint.dart';
export 'dom/layout_instability.dart';
export 'dom/local_font_access.dart';
export 'dom/longtasks.dart';
export 'dom/magnetometer.dart';
export 'dom/manifest_incubations.dart';
export 'dom/mathml_core.dart';
export 'dom/media_capabilities.dart';
export 'dom/media_playback_quality.dart';
export 'dom/media_source.dart';
export 'dom/mediacapture_automation.dart';
export 'dom/mediacapture_fromelement.dart';
export 'dom/mediacapture_handle_actions.dart';
export 'dom/mediacapture_region.dart';
export 'dom/mediacapture_streams.dart';
export 'dom/mediacapture_transform.dart';
export 'dom/mediacapture_viewport.dart';
export 'dom/mediasession.dart';
export 'dom/mediastream_recording.dart';
export 'dom/model_element.dart';
export 'dom/mst_content_hint.dart';
export 'dom/navigation_timing.dart';
export 'dom/netinfo.dart';
export 'dom/notifications.dart';
export 'dom/oes_draw_buffers_indexed.dart';
export 'dom/oes_element_index_uint.dart';
Expand All @@ -151,131 +70,52 @@ export 'dom/oes_texture_half_float.dart';
export 'dom/oes_texture_half_float_linear.dart';
export 'dom/oes_vertex_array_object.dart';
export 'dom/orientation_event.dart';
export 'dom/orientation_sensor.dart';
export 'dom/ovr_multiview2.dart';
export 'dom/page_lifecycle.dart';
export 'dom/paint_timing.dart';
export 'dom/payment_handler.dart';
export 'dom/payment_request.dart';
export 'dom/performance_measure_memory.dart';
export 'dom/performance_timeline.dart';
export 'dom/periodic_background_sync.dart';
export 'dom/permissions.dart';
export 'dom/permissions_policy.dart';
export 'dom/picture_in_picture.dart';
export 'dom/pointerevents.dart';
export 'dom/portals.dart';
export 'dom/presentation_api.dart';
export 'dom/private_network_access.dart';
export 'dom/proximity.dart';
export 'dom/push_api.dart';
export 'dom/raw_camera_access.dart';
export 'dom/real_world_meshing.dart';
export 'dom/referrer_policy.dart';
export 'dom/remote_playback.dart';
export 'dom/reporting.dart';
export 'dom/requestidlecallback.dart';
export 'dom/requeststorageaccessfor.dart';
export 'dom/resize_observer.dart';
export 'dom/resource_timing.dart';
export 'dom/sanitizer_api.dart';
export 'dom/scheduling_apis.dart';
export 'dom/screen_capture.dart';
export 'dom/screen_orientation.dart';
export 'dom/screen_wake_lock.dart';
export 'dom/scroll_animations.dart';
export 'dom/scroll_to_text_fragment.dart';
export 'dom/secure_payment_confirmation.dart';
export 'dom/selection_api.dart';
export 'dom/serial.dart';
export 'dom/server_timing.dart';
export 'dom/service_workers.dart';
export 'dom/shape_detection_api.dart';
export 'dom/shared_storage.dart';
export 'dom/speech_api.dart';
export 'dom/storage.dart';
export 'dom/storage_buckets.dart';
export 'dom/streams.dart';
export 'dom/svg.dart';
export 'dom/svg_animations.dart';
export 'dom/testutils.dart';
export 'dom/text_detection_api.dart';
export 'dom/touch_events.dart';
export 'dom/trust_token_api.dart';
export 'dom/trusted_types.dart';
export 'dom/turtledove.dart';
export 'dom/ua_client_hints.dart';
export 'dom/uievents.dart';
export 'dom/url.dart';
export 'dom/urlpattern.dart';
export 'dom/user_timing.dart';
export 'dom/vibration.dart';
export 'dom/video_rvfc.dart';
export 'dom/virtual_keyboard.dart';
export 'dom/wasm_js_api.dart';
export 'dom/web_animations.dart';
export 'dom/web_animations_2.dart';
export 'dom/web_app_launch.dart';
export 'dom/web_bluetooth.dart';
export 'dom/web_locks.dart';
export 'dom/web_nfc.dart';
export 'dom/web_otp.dart';
export 'dom/web_share.dart';
export 'dom/webaudio.dart';
export 'dom/webauthn.dart';
export 'dom/webcodecs.dart';
export 'dom/webcodecs_aac_codec_registration.dart';
export 'dom/webcodecs_av1_codec_registration.dart';
export 'dom/webcodecs_avc_codec_registration.dart';
export 'dom/webcodecs_flac_codec_registration.dart';
export 'dom/webcodecs_hevc_codec_registration.dart';
export 'dom/webcodecs_opus_codec_registration.dart';
export 'dom/webcodecs_vp9_codec_registration.dart';
export 'dom/webcrypto_secure_curves.dart';
export 'dom/webcryptoapi.dart';
export 'dom/webgl1.dart';
export 'dom/webgl2.dart';
export 'dom/webgl_blend_equation_advanced_coherent.dart';
export 'dom/webgl_clip_cull_distance.dart';
export 'dom/webgl_color_buffer_float.dart';
export 'dom/webgl_compressed_texture_astc.dart';
export 'dom/webgl_compressed_texture_etc.dart';
export 'dom/webgl_compressed_texture_etc1.dart';
export 'dom/webgl_compressed_texture_pvrtc.dart';
export 'dom/webgl_compressed_texture_s3tc.dart';
export 'dom/webgl_compressed_texture_s3tc_srgb.dart';
export 'dom/webgl_debug_renderer_info.dart';
export 'dom/webgl_debug_shaders.dart';
export 'dom/webgl_depth_texture.dart';
export 'dom/webgl_draw_buffers.dart';
export 'dom/webgl_draw_instanced_base_vertex_base_instance.dart';
export 'dom/webgl_lose_context.dart';
export 'dom/webgl_multi_draw.dart';
export 'dom/webgl_multi_draw_instanced_base_vertex_base_instance.dart';
export 'dom/webgl_provoking_vertex.dart';
export 'dom/webgpu.dart';
export 'dom/webhid.dart';
export 'dom/webidl.dart';
export 'dom/webmidi.dart';
export 'dom/webnn.dart';
export 'dom/webrtc.dart';
export 'dom/webrtc_encoded_transform.dart';
export 'dom/webrtc_ice.dart';
export 'dom/webrtc_identity.dart';
export 'dom/webrtc_priority.dart';
export 'dom/webrtc_stats.dart';
export 'dom/websockets.dart';
export 'dom/webtransport.dart';
export 'dom/webusb.dart';
export 'dom/webvtt.dart';
export 'dom/webxr.dart';
export 'dom/webxr_ar_module.dart';
export 'dom/webxr_depth_sensing.dart';
export 'dom/webxr_dom_overlays.dart';
export 'dom/webxr_hand_input.dart';
export 'dom/webxr_hit_test.dart';
export 'dom/webxr_lighting_estimation.dart';
export 'dom/webxrlayers.dart';
export 'dom/window_controls_overlay.dart';
export 'dom/window_management.dart';
export 'dom/xhr.dart';
59 changes: 0 additions & 59 deletions lib/src/dom/accelerometer.dart

This file was deleted.

24 changes: 0 additions & 24 deletions lib/src/dom/ambient_light.dart

This file was deleted.

19 changes: 0 additions & 19 deletions lib/src/dom/anchors.dart

This file was deleted.

Loading

2 comments on commit 3f1285e

@mnordine
Copy link
Contributor

@mnordine mnordine commented on 3f1285e Feb 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whoa, this severely restricts what can be done on the web. Is this really the plan?

Can you at least have a different branch that does not have this commit?

@parlough
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mnordine You might want to check out the discussion in #145 and perhaps add any thoughts you have.

Also remember that everything package:web does can be implemented in your own package using JS interop. Documentation for that is in progress.

Please sign in to comment.