1. A method for discovering and installing web application plugins, the method comprising: initiating a client-side component of a server-based web application, the client side-component hosting a first document; opening, by the client-side component, an inline frame within the first document, the inline frame hosting a second document different from the first document; using cross-document messaging to communicate, from the second document to the first document, metadata describing a plugin's capabilities, the metadata further providing an API to access the plugin's capabilities via cross-document messaging; and utilizing the capabilities of the plugin using cross-document messaging in accordance with the API.