ブラウザプラグインのテスト

HTMLからのSqueakへのパラメータの引渡し

HTMLファイル(テストのため、独自パラメータを渡しています):

<OBJECT
	ID="SqueakOCX Control"
	WIDTH=1024 HEIGHT=768
	ALIGN=center BORDER=2
	CLASSID="CLSID:2BE9C39E-8386-4435-B337-FCDAD8EAB006"
	CODEBASE="http://www.squeakland.org/installers/SqueakPluginInstaller.exe">
  <PARAM name="src" value="http://www.squeakland.org/projects/EToy-Template.001.pr">
  <PARAM name="update" value="187">
  <PARAM name="win32" value="Squeak3.2gamma of 12 January 2002 [latest update: #4879]">
  <PARAM name="macos" value="Squeak3.1alpha of 16 May 2001 [latest update: #4081]">
  <PARAM name="loader_url" value="http://www.squeakland.org/project.jsp">
  <PARAM name="pluginspage" value="http://www.squeakland.org/detect.html">
  <PARAM name="update_url" value="http://www.squeakland.org/update/">
	 <PARAM name="apiSupported" value="TRUE">
  <PARAM name="koraku" value="rider">
</OBJECT>

これをIEで開き、起動されたSqueakで、以下を評価:

AbstractLauncher extractParameters

評価結果(正しく動作しています):

a Dictionary('APISUPPORTED'->'TRUE' 'KORAKU'->'rider' 
 'LOADER_URL'->'http://www.squeakland.org/project.jsp'
 'MACOS'->'Squeak3.1alpha of 16 May 2001 [latest update: #4081]'
 'PLUGINSPAGE'->'http://www.squeakland.org/detect.html'
 'SRC'->'http://www.squeakland.org/projects/EToy-Template.001.pr'
 'UPDATE'->'187' 'UPDATE_URL'->'http://www.squeakland.org/update/'
 'WIN32'->'Squeak3.2gamma of 12 January 2002 [latest update: #4879]' )

プラグインがブラウザ側のネットワークを使っていることを確認する

Proxy経由でないとInternetにつながらない環境で、Squeakland.jp内のプロジェクト埋め込みページを開き、プロジェクトを起動する→OK

おまけ:知られざるブラウザ統合機能

参考:http://wiki.squeak.org/squeak/1865

(1) Squeak側から要求して、新しいブラウザウィンドウを開きWebページを表示する→OK

FileStream requestURL: 'http://www.squeak.org/' target: '_blank'

(2) ブラウザを使ってリソースをダウンロードし(あるいはブラウザキャッシュから)Squeakから読み込む→OK

"MultiByteFileStreamが返ってくるので、#contentsで中身を読んでいます"
(FileStream requestURLStream: 'http://squeakland.jp/') contents

まとめ

SqueakOCX2はetoys用として使用するための最低条件はクリアできていることを確認できました。
リリースパッケージで、SqueakOCXと置き換えてしまうことを提案します。