私がNaCl SDKの0.1を触っていた当時から大きく変わっている点がJavsScript・C++間のコミュニケーション・インターフェースである。
以前はお互いのメソッドを呼び合うインターフェースだった。JavaScript側からは普通にメソッドを呼び出し(C++側のメソッド情報を知らせる pp::deprecated::ScriptableObjectがあった)、C++側からはCallメソッドでメソッド名と引数を渡すと呼び出すことができた。なんとなくCOMのIDispatchに似ている。
0.5ではメッセージでやり取りするようになった。PostMessageで文字列や数値を送り、HandleMessageで受け取る。以前のように複数の情報を渡したりすることはできないので、主に文字列でメッセージの意味や情報を埋め込んでやり取りすることになる。オブジェクトはダメなようだけど近い将来できるようになるかもしれないね。
参考:http://code.google.com/intl/ja/chrome/nativeclient/docs/messageSystem.html