2013年8月26日月曜日

拡張機能の制限事項

Tungsten 1.14から、Blinkエンジンを使用する際に、Chromiumの拡張機能が使用できるようになりました。

しかし、全ての拡張機能が使用できるとは限りません。Tungsten固有の制限事項があります。 Tungstenのバージョンアップにより制限が緩和されることもあります。

※2015/1/18 全画面表示に関する部分を修正。

[使用できない機能]

ブックマーク操作全般

Tungstenのお気に入り機能と重複するため、Chromium側のブックマーク機能は使用できません。
ただし、chrome://bookmarks/でスタートメニューにあるお気に入りを開くことだけはできます。

履歴操作全般

Tungstenの履歴機能と重複するため、Chromium側の履歴機能は使用できません。
ただし、chrome://history/でTungstenの履歴を開くことだけはできます。

シークレットモード

Tungstenにはシークレットモードがなく、意図的に無効化しています。
たとえシークレットモードが使用できたとしても、グループ間の移動でクラッシュする可能性があります。

Omnibox(Chromiumのアドレスバー)拡張

ダブルレンダリングエンジンであるため、アドレスバーは独自実装となっています。
Omniboxを前提とした拡張機能は使用できません。

バックグラウンドプロセスの常駐

オフラインGmailなど、Chromiumが終了してもChromiumのバッググラウンドプロセスを常駐させる拡張機能は、 Tungstenを終了させるとバックグラウンドプロセスが終了してしまいます。
Tungstenが起動していない間は通知を受け取ることができません。

なお、バックグラウンドで動作する拡張機能やアプリを追加すると、以下の図のように表示されますが、嘘です。 実際はシステム起動時に開始されませんし、Tungstenのウィンドウを閉じるとバックグラウンドで動作し続けられません。

この動作は将来のバージョンで変更される可能性があります。

Chrome Appsの常駐、および単独起動

Chromeウェブストアには、Chrome Appsというブラウザーウィンドウとは独立したウィンドウで起動するアプリがあります。 1.16から、これらのアプリを起動することはできるようになりましたが、 上記のバックグラウンドプロセスと同様の問題で、Tungstenを終了させるとChrome Appsも終了してしまいます。
Chrome Apps表示中にタスクバーにピン留めすると、Tungstenの有無に関係なく起動できてしまいますが、 Tungstenが起動していない状態では正常に動作しません。

この動作は将来のバージョンで変更される可能性があります。

Google APIキーを要求する拡張機能、アプリ

Chromeリモートデスクトップなど、使用開始時にGoogleアカウントのログインを要求する拡張機能やアプリは動作しません。
これは、内部でGoogle APIキーを使用していることが原因です。ライセンスの都合上、TungstenにはAPIキーが入っていません。

Googleアカウントによる同期機能に依存する拡張機能、アプリ

Googleアカウントの同期機能も、APIキーを必要とします。 先述の通り、APIキーが入っていないため、それに依存する機能は動作しません。
例) ほかのデバイスのタブを開く

[Chromiumとは異なる挙動を示す機能]

全画面表示

※2015/1/18 全画面表示は、1.97から使用可能になりました。

Tungstenでは、Chromiumのウィンドウを全画面表示モードに固定し、それを子ウィンドウ化させて表示しています。 Chromiumの全画面表示の切り替え時は、Tungstenのウィンドウとブラウザのウィンドウ関係を変えることで実現していますが、Chromiumの内部状態としては全画面表示モードを維持することになります。
したがって、全画面表示の切り替え自体は可能で機能しますが、Chromiumでの全画面表示モードを解除することはできません。 そのため、全画面表示が解除されていることを確認するような拡張機能・アプリは正常に動作しない可能性があります。

新しいウィンドウで開く

現時点での仕様上、複数ウィンドウにできないため、新しいウィンドウで開く機能は(見かけ上は)なくなりました。 Tungstenでは、新しいウィンドウを開く代わりにグループを作り、その中にタブを開くようにしています。
これは、内部構成として Tungsten1グループに対してChromium 1ウィンドウが対応する関係となっているためです。

タブ固定/固定解除

Tungstenのタブ固定機能とは異なるため、何も機能していないように見えます。
Tungstenの将来のバージョンで、タブ固定機能が連動するようになる可能性があります。

タブより左側を閉じる/右側を閉じる

基本的にはChromiumとTungstenのタブの並び順が同じになるようにしていますが、正常動作は保証できません。 予期しないタブが閉じられてしまう可能性があります。
また、ChromiumからTridentエンジンのタブやタブグループを閉じることはできません。

右側のタブに切り替える/左側のタブに切り替える

Chromiumからでは、Tridentエンジンのタブを把握することはできないので、 Chromiumから見て右側/左側のタブに切り替えることになります。

タブを右側に移動/タブを左側に移動

基本的にはChromiumの並び順がTungstenの並び順へ反映されますが、動作保証はありません。

タブの切り離し/ドッキング

タブを切り離して新しいウィンドウができた場合は新しいグループが作成されますが、正常に動作しない可能性があります。
ドッキングについても、正常に動作しない可能性があります。

[Chromiumと同じ挙動を示すが、Tungstenにはない、もしくは重複する機能]

閉じたタブを開く

ダブルエンジンにより履歴管理が複雑になるため、通常はTungstenが独自方式で閉じたタブを管理しています。 しかし、拡張機能を使って閉じたタブを開いた場合、独自方式ではなくChromiumの機能を使用して閉じたタブを開きます。
Tridentエンジンの閉じたタブを開くことはできません。
また、BlinkからTridentへのエンジン切り替えも、タブを閉じたと見なされるため、エンジン切り替え前のタブが復元される場合もあります。