Chrome for Developers
developer.chrome.com · Company blog · on HN since 2012
Google's official blog for web developers, covering Chrome features, web standards, extensions, and DevTools.
What HN saysHN links it for Chrome feature announcements, while commenters criticize proposed standards for following Google's own product priorities, such as Google Meet.
1.1KHN people shared it
850linked it in comments
510stories submitted
7.1Kstory points
2 months agolast shared
2012people per year2026
Most-shared posts
- 1Built-In AI – AI on Chrome23 people · 23 points · first shared 2024 · 1 comments on HN
- 2"Begin disabling installed extensions still using Manifest V2 in Chrome stable"18 people · 555 points · first shared 2024 · 472 comments on HN
- 3Http cache partitioning17 people · first shared 2022
- 4Chrome phasing out Manifest v2 support from Jan 202216 people · 85 points · first shared 2021 · 33 comments on HN
- 5Google Chrome – Native Client16 people · 1 points · first shared 2014 · discussion on HN
- 6DeclarativeNetRequest16 people · first shared 2020
- 7New Chrome DevTools feature: record, replay, and measure user interactions14 people · 20 points · first shared 2021 · discussion on HN
- 8The Prompt API13 people · 2 points · first shared 2025 · discussion on HN
- 9Removing HTTP/2 Server Push from Chrome12 people · 212 points · first shared 2022 · 199 comments on HN
- 10Chrome DevTools MCP11 people · 36 points · first shared 2025 · discussion on HN
- 11Chrome Manifest V3 be unleashed in just 2 months11 people · 9 points · first shared 2021 · 1 comments on HN
- 12WasmGC – Run GC languages such as Kotlin, Java in Chrome browser11 people · 4 points · first shared 2023 · discussion on HN
- 13WebMCP is available for early preview10 people · 16 points · first shared 2026 · 1 comments on HN
- 14Chrome to begin blocking access to localhost over HTTP (deprecation trial)10 people · 4 points · first shared 2021 · 1 comments on HN
- 15Autoplay Policy in Chrome10 people · 2 points · first shared 2021 · discussion on HN
What HN people wrote when they linked it
bjackman · 2026-08-21
> LLMs are also terrible at these new standards.
This seems like a common enough issue that it would be worthwhile publishing a "Markdown library" of "stuff HTML can do" that you can "call" from your AGENTS.md.
Edit: lol, a sibling commenter shows I am not the first to have this idea! https://developer.chrome.com/docs/modern-web-guidance/get-started
(They made it a skill, which brings me to another thing I've had on my mind lately: that's annoying if you know when you start the harness that you will want it to read the skill. It's a roundtrip through the model to activate it. But maybe there's a way to fix that?)
(Edit2: Claude says if you activate the skill via /skill-name in the initial prompt, you get what I want)
alwillis · 2026-08-20
> LLMs are also terrible at these new standards. If they even know about them, they often think they're not baseline yet…
It doesn’t have to be that way.
You could create a Skill [1] that tells the agent to use modern css; the newer models like Opus 5 are probably much better with modern css.
Google released a set of skills at I/O called Modern Web Guidance [2] that steer coding agents to use modern css and best practices.
[1]: https://www.skills.sh/paulirish/dotfiles/modern-css
[2]: https://developer.chrome.com/docs/modern-web-guidance/get-started
seanclayton · 2026-08-20
> All these great built in features, especially typeahead, wont be mainstream until they can be excessively styled.
https://developer.chrome.com/blog/a-customizable-select
sheept · 2026-07-02
Another reason why this is problematic is that their proposed standards follow Google's priorities for its own products, particularly Google Meet.[0][1]
[0]: https://developer.chrome.com/docs/web-platform/element-capture
[1]: https://developer.chrome.com/docs/web-platform/document-picture-in-pic…
goodthink · 2026-05-13
I bought $5 worth of Claude API tokens the other day because Newspeak [0] is implementing an API interface in the IDE.
I work with Newspeak every night building all kinds of crazy stuff, from the raycasting tutorial to an IndexedDB interface. Currently, I have the IDE running as an Isolated Web App for access to TCPSockets [1][2][3].
I'm implementing ancient TCP protocols bringing them to the web.
[0] https://newspeaklanguage.org
[1] https://developer.chrome.com/docs/iwa
[2] https://developer.chrome.com/docs/iwa/direct-sockets
[3] https://github.com/GoogleChromeLabs/telnet-client (example IWA)
derangedHorse · 2026-05-05
> You are conflating disk and memory.
I never conflated anything. I said it's a neglible amount of space for current hardware, which I still believe.
If anything, the fact that I think the amount of space is acceptable for the amount of ram a modern laptop has exaggerates the point.
> There’s a reason they picked an opt-out model for this, and not an opt-in approach.
That's the approach they take for most of their features.
> But then, a web app that shows people a loading screen while it downloads a 4GB model probably wouldn’t be a best-selling UX.
Which seems to be the motivation of having these local models embedded in the browser's available resources:
https://developer.chrome.com/docs/ai/prompt-api
xd1936 · 2026-04-28
Great app. I wish it supported PWA features like Web Share Targeting.
https://web.dev/articles/web-share
https://developer.chrome.com/docs/capabilities/web-apis/web-share-targ…
hwartig · 2026-03-24
I'd recommend chrome(ium) headless https://developer.chrome.com/docs/chromium/headless . It works with various drivers like puppeteer, selenium and playwright for some added convenience.
At https://checklyhq.com we and our customers use it heavily and reliably through playwright for various monitoring, testing and automation use cases.
As you want to use it from an Agent you also should take a look at https://developer.chrome.com/blog/chrome-devtools-mcp and https://github.com/microsoft/playwright-mcp
rezonant · 2026-02-22
Thankfully, since then, Chrome and all other major browsers now ask the user for permission before letting websites send requests to localhost or any local IP addresses. Obviously some users may click through that, but it prevents the behavior from being invisible to the user at least, and gives them a way to say no.
https://developer.chrome.com/blog/local-network-access
PS: I still recommend never installing Meta apps on your phone.
PPS: There are legitimate uses of this functionality, so as a web dev I'm happy the functionality wasn't silently blocked. This gives an opportunity to explain to the user why the permission is needed if the use is legitimate. Would be nice if it could be further scoped though.
esperent · 2025-12-23
I thought this was some crazy CSS syntax I've never seen before:
background: @shaders(
fragment { }
vertex { }
texture { }
);
Searching around just leads back to this blog though [0]. It would be amazing if this was real syntax, but I guess security reasons would probably make it a no-go for general use.
Indeed, there was an old CSS Shaders feature (in Chrome, behind a flag) behind from way back around 2013 [1]. Unclear if there's been any development since.
[0] https://yuanchuan.dev/add-shaders
[1] https://developer.chrome.com/blog/introduction-to-custom-filters-aka-c…
dfabulich · 2025-11-18
It works great in Chrome, Safari, and Firefox.
https://github.com/dfabulich/style-xml-feeds-without-xslt
Google has recommended a polyfill for XSLT ever since they announced their plan to remove it. https://developer.chrome.com/docs/web-platform/deprecating-xslt#polyfi…
troupo · 2025-11-06
What makes the browser slow and inefficient is the fact that it's not a UI framework. It's a system to display text and a couple of images on a 2D plane where every element depends on every other element.
Almost every single interaction and change requires the browser to recalculate the layout of the entire page and to redraw it. It's basically Microsoft Word, with nearly the same behaviors.
And there are no proper ways to prevent that behaviour. No lower and low level control over rendering. Awkward workarounds and hacks that browsers employ to try and minimize re-layouting and redrawing. Great rejoicing when introducing yet more hacks for basic things: https://developer.chrome.com/docs/css-ui/animate-to-height-auto etc.
wswope · 2025-11-05
> As a general rule, simplifying and removing code is one of the best things you can do for security.
Sure, but that’s not what they’re doing in the big picture. XSLT is a tiny drop in the bucket compared to all the surface area of the niche, non-standard APIs tacked onto Chromium. It’s classic EEE.
https://developer.chrome.com/docs/web-platform/
Zealotux · 2025-09-04
You may not want to rely too much on `beforeunload` events though as it is unreliable on mobile, a good practice if you want to send analytics if to listen to the page visibility:
document.addEventListener('visibilitychange', () => { if (document.visibilityState === 'hidden') { navigator.sendBeacon(...); } }); Of course it can't strictly be considered a "page leave" but for mobile users it's often your best bet: https://developer.chrome.com/docs/web-platform/page-lifecycle-api#lega…
nolanl · 2025-06-17
Author here. I actually did some research on CSS selector performance: https://nolanlawson.com/2023/01/17/my-talk-on-css-runtime-performance/
The TL;DW is: yes, class selectors are slightly more performant than attribute selectors, mostly because only the attribute _names_ are indexed, not the values. But 99% of the time, it's not a big enough deal to justify the premature optimization. I'd recommend measuring your selector performance first: https://developer.chrome.com/docs/devtools/performance/selector-stats
spencerflem · 2025-05-16
The crazy thing is, theyve written one of the best guides on the internet on how to do an infinite scrolling list: https://developer.chrome.com/blog/infinite-scroller
jsheard · 2025-04-30
Fun fact: Googles own web performance team recommends avoiding YouTube embeds because they're so obscenely bloated. Placing their <iframe> on a page will pull in about 4MB of assets, most of which is Javascript, even if the user never plays the video.
https://developer.chrome.com/docs/lighthouse/performance/third-party-f…
YouTubes frontend people just don't care about bloat, even when other Googlers are yelling at them to cut it out.
hicallmeal · 2025-03-08
Not quite, one has to nominate their extension/apply for it(fill a form, via the dev support centre)[0], for the CWS team to then review it, where after 3-4 weeks they usually grant it - you mainly have to have a "good" listing and "follow best practices" [1]. You can only apply once every 6 months.
In my opinion, either mass reporting, or (unlikely) a manual decision caused them to lose it. And after a while Honey likely applied again, where the reviewer was possibly unaware of past events. Or they were but it's not relevant to the review process. (Having millions of users may have played a part, the bigger exts might be treated differently, though I doubt it). Google doesn't really pay much mind to these things, from what I've seen.
[0] I'm pretty sure there's a dev doc somewhere with this
[1] https://developer.chrome.com/docs/webstore/discovery#featured-badge
csswizardry · 2025-01-09
My guess, as someone who doesn’t know the answer but works closely in this field, is that the potential downside (i.e. privacy/security) was much greater than the actualised benefit (i.e. performance).
Safari (who make a big deal about being privacy-conscious) was the first to introduce cache partitioning, looking into it as far back as 2013[1]; Chrome followed in 2020 and Firefox in 2021[3]. One thing I know, anecdotally, to be a strong motivator among browser vendors is ‘X is doing it, why aren’t we?’
1. https://bugs.webkit.org/show_bug.cgi?id=110269
2. https://developer.chrome.com/blog/http-cache-partitioning
3. https://blog.mozilla.org/security/2021/01/26/supercookie-protections/
purple-leafy · 2024-12-08
Here ya go, build from source :) [0]
Needs some tidying up, and you need to figure out how to run the "AI" by following this article [1]
[0] - https://github.com/con-dog/context-aware-pattern-blocker
[1] - https://developer.chrome.com/docs/extensions/ai/prompt-api
WA · 2024-11-29
Browser support to print HTML sucked. No page counter / max pages, no way to properly style headers and footers. Chrome 131 recently added CSS support for @page [1][2] and cross-references in the same doc (giving you the page number), which is a great step forward. I think this simplifies Markdown → PDF even more on the tooling side.
[1] https://developer.chrome.com/blog/print-margins
[2] https://developer.mozilla.org/en-US/docs/Web/CSS/@page
jeswin · 2024-11-02
I prefer web apps to native apps any day. However, web apps are limited by what they can do.
But what they can do is not consistent - for example, it can take your picture and listen to your microphone if you give permissions; but it can't open a socket. Another example: Chrome came out with an File System Access API [2] in August; it's fantastic (I am using it) and it allows a class of native apps to be replaced by Web Apps. As a user, I don't mind having to jump through hoops (as a user) and giant warning screens to accept that permission - but I want this ability on the Web Platform.
For Web Apps to be able to complete with native apps, we need more flexibility Mozilla. [1]
[1]: https://mozilla.github.io/standards-positions/ [2]: https://developer.chrome.com/docs/capabilities/web-apis/file-system-ac…
thawab · 2024-10-14
I would recommend to focus on a niche like browser automation/QA with puppeter specially after they released the webdriver bidi[0]. There is a market for this kind of product if it's lighter/faster than chrome.
[0] https://developer.chrome.com/blog/webdriver-bidi
crazygringo · 2024-10-11
> Where V3+UBL still makes the calls it just doesn't display the results. So while you might not see the ads, the ads see you.
That's not what the docs say [1]:
A single rule does one of the following: - Block a network request. - Upgrade the schema (http to https). - Prevent a request from getting blocked by negating any matching blocked rules. - Redirect a network request. - Modify request or response headers. Does "block" not mean block? Can you provide a source? Or am I looking at the wrong docs? I'm searching online and can't find anything that says the request is still sent.
[1] https://developer.chrome.com/docs/extensions/reference/api/declarative…
tech234a · 2024-09-16
My guess is that the user took the screenshot from a Chrome Beta/Dev/Canary build which is following an accelerated timeline for disabling Manifest V2 extensions [1].
Also, note that there is an enterprise policy that can enable Manifest V2 extensions through June 2025 [2].
[1]: https://developer.chrome.com/docs/extensions/develop/migrate/mv2-depre…
[2]: https://chromeenterprise.google/policies/#ExtensionManifestV2Availabil…
somishere · 2024-08-16
Solid article! Important point I didn't see covered / worth noting with grid & flex layouts is visual vs logical tab orders ... Looking forward to a solution in upcoming specs
https://developer.chrome.com/blog/reading-flow-display-contents
zinekeller · 2024-07-23
> Are (updates to) extensions from the Chrome and Firefox store usually vetted before publication?
Mozilla does not manually review most extensions (only extensions which Mozilla recommended are manually reviewed: https://support.mozilla.org/en-US/kb/add-on-badges).
Chrome's policy is extensions are "reviewed periodically for compliance", but is unclear on how frequent is this periodic review (https://developer.chrome.com/docs/webstore/review-process).
YmiYugy · 2024-07-09
They do: https://developer.chrome.com/docs/extensions/reference/api/processes
But yeah, having that build into your browser is a huge advantage over having to nag your users to install an extension or worse convincing the IT department that it's worth installing.
oefrha · 2024-06-30
See
https://developer.chrome.com/docs/ai/built-in
https://github.com/jeasonstudio/chrome-ai
I can’t seem to find public documentation for the API with a cursory search, so https://github.com/jeasonstudio/chrome-ai/blob/ec9e334253713e08314bb2d… might be the best documentation (other than directly inspecting the window.ai object in console) at the moment.
It’s not really clear if the Gemini Nano here is Nano-1 (1.8B) or Nano-2 (3.25B) or selected based on device.
wonger_ · 2024-05-12
Ah yep! I just didn't wait long enough. Very cool. Seems like it took a lot of work. And it seems better than other browser-based video editors I've seen in the past, so kudos.
TIL about the webcodecs API to get frames of video and chunks of audio: https://caniuse.com/?search=webcodecs
https://developer.chrome.com/docs/web-platform/best-practices/webcodec…