Component Diagrams
Details
Static architecture map of 312 files (c, h, py, sh) in 12 components: src: tab, include: browser_ui, src: text_shape, src: css, include: page_view, include: browser, include: svg_render, src: http_cache. Structure is extracted statically without LLM calls; component prose may be enriched locally.
Relations
- src: tab calls into include: tab — 2 imports, 497 calls across the boundary
src/fb_panes.c@19 → include/tab.h::replace·src/fb_panes.c@40 → include/frame_broker.h::f·src/fb_panes.c@40 → include/frame_broker.h::f - src: tab calls into include: prefetch — 1 imports, 19 calls across the boundary
src/js_custom_elements.c@54 → src/import_map.c::add·src/js_custom_elements.c@75 → src/import_map.c::add·src/js_dom.c::scripts@1049 → src/import_map.c::match - src: tab calls into include: subreq_batch — 1 imports, 7 calls across the boundary
src/tab.c::tab_submit_async@3594 → include/subreq_batch.h::sqb_new·src/tab.c::tab_submit_async@3604 → include/subreq_batch.h::sqb_submit·src/tab.c::tab_serve_netwait@3614 → include/subreq_batch.h::sqb_count - src: tab calls into include: browser_ui — 0 imports, 113 calls across the boundary
src/js_custom_elements.c@88 → gui/browser_ui.c::them·src/js_custom_elements.c@154 → gui/browser_ui.c::resolve·src/js_dom.c::jd_is_mutator@605 → gui/browser_ui.c::strcmp - src: tab calls into src: text_shape — 3 imports, 105 calls across the boundary
include/dom.h::dom_place@190 → src/webfont_load.c::ref·include/dom.h::dom_place@191 → src/webfont_load.c::ref·src/fb_panes.c@16 → src/text_shape.c::slice - src: tab calls into src: css — 2 imports, 1017 calls across the boundary
src/dom.c::parse_selector_list@444 → include/css_select.h::csel_parse·src/dom.c::node_matches_any@461 → src/css_chain.c::cch_element_matches_any·src/fb_cmdline.c::fbc_names_expr@103 → src/css.c::function - src: tab calls into include: page_view — 7 imports, 167 calls across the boundary
include/html_parse.h::hp_config@34 → include/page_view.h::nonzero·include/html_parse.h::hp_config@35 → include/page_view.h::nonzero·src/dom.c::ih_acc@859 → include/css_counter.h::written - src: tab calls into include: browser — 4 imports, 12 calls across the boundary
src/dom.c::sm_grow@89 → include/util.h::fnv1a·src/dom.c::sm_put@104 → include/util.h::fnv1a·src/dom.c::sm_find@130 → include/util.h::fnv1a - src: tab calls into include: svg_render — 3 imports, 4 calls across the boundary
src/tab.c::child_handle_decode_image@2213 → src/image_decode.c::img_decode·src/tab.c::child_handle_decode_image@2216 → include/svg_raster.h::sr_sniff·src/tab.c::child_handle_decode_image@2217 → src/svg_raster.c::sr_rasterize - src: tab calls into include: secure_fetch — 4 imports, 34 calls across the boundary
src/js_dom_ext.c::registration@519 → tests/test_ws_hub.c::rec·src/js_dom_ext.c::registration@525 → tests/test_ws_hub.c::rec·src/js_dom_ext.c::registration@534 → tests/test_ws_hub.c::rec - include: tab calls into src: tab — 2 imports, 32 calls across the boundary
include/frame_broker.h::fbk_verdict@26 → include/js_sandbox.h::silently·include/tab.h::tab_async_fd@246 → src/tab.c::tab_tick_async·include/tab.h::tab_async_fd@247 → src/tab.c::tab_geometry_async - include: tab calls into include: browser_ui — 0 imports, 8 calls across the boundary
src/frame_broker.c::target_admits@103 → gui/browser_ui.c::strcmp·src/frame_broker.c::target_admits@104 → gui/browser_ui.c::strcmp·src/frame_broker.c::target_admits@105 → gui/browser_ui.c::strcmp - include: tab calls into src: css — 0 imports, 2 calls across the boundary
tests/test_frame_host.c::_POSIX_C_SOURCE@22 → src/css.c::function·tests/test_frame_host.c::_POSIX_C_SOURCE@28 → src/css.c::function - include: tab depends on include: page_view — 2 imports, 1 calls across the boundary
include/tab.h::tab_status@35 → include/page_view.h::itself - include: tab calls into include: svg_render — 0 imports, 1 calls across the boundary
include/tab.h::width@150 → include/image_decode.h::IMG_MAX_SCALE - include: prefetch calls into src: tab — 1 imports, 2 calls across the boundary
src/prefetch.c::pf_url_cb@321 → src/url.c::url_resolve_https·tests/test_prefetch.c::test_scan_ref_cap@111 → tests/test_fb_panes.c::assert_true - include: prefetch calls into include: browser_ui — 0 imports, 13 calls across the boundary
src/import_map.c::add@191 → gui/browser_ui.c::resolve·src/import_map.c::add@194 → gui/browser_ui.c::resolve·src/import_map.c::im_parse@235 → gui/browser_ui.c::strcmp - include: prefetch calls into src: css — 0 imports, 8 calls across the boundary
src/import_map.c::url_like@157 → src/css_color.c::strncmp·src/import_map.c::url_like@157 → src/css_color.c::strncmp·src/import_map.c::match@285 → src/css_color.c::strncmp - include: subreq_batch calls into src: tab — 0 imports, 2 calls across the boundary
tests/test_subreq_batch.c::test_results_in_issue_order_and_overlap@46 → tests/test_fb_panes.c::assert_true·tests/test_subreq_batch.c::test_thread_limit_is_respected@56 → tests/test_fb_panes.c::assert_true - include: browser_ui calls into src: tab — 7 imports, 103 calls across the boundary
gui/browser_ui.c::delay@464 → include/js_dom.h::URLs·gui/browser_ui.c::build_file_origin@786 → include/url.h::url_file_path·gui/browser_ui.c::build_file_origin@786 → src/url.c::url_is_file - include: browser_ui calls into include: tab — 2 imports, 24 calls across the boundary
gui/browser_ui.c::gui_subresource_fetch@1651 → include/tab.h::tab_inflight_request_headers·gui/browser_ui.c::gui_subresource_fetch@1688 → include/tab.h::tab_report_response_headers·gui/browser_ui.c::secure_fetch@2187 → include/tab.h::tab_image_free - include: browser_ui calls into include: prefetch — 1 imports, 5 calls across the boundary
gui/browser_ui.c::secure_fetch@2207 → include/prefetch.h::pf_pool_take·gui/browser_ui.c::load_images@2278 → src/prefetch.c::pf_pool_start·gui/browser_ui.c::load_images@2319 → include/prefetch.h::pf_pool_finish - include: browser_ui calls into src: text_shape — 11 imports, 45 calls across the boundary
gui/browser_ui.c::ui_menu_action@190 → include/link_nav.h::action·gui/browser_ui.c::ui_menu_action@191 → include/link_nav.h::action·gui/browser_ui.c::ui_menu_item@224 → include/webfont.h::here - include: browser_ui calls into src: css — 4 imports, 10 calls across the boundary
gui/browser_ui.c::tab_ctx@299 → src/css.c::NULL·gui/browser_ui.c::remember_visit@1056 → src/css_color.c::strncmp·gui/browser_ui.c::bookmark_toggle_current@1064 → src/css_color.c::strncmp - include: browser_ui calls into include: page_view — 7 imports, 133 calls across the boundary
gui/browser_ui.c::ui_menu_action@194 → include/box_style.h::page·gui/browser_ui.c::ui_menu_action@197 → include/box_style.h::page·gui/browser_ui.c::ui_menu_item@203 → include/render_policy.h::rdp_caps - include: browser_ui calls into include: browser — 4 imports, 51 calls across the boundary
gui/browser_ui.c::apply_zoom@671 → src/browser.c::browser_set_status·gui/browser_ui.c::build_host_filter@801 → include/host_conf.h::hcf_search_dirs_from_env·gui/browser_ui.c::build_host_filter@802 → include/host_conf.h::hcf_load_filter - include: browser_ui calls into include: svg_render — 4 imports, 8 calls across the boundary
gui/browser_ui.c::UI_READER_COLUMN_W@654 → gui/bui_theme.c::ui_theme_for·gui/browser_ui.c::repl_edges_y@1302 → gui/bui_theme.c::rgb_from_packed·gui/browser_ui.c::repl_edges_y@1314 → gui/bui_theme.c::rgb_from_packed - include: browser_ui calls into src: http_cache — 2 imports, 35 calls across the boundary
gui/browser_ui.c::profile_sync@1048 → src/profile.c::profile_save·gui/browser_ui.c::remember_visit@1058 → src/profile.c::profile_save·gui/browser_ui.c::bookmark_toggle_current@1076 → src/profile.c::profile_save - include: browser_ui calls into include: secure_fetch — 3 imports, 25 calls across the boundary
gui/browser_ui.c::ui_menu_action@188 → include/secure_fetch.h::policy·gui/browser_ui.c::browser_window@396 → include/secure_fetch.h::policy·gui/browser_ui.c::fetch_follow_navigable@1536 → src/secure_fetch.c::sf_get_follow_navigable - src: text_shape calls into src: tab — 6 imports, 140 calls across the boundary
include/js_policy.h::jsp_mode@30 → include/js_dom.h::host·src/freedom.c::print_usage@62 → include/js_dom.h::host·src/freedom.c::hl_frame_top_msg@220 → src/tab.c::tab_ws_event - src: text_shape calls into include: tab — 2 imports, 25 calls across the boundary
src/freedom.c::hl_frame_top_msg@221 → include/frame_host.h::fh_apply_top·src/freedom.c::hl_frame_top_msg@222 → include/tab.h::tab_page_free·src/freedom.c::headless_fetch@502 → include/tab.h::tab_inflight_request_headers - src: text_shape calls into include: prefetch — 1 imports, 17 calls across the boundary
src/freedom.c::render_page@747 → src/prefetch.c::pf_pool_start_page·src/freedom.c::pool@786 → include/prefetch.h::pf_pool_finish·src/freedom.c::sf_reason@998 → include/import_map.h::algorithm - src: text_shape calls into include: browser_ui — 1 imports, 53 calls across the boundary
include/link_nav.h::ln_action@42 → gui/browser_ui.c::fragment·include/net_realm.h::nr_route@37 → gui/browser_ui.c::proxy·include/webcaps.h::wc_caps@46 → include/ui.h::disk - src: text_shape calls into src: css — 0 imports, 24 calls across the boundary
include/text_shape.h::tsh_status@84 → src/css.c::cap·src/freedom.c::is_https_url@85 → src/css_color.c::strncmp·src/freedom.c::is_http_url@89 → src/css_color.c::strncmp - src: text_shape calls into include: page_view — 9 imports, 24 calls across the boundary
include/net_realm.h::nr_config@45 → src/render_doc.c::too·src/freedom.c::print_usage@71 → include/page_view.h::policy·src/freedom.c::print_usage@74 → include/page_view.h::tree - src: text_shape calls into include: browser — 3 imports, 13 calls across the boundary
src/freedom.c::headless_load_hosts@263 → include/host_conf.h::hcf_search_dirs_from_env·src/freedom.c::headless_load_hosts@264 → include/host_conf.h::hcf_load_filter·src/freedom.c::headless_load_hosts@265 → include/host_conf.h::hcf_load_allowlist - src: text_shape calls into include: secure_fetch — 2 imports, 31 calls across the boundary
src/freedom.c::headless_load_hosts@268 → include/secure_fetch.h::sf_global_init·src/freedom.c::apply_as_gui@301 → include/identity.h::idn_parse·src/freedom.c::apply_as_gui@302 → include/identity.h::idn_accept_language - src: css calls into src: tab — 0 imports, 256 calls across the boundary
src/css.c::css_sheet@137 → include/url.h::url·src/css.c::interp_bc_tok@1197 → include/url.h::url·src/css.c::expand_outline@1236 → include/url.h::url - src: css calls into include: tab — 0 imports, 1 calls across the boundary
src/css.c::interp_bc_tok@1174 → include/frame_broker.h::f - src: css calls into include: browser_ui — 1 imports, 115 calls across the boundary
src/css.c::expand_mask_geometry@774 → gui/browser_ui.c::strcmp·src/css.c::expand_mask_geometry@781 → gui/browser_ui.c::strcmp·src/css.c::emit_mask_image@803 → gui/browser_ui.c::strcmp - src: css depends on src: text_shape — 1 imports, 0 calls across the boundary
- src: css depends on include: page_view — 13 imports, 11 calls across the boundary
include/css_color.h::cc_status@34 → include/css.h::color·include/css_select.h::css_sel@143 → include/css.h::order·src/css.c::interp_object_pos@977 → include/css.h::CSS_OBJPOS_PACK - src: css calls into src: http_cache — 0 imports, 1 calls across the boundary
include/css_index.h::cix_index@24 → include/http_cache.h::by - include: page_view calls into src: tab — 7 imports, 589 calls across the boundary
include/page_view.h::pv_run@127 → src/tab.c::depth·include/page_view.h::pv_run@139 → include/freebug.h::level·include/page_view.h::bx_display@241 → include/dom.h::count - include: page_view calls into include: tab — 0 imports, 1 calls across the boundary
tests/test_css.c::test_selector_escaped_comma_and_parens@1175 → include/frame_broker.h::f - include: page_view calls into include: browser_ui — 0 imports, 49 calls across the boundary
include/box_tree.h::bt_node@73 → gui/browser_ui.c::children·include/box_tree.h::bt_node@75 → gui/browser_ui.c::columns·include/box_tree.h::line@134 → gui/browser_ui.c::children - include: page_view calls into src: text_shape — 3 imports, 79 calls across the boundary
include/render_policy.h::rdp_img_decision@48 → src/render_policy.c::rdp_caps_safe·include/render_policy.h::size@59 → src/render_policy.c::rdp_image_decision·src/render_doc.c::resolve_image_decision@259 → include/data_url.h::du_is_data_url - include: page_view calls into src: css — 8 imports, 749 calls across the boundary
include/css.h::CSS_MEDIA_DEFAULT_HEIGHT@1039 → src/css.c::css_parse·include/css.h::css_sheet_uses_counters@1049 → src/css.c::css_parse_media·include/css.h::palette@1062 → src/css.c::css_parse_scoped - include: page_view calls into include: browser — 2 imports, 5 calls across the boundary
src/page_view.c::utf8_sanitized_dup@129 → include/util.h::utf8_seq_len·src/page_view.c::block_id@6415 → include/util.h::mem_contains_ci·src/page_view.c::block_id@6416 → include/util.h::mem_contains_ci - include: page_view depends on include: svg_render — 3 imports, 1 calls across the boundary
include/page_view.h::pv_kind@80 → tests/test_freedom.c::markup - include: page_view calls into include: secure_fetch — 0 imports, 1 calls across the boundary
include/css.h::css_element@1192 → include/secure_fetch.h::bits - include: browser calls into src: tab — 1 imports, 57 calls across the boundary
include/os_sandbox.h::os_violation@31 → include/dom.h::process·include/util.h::read_full@30 → tests/test_tab.c::read·src/renderer.c::child_render@33 → src/html_parse.c::hp_parse - include: browser calls into include: browser_ui — 0 imports, 2 calls across the boundary
src/browser.c::url_is_allowed@62 → gui/browser_ui.c::strcmp·src/host_conf.c::add_dir@15 → gui/browser_ui.c::strcmp - include: browser calls into src: css — 0 imports, 1 calls across the boundary
src/browser.c::is_https_url@52 → src/css_color.c::strncmp - include: browser calls into include: page_view — 0 imports, 1 calls across the boundary
src/media_decoder.c::decoder_ctx@57 → src/page_view.c::dimensions - include: svg_render calls into src: tab — 0 imports, 287 calls across the boundary
tests/test_freedom.c::test_local_html@150 → tests/test_fb_panes.c::assert_true·tests/test_freedom.c::test_download_pdf_local@292 → tests/test_fb_panes.c::assert_true·tests/test_freedom.c::test_download_pdf_local@297 → tests/test_fb_panes.c::assert_true - include: svg_render calls into include: browser_ui — 1 imports, 8 calls across the boundary
gui/ui_render.c::paint@209 → src/ui_layout.c::ui_wrap_text·gui/ui_render.c::paint@214 → include/ui.h::ui_clamp_scroll·gui/ui_render.c::paint@240 → include/ui.h::ui_layout_free - include: svg_render calls into src: css — 3 imports, 9 calls across the boundary
gui/bui_theme.c::rgb_from_packed@175 → src/css_color.c::cc_unpack·src/svg_render.c::sv_attr_num@140 → src/css_color.c::cc_parse·src/svg_render.c::sv_attr_num@141 → include/css_color.h::cc_pack - include: svg_render calls into include: page_view — 1 imports, 9 calls across the boundary
gui/browser_ui_internal.h::area@112 → gui/bui_mask_img.c::bui_paint_mask_image·gui/bui_theme.c::ui_theme_default@21 → include/css.h::css_ua_heading_em·tests/test_freedom.c::test_inline_horizontal_padding_spaces_neighbours@789 → src/page_view.c::glyphs - src: http_cache calls into src: tab — 0 imports, 12 calls across the boundary
src/http_cache.c::read_file@220 → tests/test_tab.c::read·src/profile.c::profile_open@85 → tests/test_tab.c::read·tests/test_disk_store.c::test_tamper_on_disk@155 → tests/test_fb_panes.c::assert_true - src: http_cache calls into include: browser_ui — 1 imports, 10 calls across the boundary
src/http_cache.c::remove_entries@185 → gui/browser_ui.c::strcmp·src/http_cache.c::ent@404 → gui/browser_ui.c::strcmp·src/http_cache.c::redirect_put_locked@448 → gui/browser_ui.c::strcmp - src: http_cache calls into src: text_shape — 0 imports, 9 calls across the boundary
tests/test_disk_store.c::test_roundtrip@85 → tests/test_webcaps.c::assert_memory_equal·tests/test_disk_store.c::test_roundtrip_chacha@95 → tests/test_webcaps.c::assert_memory_equal·tests/test_disk_store.c::test_overwrite@134 → tests/test_webcaps.c::assert_memory_equal - src: http_cache calls into src: css — 0 imports, 3 calls across the boundary
src/cached_fetch.c::cacheable_request@27 → src/css_color.c::strncmp·src/http_cache.c::redirect_put_locked@448 → src/css_color.c::strncmp·src/http_cache.c::redirect_get_locked@468 → src/css_color.c::strncmp - src: http_cache calls into include: browser — 1 imports, 2 calls across the boundary
src/disk_store.c::ds_write@89 → include/util.h::write_full·src/disk_store.c::ds_read@124 → include/util.h::read_full - src: http_cache calls into include: secure_fetch — 1 imports, 10 calls across the boundary
include/cached_fetch.h::FREEDOM_CACHED_FETCH_H@19 → include/secure_fetch.h::sf_status·tests/test_cached_fetch.c::test_miss_fetches_stores_then_fresh_hit_skips_network@68 → src/secure_fetch.c::sf_config_default·tests/test_cached_fetch.c::test_stale_entry_revalidates_and_304_serves_cached_body@84 → src/secure_fetch.c::sf_config_default - include: secure_fetch calls into src: tab — 1 imports, 52 calls across the boundary
include/secure_fetch.h::sf_config@93 → include/url.h::password·src/identity.c::idn_render_page@424 → src/js_dom.c::scripts·src/secure_fetch.c::sf_url_host_path@170 → src/url.c::url_split - include: secure_fetch calls into include: browser_ui — 0 imports, 20 calls across the boundary
include/secure_fetch.h::sf_proxy_type@73 → gui/browser_ui.c::proxy·src/identity.c::idn_apply_query@301 → gui/browser_ui.c::strcmp·src/identity.c::idn_apply_query@304 → gui/browser_ui.c::strcmp - include: secure_fetch calls into src: text_shape — 1 imports, 4 calls across the boundary
src/secure_fetch.c::redirect@932 → include/request_policy.h::rp_headers_have·src/secure_fetch.c::sf_perform@1039 → include/request_policy.h::rp_headers_have·tests/test_anti_fp.c::test_perturb_deterministic@108 → tests/test_webcaps.c::assert_memory_equal - include: secure_fetch calls into src: css — 0 imports, 5 calls across the boundary
src/secure_fetch.c::sf_cookie_line_matches@135 → src/css_color.c::strncmp·src/secure_fetch.c::sf_cookie_line_matches@137 → src/css_color.c::strncmp·src/secure_fetch.c::sf_cookie_line_matches@140 → src/css_color.c::strncmp
src: tab (1) [Expand]
src: tab groups 51 files (c, h) around FREEDOM_HTML_PARSE_H, hp_status, max_bytes, hp_config, hp_document. dom_place: Where dom_move_children places the moved nodes (insertAdjacent* needs all...
Related Classes/Methods:
include/html_parse.h::FREEDOM_HTML_PARSE_H#L2-L21include/html_parse.h::hp_status#L22-L30include/html_parse.h::max_bytesinclude/html_parse.h::hp_config#L32-L38include/html_parse.h::hp_document#L39-L40include/html_parse.h::HP_DEFAULT_MAX_BYTES#L41-L46include/html_parse.h::droppedinclude/html_parse.h::HP_MAX_SCRIPTS#L48-L56
Sub-components
include (1.1)
include groups 14 files (h) around FREEDOM_HTML_PARSE_H, hp_status, max_bytes, hp_config, hp_document. dom_place: Where dom_move_children places the moved nodes (insertAdjacent* needs all...
src (1.2)
src groups 24 files (c, h) around FREEDOM_JS_CUSTOM_ELEMENTS_H, jdce_install, FREEDOM_JS_DOM_INTERNAL_H, jd_opaque_get, jd_idx. to_lower_buf: #include <stdint.h> #include <stdlib.h> #include <string.h> #include...
tests (1.3)
tests groups 13 files (c) around _POSIX_C_SOURCE, setup_doc, teardown_doc, DOC, IDX. setup_doc: #include "dom.h" #include "html_parse.h" static const char HTML[] =...
Files
include/dom.hinclude/fb_cmdline.hinclude/fb_panes.hinclude/freebug.hinclude/html_parse.hinclude/js_dom.hinclude/js_env.hinclude/js_geom.hinclude/js_location.hinclude/js_sandbox.hinclude/js_trusted.hinclude/sha2.hinclude/url.hinclude/web_storage.hsrc/dom.csrc/fb_cmdline.csrc/fb_panes.csrc/freebug.csrc/html_parse.csrc/js_custom_elements.csrc/js_custom_elements.hsrc/js_dom.csrc/js_dom_ext.csrc/js_dom_ext.hsrc/js_dom_internal.hsrc/js_embed.csrc/js_env.csrc/js_events.csrc/js_fetch.csrc/js_geom.csrc/js_location.csrc/js_location_internal.hsrc/js_sandbox.csrc/js_trusted.csrc/sha2.csrc/tab.csrc/url.csrc/web_storage.ctests/test_dom.ctests/test_fb_cmdline.ctests/test_fb_panes.ctests/test_freebug.ctests/test_html_parse.ctests/test_js_dom.ctests/test_js_env.ctests/test_js_geom.ctests/test_js_sandbox.ctests/test_sha2.ctests/test_tab.ctests/test_url.ctests/test_web_storage.c
include: browser_ui (2) [Expand]
include: browser_ui groups 46 files (c, h) around FREEDOM_PREFS_H, PREFS_VERSION, PREFS_MAX_URL, PREFS_MAX_TITLE, PREFS_MAX_BOOKMARKS. ui_input_state: Live editable state for one form text control, aliasing a block of the...
Related Classes/Methods:
include/prefs.h::FREEDOM_PREFS_H#L2-L25include/prefs.h::PREFS_VERSIONinclude/prefs.h::PREFS_MAX_URLinclude/prefs.h::PREFS_MAX_TITLEinclude/prefs.h::PREFS_MAX_BOOKMARKSinclude/prefs.h::PREFS_MAX_HISTORYinclude/prefs.h::PREFS_MAX_TEXT#L31-L33include/prefs.h::PREFS_PAGE_HISTORY#L34-L35
Sub-components
gui (2.1)
gui groups 2 files (c) around _GNU_SOURCE, UI_TOOLBAR_H, UI_TITLEBAR_H, UI_TABBAR_H, UI_TAB_MIN_W. ui_input_state: Live editable state for one form text control, aliasing a block of the...
include (2.2)
include groups 16 files (h) around FREEDOM_PREFS_H, PREFS_VERSION, PREFS_MAX_URL, PREFS_MAX_TITLE, PREFS_MAX_BOOKMARKS. block_flow (bf_) -- vertical margin collapsing for block-level boxes.
src (2.3)
src groups 13 files (c) around finite_or_zero, bf_collapse_n, bf_collapse, bf_margins_adjoin, bb_box_sizes. block_flow (bf_) -- vertical margin collapsing.
tests (2.4)
tests groups 15 files (c) around dbl_eq, test_two_positive_collapse_to_max, test_two_negative_take_the_most_negative, test_non_finite_is_absent, test_collapse_n_matches_binary. test_two_positive_collapse_to_max: Two positive margins collapse to the LARGER, never...
Files
gui/browser_ui.cgui/freedom_view.cinclude/block_flow.hinclude/box_blur.hinclude/download.hinclude/form.hinclude/frame_clock.hinclude/hostedit.hinclude/interp.hinclude/lazy_load.hinclude/pdf_export.hinclude/prefs.hinclude/profile.hinclude/shm_slots.hinclude/textfield.hinclude/ui.hinclude/wl_guard.hinclude/zoom.hsrc/block_flow.csrc/box_blur.csrc/download.csrc/form.csrc/frame_clock.csrc/hostedit.csrc/interp.csrc/pdf_export.csrc/prefs.csrc/textfield.csrc/ui_layout.csrc/wl_guard.csrc/zoom.ctests/test_block_flow.ctests/test_box_blur.ctests/test_download.ctests/test_form.ctests/test_frame_clock.ctests/test_hostedit.ctests/test_interp.ctests/test_pdf_export.ctests/test_prefs.ctests/test_profile.ctests/test_shm_slots.ctests/test_textfield.ctests/test_ui.ctests/test_wl_guard.ctests/test_zoom.c
src: text_shape (3) [Expand]
src: text_shape groups 42 files (c, h) around FREEDOM_JS_POLICY_H, membership, jsp_mode, allowlist, jsp_trusted. du_is_data_url: 16 MiB of encoded text (~12 MiB decoded) -- generous for any real...
Related Classes/Methods:
include/js_policy.h::FREEDOM_JS_POLICY_H#L2-L15include/js_policy.h::membership#L16-L26include/js_policy.h::jsp_mode#L27-L33include/js_policy.h::allowlist#L34-L44include/js_policy.h::jsp_trusted#L45-L53include/js_policy.h::jsp_present_trusted#L54-L63include/js_policy.h::jsp_mode_str#L64-L66include/data_url.h::FREEDOM_DATA_URL_H#L2-L20
Sub-components
include (3.1)
include groups 14 files (h) around FREEDOM_JS_POLICY_H, membership, jsp_mode, allowlist, jsp_trusted. du_is_data_url: 16 MiB of encoded text (~12 MiB decoded) -- generous for any real...
src (3.2)
src groups 15 files (c) around lower, ci_starts_with, du_is_data_url, du_base64_payload, du_shape_ok. b64_val: 0-63 for a base64 alphabet character, -1 otherwise.
tests (3.3)
tests groups 13 files (c) around test_is_data_url_true, test_is_data_url_false, test_payload_basic, test_payload_no_mediatype, test_payload_empty. test_trusted_requires_both_signals: Hito 28: a host is TRUSTED (full author CSS +...
Files
include/data_url.hinclude/hls.hinclude/js_policy.hinclude/link_nav.hinclude/net_realm.hinclude/perf_trace.hinclude/psl_data.hinclude/request_policy.hinclude/text_shape.hinclude/tls_impersonate.hinclude/webcaps.hinclude/webfont.hinclude/webfont_load.hinclude/wl_display.hsrc/data_url.csrc/freedom.csrc/hls.csrc/js_policy.csrc/link_nav.csrc/net_realm.csrc/perf_trace.csrc/render_policy.csrc/request_policy.csrc/text_shape.csrc/tls_impersonate.csrc/webcaps.csrc/webfont.csrc/webfont_load.csrc/wl_display.ctests/test_data_url.ctests/test_hls.ctests/test_js_policy.ctests/test_link_nav.ctests/test_net_realm.ctests/test_perf_trace.ctests/test_request_policy.ctests/test_text_shape.ctests/test_tls_impersonate.ctests/test_webcaps.ctests/test_webfont.ctests/test_webfont_load.ctests/test_wl_display.c
src: css (4) [Expand]
src: css groups 38 files (c, h) around FREEDOM_CSS_COLOR_H, b, cc_rgb, cc_status, cc_pack. car_ops: The questions @supports asks the caller's own engine. prop is lowercased and...
Related Classes/Methods:
include/css_color.h::FREEDOM_CSS_COLOR_H#L2-L25include/css_color.h::binclude/css_color.h::cc_rgb#L27-L30include/css_color.h::cc_status#L31-L48include/css_color.h::cc_pack#L49-L58include/css_color.h::CC_COLOR_CURRENTinclude/css_color.h::CC_COLOR_TRANSPARENT#L60-L62include/css_select.h::FREEDOM_CSS_SELECT_H#L2-L26
Sub-components
include (4.1)
include groups 13 files (h) around FREEDOM_CSS_COLOR_H, b, cc_rgb, cc_status, cc_pack. car_ops: The questions @supports asks the caller's own engine. prop is lowercased and...
src (4.2)
src groups 14 files (c) around CSS_INIT_SELS, CSS_INIT_DECLS, emit, CSS_DECL_SLOTS_MIN, CSS_INIT_RULES. len_rebase_ctx: int r = snprintf(out + *o, space, "%.4f", px); if (r < 0 || (size_t)r...
tests (4.3)
tests groups 11 files (c) around toy_decl, toy_sel, sup, test_declaration_tests, test_boolean_combinators. test_css_atrule -- @supports evaluation and @layer ranks (spec/css_atrule.md).
Files
include/css_atrule.hinclude/css_box.hinclude/css_color.hinclude/css_decl.hinclude/css_gradient.hinclude/css_index.hinclude/css_length.hinclude/css_mask.hinclude/css_mq.hinclude/css_select.hinclude/css_text.hinclude/css_values.hinclude/css_vars.hsrc/css.csrc/css_atrule.csrc/css_box.csrc/css_chain.csrc/css_color.csrc/css_gradient.csrc/css_index.csrc/css_length.csrc/css_mask.csrc/css_mq.csrc/css_select.csrc/css_text.csrc/css_values.csrc/css_vars.ctests/test_css_atrule.ctests/test_css_box.ctests/test_css_color.ctests/test_css_gradient.ctests/test_css_index.ctests/test_css_length.ctests/test_css_mask.ctests/test_css_mq.ctests/test_css_text.ctests/test_css_values.ctests/test_css_vars.c
include: page_view (5) [Expand]
include: page_view groups 37 files (c, h) around FREEDOM_CSS_H, css_status, css_align, css_display, css_justify. bui_mask_img -- paints a mask-image: url() layer into a mask surface.
Related Classes/Methods:
include/css.h::FREEDOM_CSS_H#L2-L28include/css.h::css_status#L29-L34include/css.h::css_align#L35-L42include/css.h::css_display#L43-L69include/css.h::css_justify#L70-L80include/css.h::CSS_GAP_MAXinclude/css.h::CSS_GRID_COLS_MAXinclude/css.h::CSS_GRID_TRACKS_MAX#L83-L84
Sub-components
gui (5.1)
gui groups 1 files (c) around bui_paint_mask_image. bui_mask_img -- paints a mask-image: url() layer into a mask surface.
include (5.2)
include groups 13 files (h) around FREEDOM_CSS_H, css_status, css_align, css_display, css_justify. bx_edges: anything longer fails closed instead of truncating into a wrong match....
src (5.3)
src groups 10 files (c) around BX_TAG_MAX, BX_DISPLAY_MAX, is_ws, copy_lower_trim, name_cmp. tag_row: One row of the user-agent sheet.
tests (5.4)
tests groups 13 files (c) around dbl_eq, assert_edges, test_body_has_no_margin, test_paragraph, test_heading_ladder. dbl_eq: #include <setjmp.h> #include <stdarg.h> #include <stddef.h> #include...
Files
gui/bui_mask_img.cinclude/box_style.hinclude/box_tree.hinclude/compositor.hinclude/css.hinclude/css_chain.hinclude/css_computed.hinclude/css_counter.hinclude/dom_debug.hinclude/flex_layout.hinclude/page_view.hinclude/render_doc.hinclude/render_policy.hinclude/text_case.hsrc/box_style.csrc/box_tree.csrc/compositor.csrc/css_computed.csrc/css_counter.csrc/dom_debug.csrc/flex_layout.csrc/page_view.csrc/render_doc.csrc/text_case.ctests/test_box_style.ctests/test_box_tree.ctests/test_compositor.ctests/test_css.ctests/test_css_computed.ctests/test_css_counter.ctests/test_css_drops.ctests/test_dom_debug.ctests/test_flex_layout.ctests/test_page_view.ctests/test_render_doc.ctests/test_render_policy.ctests/test_text_case.c
include: browser (6) [Expand]
include: browser groups 19 files (c, h) around FREEDOM_HOSTBLOCK_H, hb_set, hb_list, hb_decision, hb_status. browser_free: Zero-initialise or reset a state.
Related Classes/Methods:
include/hostblock.h::FREEDOM_HOSTBLOCK_H#L2-L28include/hostblock.h::hb_set#L29-L31include/hostblock.h::hb_list#L32-L36include/hostblock.h::hb_decision#L37-L41include/hostblock.h::hb_status#L42-L48include/hostblock.h::hb_new#L49-L51include/hostblock.h::hb_free#L52-L64include/hostblock.h::walked#L65-L74
Sub-components
include (6.1)
include groups 7 files (h) around FREEDOM_HOSTBLOCK_H, hb_set, hb_list, hb_decision, hb_status. browser_free: Zero-initialise or reset a state.
src (6.2)
src groups 6 files (c) around _POSIX_C_SOURCE, free_page, clear_status, free_history, free_exceptions. clear_status: #include <stdlib.h> #include <string.h> static void...
tests (6.3)
tests groups 6 files (c) around _POSIX_C_SOURCE, test_init, test_navigate_history, test_navigate_from_middle_discards_future, test_back_forward_bounds. test_url_bar_selection: Omnibar selection model: extend builds a selection, ops...
Files
include/browser.hinclude/host_conf.hinclude/hostblock.hinclude/media_decoder.hinclude/os_sandbox.hinclude/renderer.hinclude/util.hsrc/browser.csrc/host_conf.csrc/hostblock.csrc/media_decoder.csrc/os_sandbox.csrc/renderer.ctests/test_browser.ctests/test_host_conf.ctests/test_hostblock.ctests/test_media_decoder.ctests/test_os_sandbox.ctests/test_renderer.c
include: svg_render (7) [Expand]
include: svg_render groups 16 files (c, h) around FREEDOM_IMAGE_DECODE_H, guards, img_format, img_status, img_pixels. ui_theme_mode: ui_rgb button_text; ui_rgb menu_bg; ui_rgb menu_border; ui_rgb...
Related Classes/Methods:
include/image_decode.h::FREEDOM_IMAGE_DECODE_H#L2-L24include/image_decode.h::guards#L25-L32include/image_decode.h::img_format#L33-L40include/image_decode.h::img_status#L41-L55include/image_decode.h::img_pixelsinclude/image_decode.h::width#L56-L66include/image_decode.h::IMG_MAX_SCALE#L67-L70include/image_decode.h::IMG_MAX_DIM
Sub-components
gui (7.1)
gui groups 3 files (c, h) around FREEDOM_BROWSER_UI_INTERNAL_H, UI_FONT_SIZE, UI_TEXT_MARGIN, UI_HEADING_LEVELS, b. ui_theme_mode: ui_rgb button_text; ui_rgb menu_bg; ui_rgb menu_border; ui_rgb...
include (7.2)
include groups 5 files (h) around FREEDOM_IMAGE_DECODE_H, guards, img_format, img_status, img_pixels. img_pixels: A decoded bitmap that owns its pixel buffer.
src (7.3)
src groups 4 files (c) around exit, PNG_IHDR_MIN, read_be32, img_png_dimensions, img_dimensions_ok. jpeg_err_ctx: libjpeg error manager that longjmps instead of calling exit(), so a...
tests (7.4)
tests groups 4 files (c) around _DEFAULT_SOURCE, _POSIX_C_SOURCE, FREEDOM_BIN, OUT_FILE, ERR_FILE. run_freedom_raw: Runs the binary with a raw argument string (no implicit --headless)...
Files
gui/browser_ui_internal.hgui/bui_theme.cgui/ui_render.cinclude/freedom_config.hinclude/image_decode.hinclude/svg_paint.hinclude/svg_raster.hinclude/svg_render.hsrc/image_decode.csrc/svg_paint.csrc/svg_raster.csrc/svg_render.ctests/test_freedom.ctests/test_image_decode.ctests/test_svg_raster.ctests/test_svg_render.c
src: http_cache (8) [Expand]
src: http_cache groups 16 files (c, h) around FREEDOM_LOCAL_STORE_H, LS_KEY_LEN, LS_SALT_LEN, LS_NONCE_LEN, LS_TAG_LEN. cf_set_store: Cache-aware GET.
Related Classes/Methods:
include/local_store.h::FREEDOM_LOCAL_STORE_H#L2-L25include/local_store.h::LS_KEY_LENinclude/local_store.h::LS_SALT_LENinclude/local_store.h::LS_NONCE_LENinclude/local_store.h::LS_TAG_LENinclude/local_store.h::LS_HEADER_LENinclude/local_store.h::LS_OVERHEADinclude/local_store.h::LS_MAX_PLAINTEXT#L32-L33
Sub-components
include (8.1)
include groups 5 files (h) around FREEDOM_LOCAL_STORE_H, LS_KEY_LEN, LS_SALT_LEN, LS_NONCE_LEN, LS_TAG_LEN. cf_set_store: Cache-aware GET.
src (8.2)
src groups 6 files (c) around _POSIX_C_SOURCE, trace, cf_set_store, cf_store, cacheable_request. trace: fetcher, and so the same policy, as an uncached request. #define...
tests (8.3)
tests groups 5 files (c) around _GNU_SOURCE, NOW, fake_fetch, setup, teardown.
Files
include/cached_fetch.hinclude/disk_store.hinclude/http_cache.hinclude/local_store.hinclude/pq_seal.hsrc/cached_fetch.csrc/disk_store.csrc/http_cache.csrc/local_store.csrc/pq_seal.csrc/profile.ctests/test_cached_fetch.ctests/test_disk_store.ctests/test_http_cache.ctests/test_local_store.ctests/test_pq_seal.c
include: secure_fetch (9) [Expand]
include: secure_fetch groups 13 files (c, h) around FREEDOM_ANTI_FP_H, FP_TIMER_RESOLUTION_MS, FP_USER_AGENT, FP_ACCEPT_LANGUAGE, FP_ACCEPT_LANGUAGE_HEADER. fp_accept_language_header: #define FP_SEC_FETCH_DEST_NAV "document" #define...
Related Classes/Methods:
include/anti_fp.h::FREEDOM_ANTI_FP_H#L2-L21include/anti_fp.h::FP_TIMER_RESOLUTION_MS#L22-L30include/anti_fp.h::FP_USER_AGENT#L31-L32include/anti_fp.h::FP_ACCEPT_LANGUAGEinclude/anti_fp.h::FP_ACCEPT_LANGUAGE_HEADER#L34-L39include/anti_fp.h::FP_ACCEPT_HEADER_NAV#L40-L44include/anti_fp.h::FP_SEC_FETCH_DEST_NAVinclude/anti_fp.h::FP_SEC_FETCH_MODE_NAV
Sub-components
include (9.1)
include groups 4 files (h) around FREEDOM_ANTI_FP_H, FP_TIMER_RESOLUTION_MS, FP_USER_AGENT, FP_ACCEPT_LANGUAGE, FP_ACCEPT_LANGUAGE_HEADER. fp_accept_language_header: #define FP_SEC_FETCH_DEST_NAV "document" #define...
src (9.2)
src groups 4 files (c) around fp_coarsen_time_ms, fp_user_agent, fp_accept_language, fp_accept_language_header, fp_timezone. tag_valid: size_t n = strlen(ua); if (n >= IDN_UA_MAX) return -1; int printable = 0...
tests (9.3)
tests groups 5 files (c) around CHECK, main, test_coarsen_time, test_identity_is_fixed, test_legacy_identity_fixed. test_origin_key_unlinks_readback: The property that actually matters: the same canvas...
Files
include/anti_fp.hinclude/identity.hinclude/secure_fetch.hinclude/ws_hub.hsrc/anti_fp.csrc/identity.csrc/secure_fetch.csrc/ws_hub.ctests/itest_secure_fetch.ctests/test_anti_fp.ctests/test_identity.ctests/test_secure_fetch.ctests/test_ws_hub.c
include: tab (10) [Expand]
include: tab groups 7 files (c, h) around FREEDOM_FRAME_BROKER_H, FBK_MAX_FRAMES, FBK_MAX_DEPTH, FBK_MAX_MSG, FBK_ORIGIN_MAX. fbk_origin_of: Serialized origin ("https://host[:port]", lowercase) or "null" for...
Related Classes/Methods:
include/frame_broker.h::FREEDOM_FRAME_BROKER_H#L2-L15include/frame_broker.h::FBK_MAX_FRAMESinclude/frame_broker.h::FBK_MAX_DEPTHinclude/frame_broker.h::FBK_MAX_MSGinclude/frame_broker.h::FBK_ORIGIN_MAXinclude/frame_broker.h::FBK_URL_MAX#L20-L21include/frame_broker.h::fbk_rel#L22-L23include/frame_broker.h::fbk_verdict#L24-L29
Sub-components
include (10.1)
include groups 3 files (h) around FREEDOM_FRAME_BROKER_H, FBK_MAX_FRAMES, FBK_MAX_DEPTH, FBK_MAX_MSG, FBK_ORIGIN_MAX. fbk_origin_of: Serialized origin ("https://host[:port]", lowercase) or "null" for...
src (10.2)
src groups 2 files (c) around lc, host_char_ok, fbk_origin_of, fbk_init, live. target_admits: int changed = 1; /* fixpoint: slots...
tests (10.3)
tests groups 2 files (c) around test_origin_of, build, test_parent_top_child_routes, test_siblings_not_addressable, test_target_origin. test_frame_broker -- CMocka suite for the pure iframe tree + postMessage router.
Files
include/frame_broker.hinclude/frame_host.hinclude/tab.hsrc/frame_broker.csrc/frame_host.ctests/test_frame_broker.ctests/test_frame_host.c
include: prefetch (11) [Expand]
include: prefetch groups 6 files (c, h) around FREEDOM_IMPORT_MAP_H, algorithm, IM_MAX_TEXT, IM_MAX_ENTRIES, IM_MAX_SCOPES. im_resolve: Resolves specifier as imported from base (the importing module's URL).
Related Classes/Methods:
include/import_map.h::FREEDOM_IMPORT_MAP_H#L2-L12include/import_map.h::algorithm#L13-L16include/import_map.h::IM_MAX_TEXTinclude/import_map.h::IM_MAX_ENTRIESinclude/import_map.h::IM_MAX_SCOPES#L19-L22include/import_map.h::im_map#L23-L27include/import_map.h::map#L28-L32include/import_map.h::im_resolve#L33-L36
Sub-components
include (11.1)
include groups 2 files (h) around FREEDOM_IMPORT_MAP_H, algorithm, IM_MAX_TEXT, IM_MAX_ENTRIES, IM_MAX_SCOPES. im_resolve: Resolves specifier as imported from base (the importing module's URL).
src (11.2)
src groups 2 files (c) around IM_MAX_DEPTH, IM_URL_MAX, scope, im_entry, im_map. str: A JSON string into an owned UTF-8 buffer (escapes decoded; a lone surrogate or a...
tests (11.3)
tests groups 2 files (c) around tres, DOC, expect_res, test_exact_and_prefix_imports, test_scopes_win_by_longest_prefix. tres: Test URL resolver: absolute https passes, "/x" is origin-relative, "./x" and...
Files
include/import_map.hinclude/prefetch.hsrc/import_map.csrc/prefetch.ctests/test_import_map.ctests/test_prefetch.c
include: subreq_batch (12)
include: subreq_batch groups 3 files (c, h) around SUBREQ_BATCH_H, SQB_MAX_JOBS, sqb_req, ok, sqb_res. sqb_res: #ifndef SUBREQ_BATCH_H #define SUBREQ_BATCH_H #include <stddef.h> #define...
Related Classes/Methods:
include/subreq_batch.h::SUBREQ_BATCH_H#L10-L13include/subreq_batch.h::SQB_MAX_JOBS#L14-L15include/subreq_batch.h::sqb_req#L16-L22include/subreq_batch.h::okinclude/subreq_batch.h::sqb_res#L23-L33include/subreq_batch.h::sqb#L34-L36include/subreq_batch.h::sqb_new#L37-L40include/subreq_batch.h::sqb_submit
Files
include/subreq_batch.hsrc/subreq_batch.ctests/test_subreq_batch.c