void PlatformMessagePortChannel::postMessageToRemote(PassOwnPtr<MessagePortChannel::EventData> message)
{
    if (!m_localPort || !m_webChannel)
        return;

    WebString messageString = message->message()->toWireString();
    OwnPtr<WebCore::MessagePortChannelArray> channels = message->channels();
    WebMessagePortChannelArray* webChannels = 0;
    if (channels.get() && channels->size()) {
        webChannels = new WebMessagePortChannelArray(channels->size());
        for (size_t i = 0; i < channels->size(); ++i) {
            WebCore::PlatformMessagePortChannel* platformChannel = (*channels)[i]->channel();
            (*webChannels)[i] = platformChannel->webChannelRelease();
            (*webChannels)[i]->setClient(0);
        }
    }
    m_webChannel->postMessage(messageString, webChannels);
}