- Add message chunking support to IFPC transport, allowing Hub to transmit long messages (greater than 2K characters) on IE 6/7.
- Disabled use of NIX transport for IE 6/7 -- recent Microsoft updates broke that transport. Instead, fall back to using IFPC transport. Unfortunately, this requires a new parameter to the IframeContainer constructor, "clientRelay". Please review the documentation for that parameter in iframe.js.
- Updated tests and samples based on above changes.
Version 2.0.5 (since 2.0.3)
- Replaced the iframe communications layer with Shindig's RPC (Shindig is the reference implementation of the OpenSocial spec). This allows the Hub to better support legacy browsers, although not all security features will be available -- see the SECURITY section at the top of iframe.js. The RPC object is available under the "OpenAjax.gadgets.rpc" namespace.
- Redid the build packages, based on RPC changes. Also added an option to disable compression of JS code during build.
- Updated samples and test suite based on changes.
- This implementation differs from the OpenAjax Hub specification in the following ways:
- Makes available Shindig's RPC code under the "OpenAjax.gadgets.rpc" namespace.
- The "IframeContainer.tunnelURI" parameter to the IframeContainer constructor is now optional. For more information, see the SECURITY section at the top of iframe.js. If "tunnelURI" is specified but the current browser cannot securely use it, the constructor throws an "OpenAjax.hub.Error.IncompatBrowser" error.
- The optional "IframeHubClient.requireParentVerifiable" parameter has been added to the IframeHubClient constructor. Set it to true if you require that the IframeHubClient be able to securely verify the identity of its parent.
- Adds the "OpenAjax.hub.Error.IncompatBrowser" error.
- Fix for IE memory leak when removing IFRAME from DOM.
- FramePhish security error that is thrown when an iframe is maliciously navigated away should be a blocking error, preventing any new content in iframe from running before FramePhish security error is handled.
- Track unload of main page so that code doesn't throw FramePhish security error when main page is closed or navigated away.
- Fix memory leaks.
NOTE: The Hub now sets the 'id' and 'name' attributes on the iframe DOM node created by IframeContainer, and depends on these values in order to function properly. Do not override these values. The value for these attributes will normally be set to the value of 'clientID' passed in to IframeContainer. The only exception is when there are multiple IframeContainers with the same ID (belonging to different ManagedHubs, naturally) -- in this case, you can get the attribute values directly from the iframe DOM object: "<IframeContainer object>.getIframe().id".
- Message transmission no longer causes clicking sounds on Internet Explorer versions 6 and 7.
- Size reduction due to code refactoring.