Stay organized with collections Save and categorize content based on your preferences.
Test a new or experimental web platform feature.
Origin trials give you access to a new or experimental feature, so that you can test this feature and offer it to your users, for a limited time. Once the trial is completed and the feedback assessed, Chrome decides if the feature should be made available to everyone.
You can register for an origin trial to enable a feature for all users on your origin, without requiring them to toggle any flags or switch to an alternative build of Chrome (though, they may need to upgrade). Once, registered, developers can build demos and prototypes using the new features. The trials also help Chrome engineers understand how new features are used and how they may interact with other web technologies.
AvailabilityOrigin trials are public and open to all developers. They are limited in duration and usage. Participation is a self-managed process with limited documentation and support. Participants should be willing and able to work relatively independently using the documentation available, which, at this stage, is likely limited to API specifications and explainers. We do try to provide guidance whenever possible.
If you register for a trial, the Chrome team will periodically ask you for specific feedback on your use of the trial feature. Some features may undergo multiple origin trials, as feedback is incorporated and adjustments are made.
Origin trials are also available for Firefox and Microsoft Edge.
Third-party origin trialsBy default, an origin trial feature is only available on the origin registered for the trial. Some trials provide a Third-party matching option on registration. This allows providers of embedded content or services to try a new feature across multiple sites, without requiring a token for every origin.
Find out more: What are third-party origin trials?
Deprecation trialsSome origin trials allow you to temporarily re-enable a deprecated feature. These are known as deprecation trials. In some contexts, they are referred to as "reverse" origin trials.
For example, mutation events were removed, starting in Chrome 127. Sites that needed extra time before removing these events, can register for the deprecation trial to re-enable the events temporarily, on specified sites.
Take part in an origin trial<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
Origin-Trial: TOKEN_GOES_HERE
You can register for the same origin trial multiple times, for different origins, and include multiple tokens in the same page. This can be useful if you need to provide tokens that are valid for resources served from different origins, such as code included on multiple sites that you own.
The origin trials framework looks for the first valid token and then ignores all other tokens. You can validate this with Chrome DevTools.
Provide a token programmaticallyInstead of providing a token as an HTTP header or as a meta tag in the HTML of your page, as described earlier, you can inject a token with JavaScript:
const otMeta = document.createElement('meta');
otMeta.httpEquiv = 'origin-trial';
otMeta.content = 'TOKEN_GOES_HERE';
document.head.append(otMeta);
Use this method if you're participating in a third-party trial.
Caution: A third-party token must be provided in an external JavaScript file included with a<script>
element. A third-party token won't work in a meta tag, inline script or HTTP header. Tokens and iframes
To access a trial feature from an iframe, you can provide a trial token in a meta tag, an HTTP header, or programmatically.
As for all token usage, the origin registered for the token must match the context of JavaScript that accesses the trial feature: either the origin of the page the includes an inline script, or the src
of a <script>
element for JavaScript included from an external file.
To use a trial feature inside of a background script, popup, sidepanel, or offscreen document, use the trial_tokens
key in your manifest.json file.
"trial_tokens": ["AnlT7gRo/750gGKtoI/A3D2rL5yAQA9wISlLqHGE6vJQinPfk0HiIij5LhWs+iuB7mTeotXmEXkvdpOAC1YjAgAAAG97Im9yaWdpbiI6ImNocm9tZS1leHRlbnNpb246Ly9sampoamFha21uY2lib25uanBhb2dsYmhjamVvbGhrayIsImZlYXR1cmUiOiJJQ2Fubm90QmVsaWV2ZVlvdVdhc3RlZFlvdXJUaW1lRGVjb2RpbmdUaGlzIiwiZXhwaXJ5Ijo1NzI1NDA3OTk5fQ=="]
Content scripts are handled differently. Exposing a feature to one world could be confusing and unintuitive. Instead of using the manifest's trial_token
, add the token to the page in one of the following ways:
declarativeNetRequest
Remember that tokens are tied to specific domains, so you need to register for the domain the content script is running on, rather than your extension ID.
To register your extension for a trial, you use the URL chrome-extension://YOUR_EXTENSION_ID
, for example chrome-extension://ljjhjaakmncibonnjpaoglbhcjeolhkk
.
If an origin trial is extended, you'll receive an email warning that you need to renew registration and provide a new token for each origin enrolled in the trial.
Chrome ignores invalid or expired tokens.
Note: The requirement for a breaking period was removed in April 2022.View information about the origin trials available to a site from the Application panel in Chrome DevTools.
You can also use our origin trial token decoder to view the data encoded in a token.
DemosThe following sites show examples of token deployment.
How to provide an origin trial tokenThe following are demos for APIs in ongoing origin trials
ResourcesKeep reading our Chrome concept documentation:
Discover more about origin trials in Chrome:
Find origin trials in other browsers:
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-11-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-11-07 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3