code wiki / _hdl_build / nx_browser.nx

nx_browser.nx

buildroot/runtime/_hdl_build/nx_browser.nx

63716 B1243 linesdepth 22pulls 212 transitivereach 2 importersview sourcekind tooltopic browser
docsdependenciesstructsconstsfunctions

about

nx_browser.nx -- the LIVE, NAVIGABLE sovereign browser WINDOW. Fetches a URL over our own DNS+TLS1.3+ HTTP, renders it with the full upgraded pipeline (chrome/hidden-drop -> complex-selector cascade -> float/grid/table-cell/word-wrap layout), and shows it in a real scrollable X11 window (WSLg). CLICK a link to navigate (own URL resolver), 'b' = back, scroll wheel / arrows, q quits. 100% sovereign -- no Chrome/V8/curl/gcc. Initial URL from _url.txt. license_tier: ORIGINAL

dependencies 29 imports · 2 importers

nx_syscalls.nx nx_x509_trust_store.nx nx_trust_store_load_from_certdata. nx_https_get.nx nx_http_response_parse.nx nx_html_tokenizer.nx nx_js_eval.nx nx_dom_query.nx nx_html_entities.nx nx_url_resolve.nx nx_browser.nx nx_browser_game_marker_gate.nx nx_connect_browser_verify.nx

diagram shows first 10 each side; +19 more imports, +0 more importers in the complete lists below.

imports: nx_syscalls.nxnx_x509_trust_store.nxnx_trust_store_load_from_certdata.nxnx_https_get.nxnx_http_response_parse.nxnx_html_tokenizer.nxnx_js_eval.nxnx_dom_query.nxnx_html_entities.nxnx_url_resolve.nxnx_render_html.nxnx_css_color_decode.nxnx_layout_box.nxnx_layout_default_display.nxnx_layout_from_dom.nxnx_layout_block.nxnx_x11_connect.nxnx_x11_window.nxnx_x11_paint.nxnx_http_get_ua.nxnx_dns_resolve_a_record.nxnx_paint_solid_rect.nxnx_paint_text.nxnx_png_write.nxnx_signal.nxnx_browser_buyguard.nxnx_intake_profile.nxnx_media_harvest.nxnx_media_deepcrawl.nx

imported by: nx_browser_game_marker_gate.nxnx_connect_browser_verify.nx

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main nx_signal_ignore nx_signal_action_new nx_signal_action_install sys_mmap sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close br_p sys_write br_slen nx_trust_store_load_from_c sys_mmap ↻ sys_read_file ↻ nx_nss_certdata_parse sys_mmap ↻ _pat_class_cert _pat_value_octal _pat_end _find_newline _starts_with _parse_octal_line sys_mmap ↻ _is_space _decode_octal_escape _is_octal trust_store_alloc sys_mmap ↻ nx_x509_trust_store_load sys_mmap ↻ x509_parse sys_mmap ↻ asn1_cursor_init asn1_expect_tag sys_mmap ↻ asn1_read_tlv_header asn1_read_tag

structs

36struct Page

consts

48const NX_PAGE_BYTES: i64 = 80
49const NX_CHROME_H: i64 = 44 // browser chrome (toolbar + address bar) height; page viewport is below it

functions

51func br_slen(s: *u8) -> i64 { var k: i64=0; while s[k]!=(0 as u8){k=k+1} return k }
52func br_p(fd: i64, s: *u8) -> i64 { sys_write(fd, s, br_slen(s)); return 0 }
53func br_n(fd: i64, v0: i64) -> i64 { var v: i64=v0; if v<0 { let m: *u8=sys_mmap(8); m[0]=45 as u8; sys_write(fd,m,1); v=0-v } let b: *u8=sys_mmap(24); var k: i64=0; if v==0{b[0]=48;k=1} while v>0{b[k]=(48+(v%10)) as u8;v=v/10;k=k+1} let o: *u8=sys_mmap(24); var j: i64=0; while j<k{o[j]=b[k-1-j];j=j+1} sys_write(fd,o,k); return 0 }
called by 2: br_media_dumpmain calls 2: sys_mmapsys_write
56func br_write_file(path: *u8, buf: *u8, n: i64) -> i64
called by 1: br_media_dump calls 1: sys_write
70func br_media_dump(store: *TrustStore, cur_url: *u8, ulen: i64) -> i64
89func br_comp_int(src: *u8, computed: *CssComputedDecl, ncomp: i64, box_idx: i64, prop: *u8, plen: i64, dflt: i64) -> i64
called by 1: br_draw
107func br_comp_color(src: *u8, computed: *CssComputedDecl, ncomp: i64, box_idx: i64, prop: *u8, plen: i64) -> i64
130func br_extract(html: *u8, hlen: i64, elements: *CssElement, ehref_off: *i64, ehref_len: *i64, maxn: i64) -> i64
168func br_isdigit(c: i64) -> i64 { if c >= 48 { if c <= 57 { return 1 } } return 0 }
171func br_is_plain_http(url: *u8, ulen: i64) -> i64
called by 1: load_page
184func br_parse_ipv4(s: *u8, len: i64) -> i64
called by 1: br_http_fetch calls 1: br_isdigit
214func br_http_fetch(url: *u8, ulen: i64, out: *u8, cap: i64) -> i64
264func br_layout(page: *Page, vw: i64) -> i64
351func bg_load_profile(prof: *i64) -> i64
372func br_doc_ext(url: *u8, ulen: i64, ext: *u8) -> i64
called by 1: load_page
419func br_doc_paths(ext: *u8, extn: i64, pin: *u8, pout: *u8) -> i64
441func br_doc_conv(ext: *u8, extn: i64, body: *u8, blen: i64, url: *u8) -> i64
472func load_page(url: *u8, ulen: i64, store: *TrustStore, cr: *u8, priv: *u8, page: *Page, vw: i64) -> i64
564func br_button(c: *X11Conn, wid: i64, gc: i64, x: i64, label: *u8, fbody: i64) -> i64
573func br_chrome(c: *X11Conn, wid: i64, gc: i64, win_w: i64, cur_url: *u8, ulen: i64, fbody: i64) -> i64
595func br_chrome_click(ex: i64) -> i64
called by 1: main
604func br_comp_color_inh(src: *u8, computed: *CssComputedDecl, ncomp: i64, tree: *LayoutTree, box_idx: i64) -> i64
called by 2: br_drawbr_draw_fb calls 1: br_comp_color
619func br_comp_bg(src: *u8, computed: *CssComputedDecl, ncomp: i64, box_idx: i64) -> i64
called by 2: br_drawbr_draw_fb calls 1: br_comp_color
626func br_comp_border(src: *u8, computed: *CssComputedDecl, ncomp: i64, box_idx: i64, wout: *i64) -> i64
660func br_draw(c: *X11Conn, wid: i64, gc: i64, paper: i64, page: *Page, win_w: i64, win_h: i64, scroll_y: i64,
722func br_color_from_int(c: i64) -> *CssColor
called by 1: br_draw_fb calls 1: sys_mmap
733func br_paint_text2x(fb: *Framebuffer, x: i64, y: i64, text: *u8, text_len: i64, color: *CssColor) -> i64
758func br_draw_fb(fb: *Framebuffer, page: *Page, win_w: i64, cur_url: *u8, ulen: i64) -> i64
821func br_shot_png(page: *Page, cur_url: *u8, ulen: i64, path: *u8) -> i64
914func br_game_organ(raw: *u8, n: i64, out: *u8) -> i64
called by 3: maintrymain
973func br_launch_game(name: *u8, nlen: i64, selftest: i64) -> i64
1004func main() -> i64