Skip to content
dynamis edited this page Mar 19, 2022 · 33 revisions

Amethyst: Gecko-based WebViewer for embedded devides

about:amethyst

Gecko (Firefox のブラウザエンジン) を組込環境で利用するには Firefox ブラウザビルドでは過剰な機能に伴ってパフォーマンス、メモリ使用量、外部サーバへの通信等の問題があるため、シンプルに単一 HTML を読み込める軽量ビルドが必要であり、そのサンプル実装をした物です。

なお、Amethyst は開発時のコードネーム、プロダクト名は WebViewer (半角空白無し) となります。

使い方

基本的にはコマンドライン引数で指定した URL をフルスクリーンで読み込むだけで、UI は一切提供しない。例外は次の通り

  • Backspace キーで前のページに戻ります

コマンドラインでは開く URL の指定を始め、Firefox のコマンドラインオプション と一部同様のものが使えます。但し以下のもの以外は動作しないか利用を推奨できません。

  • -url http://url.to/open
    • -url を省略して URL だけを渡しても同じです。Firefox とは異なり複数 URL の指定はサポートしません。
  • -start-debugger-server port
    • 指定したポート (省略時は 6000) でデバッガーサーバを起動します。
  • -ProfileManager または -P (プロファイル名指定無し)
    • プロファイルマネージャを起動する。
  • -P profileName または -profile path/to/profile
    • プロファイル名またはプロファイルディレクトリを指定して起動する
  • -private
    • プライベートブラウジングモードで起動します。履歴などの情報を記録しないで利用したい場合に使えます。

Gecko エンジンに対する環境変数での指定は Firefox ビルドと共通です。RZ/G2 共通の Tips ページ などをご覧ください。

その他、Amethyst 専用の Tips ページキーボードショートカット も参考にしてください。

制限事項

Amethyst はブラウザアプリケーションでは無く、HMI インターフェイス表示用に Web コンテンツを単体で読み込んで表示する以外の機能についてはサポートしていません。Firefox のビルドから最小限の差分とするために残っているブラウザ的な機能はありますがサポート外です。

詳しくは Limitations ページ を参照。

コンテンツ開発手順

Amethyst ビルドでは原則として同じバージョンの Firefox ビルドと同じ振る舞いをするため、コンテンツ開発は Firefox ビルド (デスクトップ版、組込ボード版いずれか) で開発をした上で最後に Amethyst で検証する形で開発可能です。

Amethyst ビルドで直接開発や検証を行いたい場合も、開発ツールなどのメニューや UI が用意されておらず WebViewer ビルド上でデバッグすることはできませんが、リモートデバッグを用いることで基本的には Firefox ビルドと同様に開発して頂けます。

  • リモートデバッグで開発を行う手順は リモートデバッグページ を参照してください。
  • Web コンテンツからシステムのコンソール(ターミナル)にメッセージを出力するには browser.dom.window.dump.enabled prefs 設定を有効にした上で window.dump() をご利用ください (実行ファイル名は firefoxwebviewer と読み替えてください)。

How to Build

Amethyst のパッチ適用手順は本リポジトリの README.md を参照してください。パッチの適用が出来たら、あとは Firefox と同様にビルドするだけです。

Yocto でビルドする場合のレシピは webdino/meta-browser (の各ブランチ) に含めています。

Test

ビルドを作成したら最低限 Google 検索、適当なサイトを数件表示程度行った上で、必要に応じてサンプルコンテンツの表示テストやベンチマークによる負荷テストを実施する。対象となるページのサンプルは Gecko Embedded Wiki の QA ページを参照:

https://github.com/webdino/gecko-embedded/wiki/QA

参考

Firefox が自動的にインターネット接続する処理についてはサポート記事を参照:

https://support.mozilla.org/ja/kb/how-stop-firefox-making-automatic-connections

お問い合わせ

Web Viewer に関するご質問、バグ報告、ご提案などは issues をご利用ください。 サポートやカスタマイズなどのお問い合わせについては WebDINO Japan のフォーム をご利用ください。