Web browser — version history
A web browser embedded in your window: page display, address bar, Back / Forward history, navigation context menu and scripts run in the page. Introduced in 1.0, free.
4.0 — October 2026 #
New #
ue_load_failed(as_url, al_status): a page that cannot load (unknown host, network, certificate,of_stop) is reported as a failure, withLOADSTATUS_*constants telling why.ue_error(as_message): what the browser refuses (text that is not an address, invalid search engine, refused new window…) is reported instead of being ignored.is_search_url(for examplehttps://www.bing.com/search?q=%s): words typed in the address bar that are not an address become a search. Empty by default: the words are refused withue_error.ue_new_window(as_url): atarget=_blanklink or awindow.openafter a click now opens the page in the view; answerfalseto refuse it whenib_veto_new_window = true.ue_download_starting(as_url, as_path): every download is announced; answerfalseto cancel it whenib_veto_downloads = true.ue_navigating(as_url): withib_veto_navigation = true, a navigation started by the site (link, form) asks first; answerfalseto stay on the page. Never raised for an address set by your code, nor for Back / Forward / Reload or a redirect.is_title(read only) andue_title_changed(as_title): the title of the page shown.ue_permission_requested(as_url, as_kind)with thePERMISSION_*constants: camera, microphone, location, notifications… are granted only if you answertrue.of_show_html(as_html): shows a page built by the application (invoice, letter) with correct encoding of#,%and accents; up to 2 MB.ib_private(private browsing: nothing is kept, a fresh empty session each time it is set) andof_clear_browsing_data()(clears cookies, signed-in sessions, local storage, cache and granted permissions).- Address bar: F5 and Ctrl+R reload the site, Alt+Left / Alt+Right go back and forward (swapped in right-to-left reading), Escape restores the current address, the first click selects the whole address; Tab goes from the bar into the site and Shift+Tab comes back.
- The address bar is translated into the six languages and named for screen readers; its disabled buttons stay readable, and its arrows follow right-to-left reading.
- Context menu (
ib_context_menu): in an input field, Cut / Copy / Paste; on a selection, a link or an image, also Copy, Open link, Copy link address, Copy image. - The site knows the application's default theme (
prefers-color-scheme): a site that can draw itself dark does so. A page that sets no background of its own is shown on white, like in a browser, whatever the theme — only the address bar follows the theme. - Every native menu of the component (like every native menu of the library) lets the user type the first letters of an entry to jump to it, read through the keyboard layout; a menu with more than 500 entries only draws what is visible.
Fixed #
- Words in
is_address("invoice 2026") no longer block all later navigations; a disk path (C:\temp\x.html) becomesfile:///C:/temp/x.html,//host/xbecomeshttps://host/x, and a one-word intranet host followed by/(intranet/) or an IPv6 address ([::1]/x) is recognized. - Reading
is_addressafter following a link or going Back returns the page shown, not the last address set. of_go_back,of_go_forwardandof_stopcalled right afteris_addressrun in the order written;of_stopalso drops the pages still waiting.of_can_go_back/of_can_go_forwardread the history live.of_save_as_png,of_save_as_jpg,of_print_to_pdfandof_printcapture or print the site, not the address bar.- An answer from
of_execute_javascriptlonger than 4,095 characters comes back whole; a script that raises an error returnsnull, andof_get_last_error()says why a call could not run (page not loaded, no answer within 5 seconds). - F5, Ctrl+R and Ctrl+mouse wheel in the address bar no longer reload or zoom the bar itself.
- The text being typed in the address bar is no longer overwritten by a page that finishes loading.
- Without an address bar, Tab and
of_focus_webviewgive the focus to the site, and Tab leaves it for your window. - A
data:page raisesue_load_completedwith the address requested. - Destroying the component, or calling
of_reset, while the site view is being created is safe; a component hidden beforeof_resetstays hidden. - Setting
ib_private = truewhen browsing is already private gives a fresh empty session. - In right-to-left reading, native menus hang from the right edge of their title and cascades open to the left (
Leftopens,Rightcloses). - Enter or Esc pressed in the component, when it does not use them, goes back to the window: the PowerBuilder
DefaultorCancelCommandButtonfires (the key was lost). - A language set by
PBT_SetLanguageapplies from the very next order given to the component: a text of an event raised by that order no longer comes in the old language. - With no language chosen by the application, the component announces English to screen readers (it announced French).
is_theme_style,is_theme_modeandil_theme_accentread back the style and mode shown and the component's own accent (-1when it has none); an unknown or badly written value is ignored instead of leaving the component without a theme, and an axis left empty follows the application's theme.- The application accent (
PBT_SetDefaultThemeAccent) survives a change of theme, is followed as long as the component has no accent of its own, and repaints everything derived from it (hover, pressed, selections); Windows high contrast is supported.
Behavior changes #
See Migrating from 3.0 to 4.0 (sections 11.3, 11.5, 11.7, 11.27 and 11.43).
- A page that fails to load raises
ue_load_failedinstead ofue_load_completed. - A new window requested by the site opens only for
httpandhttpsaddresses; other schemes (file:,data:,mailto:) are refused withue_error. - Permission requests from a site (camera, microphone, location, notifications…) are refused unless
ue_permission_requestedreturnstrue, and no answer is remembered. - Cookies, sessions and site storage live in a browsing profile of their own: a session opened with 3.0 is not carried over (sign in once again).
of_resetdoes not clear them — useof_clear_browsing_data. is_search_urlwithout%s, withouthttp(s)://, or injavascript:is refused withue_error, and the engine in place stays; ajavascript:address is refused.of_refreshreturns along:0once requested,-4when no page is shown,-2if the component is not created.
3.0 — September 2026 #
New #
of_set_property,of_get_propertyandof_component_name: drive a property by its name (settings screen, saved configuration).
2.0 — September 2026 #
New #
ue_script_error: a script error in the page reaches PowerBuilder with its message instead of being lost.
Fixed #
- An address received by
ue_load_completedarrives intact: a backslash is no longer doubled, and a quote no longer cuts it.
1.0 — August 2026 #
New #
- A page shown in your window: setting
is_addressnavigates, and reading it returns the page actually shown;ue_load_completedwhen a page has loaded. - Built-in address bar (
ib_address_bar) with Back / Forward / Reload, and a navigation context menu (ib_context_menu: Back, Forward, Reload). of_go_back,of_go_forward,of_can_go_back,of_can_go_forward,of_refresh,of_stopto build your own buttons;of_resetfor a fresh start.of_execute_javascriptruns a script in the page shown and returns its value as JSON.- Export of the rendering to PNG or JPG.