Google has added a pair of "experimental" APIs to its Chrome browser, including one for querying and modifying the user's browser history and one for accessing info involving Google's new-age process model.
Both the "experimental history" API and the "experimental processes" API are now available with Chrome's dev channel build, used to explore tools not yet ready for beta testing. Apparently, these are the first of many experimental APIs.
"The idea is that we can add new APIs to the platform that may not be ready for prime time," reads a blog post from software engineer Eric Kay. "This allows you to play with these APIs and give us feedback before they’re final, which in turn helps us get them out to everybody more quickly."
When the experimental history API is finalized, Kay says, it will also let developers replace - or "override" - Google's history page with their own. Today, Google provides an override for the Chrome's New Tab page, the page that appears when you create a new tab or window.
The processes API provides access to such things as process IDs and CPU usage for individual tabs. Mountain View's process model can run each browser tab as a separate process.
"Web applications are becoming more complex and resource demanding, and power users may want a better view of which pages are responsible for resource use," reads the API's design page. "It may also be useful as a debugging or diagnosis tool, to see which tabs are currently sharing fate."
The design page suggests that the API might allow for a Chrome extension that automatically restores all affected tabs when a process crashes or one that provides a Windows Task Manager-like utilization graph for browser processes.
As it stands, the extensions can't be used unless you add a command line flag when starting the browser. Extensions that use the APIs can't be uploaded to Google's public extensions gallery. And Google warns that the APIs will change in ways that will break extensions built on current designs. Kay says that Google expects to add more experimental APIs to the dev channel as time goes by. ®