>>656 「CPOWsを使えるように」←ほほー!!
試行錯誤の中でCPOWsが障壁になっているのは知ってたけど、about:configにそんな項目あったんか!!
と思って dom.ipc.cpows.forbid-unsafe-from-browser;false にしたら、確かに下記で取得できました。
gBrowser.mCurrentBrowser._contentWindow.getSelection().toString();

しかしCPOWsを許可してしまうと、古いアドオンがブラウザUIのパフォーマンスを悪くしてしまう、
…という理解であってるか自信もないですが、とにかくほめられた対策ではないのですよねきっと。

>>657 が本道なのだとは思うのですが、Web開発>ブラウザーツールボックスのスクラッチパッドで
var browserMM = gBrowser.selectedBrowser.messageManager;
browserMM.loadFrameScript('data:,console.log(123)', true);
としても、 consoleMsg.functionName is null と怒られてしまい(この怒られ方もよくわからない)、
alert is not defined
window is not defined
document is not defined
gBrowser is not defined
...
などといった具合で、data:スキーム内にはなんにも存在しないのかと途方に暮れました。
Mathは存在するようなのでスコープ内が空っぽというわけではないようですが。
その場に存在するモノを列挙してみたいけど、グローバルルートなオブジェクトもわんないし出力手段もない…。

そもそもの素養が不足しているのだと思いますが、いまのところ思いついているのは
ぐりもん側で「document.title += ('[' + window.getSelection() + ']');」 などとやって、
クロームスクリプト側からは gBrowser.contentTitle から選択文字列を取得する…というバッドノウハウです。
しかしこれじゃCPOWs許可と五十歩百歩という気がします。