The idea of an enterprise browser didn’t grab me until I started talking with teams building them.

That got me wondering: what does it take to build one?

In this article I break down the core architecture of an enterprise browser, from policy enforcement and Zero Trust to Chromium internals and downstream build strategy.

If you care about Chromium, runtime security, or enterprise browsers, this may be worth a read:

https://medium.com/kodegood/how-to-build-an-enterprise-browser-1dd49a5b1d89

#chromium #zerotrust #browser

How to Build an Enterprise Browser

The concept of an enterprise browser was something I hadn’t paid much attention to until recently, when I found myself in discussions with…

Medium

Subject: How to merge Firefox History into Chromium History Plus

Author: The Old Coder aka Robert Kiraly. License: Creative Commons BY-NC-SA 4.0 International. Revision: 260214.

This post is intended for Linux CLI users who happen to use both Firefox and Chromium or spoons of the browsers. Windows users who are familiar with WSL CLI may find this post useful as well.

I use both LibreWolf [a Firefox spoon] and Ungoogled Chromium [which I'll refer to as UChromium]. In UChromium, I use the UChromium History+ extension to solve the Chromium 90-day history limit problem.

Note: History+ offers other nice features as well and is recommended. The link for the extension is presently:

https://chromewebstore.google.com/detail/history-plus/kloodnjmhgicecceindgbfpjencnhajh

The History+ extension isn't supported for Firefox [or LibreWolf]. I'd like to be able to merge LibreWolf history periodically into History+ on the UChromium side regardless. History+ tricks related to the UChromium built-in "Import History" feature don't appear to work correctly. So, here's what I'm doing instead.

This procedure should work in any recent and reasonably standard Linux distro.

Step 1. Install the CLI tool "mlr". This step is distro specific. Under Debian, for example, one would do this: sudo apt-get install miller ["miller" is the Debian package that provides "mlr"].

Step 2. In Firefox or LibreWolf, install the History Export extension by SkyWeb. The link for that extension is presently:

https://addons.mozilla.org/en-US/firefox/addon/sky-history-export/

Step 3. Use the History Export extension on the Firefox or LibreWolf side to export history to a JSON file named, for example, "firefox-history.json".

Step 4. At the Linux CLI level, execute the following command in the directory where the JSON file is stored:

mlr --headerless-tsv-output --j2t cat \ then filter '!($url =~ "^file:" || $url == "")' \ then put '$title = is_null($title) ? "" : $title' \ then cut -x -f id \ then put '$lastVisitTime="U".$lastVisitTime.".000"' \ then reorder -e -f title \ then put '$z1 = 0' \ then put '$z2 = 0' \ then sort -f url \ firefox-history.json > firefox-history.tsv

Step 5. In the History+ settings on the UChromium side, which may be accessed via the gear icon shown in the attached screenshot, import the TSV file created by the preceding step.

Note: History+ is designed to avoid duplicate records. So, it should be safe to import a particular history file more than once or multiple history files that have overlapping records.

If you have a LinkedIn account, a LinkedIn version of this post may be viewed at:

https://www.linkedin.com/pulse/how-merge-firefox-history-chromium-plus-robert-kiraly-3jejc/

#linux #cli #firefox #chrome #chromium

@WildEnte I hope @Vivaldi is able to study what #Brave is doing, because containers are essential for my workflow, and when it comes to using a #Chromium browser, #Vivaldi is my preferred choice.

#Chromium and probably #Chrome is pretty dump. If you have a :

<meta http-equiv="onion-location" content="http://2ltc2hzk2yiwhp4r4d776a64cgmsfd........onion">

Meta in your site

AND / OR a link to the #Tor site in the footer

it shows:

NOT SECURE!

I use #Firefox only, but got info from a scared user. This is really sick!

Multi-Account Containers, my favourite feature in #Firefox, now exists in the #Brave Browser, which is a great accomplishment, because I remember @Vivaldi telling me it’s not possible for them to introduce containers in the #Vivaldi browser, due to the way #Chromium is built. Now that Brave has done it, Vivaldi really should too!
Chromium 145 支援 JPEG XL

在「Google Chrome 145 Released With JPEG-XL Image Support」這邊看到 Chromium 145 可以透過 chrome://flags/#enable-jxl-image-format 打開對 JPEG XL 的支援。 這次回歸是用 Rust 版本的 decoder,成為 Safari 之後支援的瀏覽器。 Firefox 這邊看起來還在慢慢解:「Implement support for JPEG XL (image/jxl)」。 不過因為寫這篇跑去查 AVIF 的支援度,原來在 2024 年之後主流瀏覽器都支援...

Gea-Suan Lin's BLOG
Health effects of chromium (toxicity and biological functions) #chromium #heavymetals #biochemistry
... Continue to: https://youtube.com/shorts/jF3LyFZVRnw?si=AY37pDmagnuGLPh9

How do you measure when a specific Web Component is "ready"? ⏱️

LCP is too global. Element Timing is too specific.

🛠️ I’ve been working with Bloomberg on a new #webperf API: Container Timing. Think of it as "LCP for a web component", providing aggregated paint timing for a subtree.

It is now officially Ready for Developer Testing in #Chromium 145! 🚀

We want your feedback on the design and usage. Check out the details and how to try it:
https://blogs.igalia.com/dape/2026/02/10/container-timing-measuring-web-components-performance/

cc @igalia @developers

Container Timing: measuring web components performance

An introduction to Container Timing, a new web performance API that lets developers measure when complex components finish painting and shows how to use its native implementation now available behind a Chromium feature flag.

Inversely, I love, love, love how this "just works™️" in #chromium 😍

https://codepen.io/Westbrook/pen/XJKyebR

Where's my #webkit and #mozilla peeps at?!?

You're seeing that right, `:host(:has(...))` and `:host:has(...)` are different, in a good way, but supported differently across browsers, in a bad way. Let's go head a build ALL the things that are meant to be in the browser. Not just some.

Pretty please 🙏

#webDev #CSS #CSSWG #webComponentsCG #testTheWebForward #developingDesignSystems

Host can :has() it's shadow dom children.

...

Host can :has() it's light dom children.

...