[2] Web IDL の型定義された型 VibratePattern
は、
unsigned long
または unsigned long
の sequence<>
です >>1。これをバイブレーションパターンといいます。
[25] バイブレーションパターンは、バイブレーションの動作パターンを表しています。
[26] 単一の値は、その値のみを含むリストと等価です。
[27] リストは、バイブレーションさせる長さとその後何もしない時間を交互に指定したものです。 何個でも指定できます。 (ただし正の偶数個の指定は、末尾の要素が何もしない時間の指定となりますから、 意味がありません。) 空でも構いません。
[3] VibratePattern
は、 vibrate
メソッドの引数に使われています。
[36] Notification
コンストラクター
(NotificationOptions
) に VibratePattern
を vibrate
として指定することができます。
通知は、バイブレーションパターンを持つことができます >>39。
[5] バイブレーションパターンの検証および正規化とは、次のような操作です >>4。
[11] リストの長さの最大値は、実装依存です。利用者エージェントは、装置や OS
の制限より長い時に内部的にパターンを分割することで、実質的にそれより長いパターンに対応できます。
しかし、利用者に対するDoS攻撃を企てるアプリケーションがあるかもしれませんから、
あまりに長いパターンは無視するべきかもしれません。
なおアプリケーションも、同様に利用者エージェントが対応できないとわかっている長いパターンを分割して navigator.vibrate
を呼び出すことはできます。 >>4
[38] このアルゴリズムは、 navigate.vibrate
や
Notification
コンストラクターから呼び出されます。
[14] バイブレーションパターンについてバイブレーションを実施するとは、次のような操作をいいます >>13。
[29] 利用者エージェントは、利用者の設定に従いバイブレーションを無効にしても構いませんし、 一定時間内の利用回数を制限しても構いません >>15。その場合偽を返して停止することになります。
[30] デスクトップブラウザーなどバイブレーション可能な装置が存在しない時の挙動は明記されていませんが、 Chrome も Firefox も真を返します。実装報告 >>35 はデスクトップブラウザーのテスト結果も掲載しており、これが想定通りの動作のようです。
[31] このアルゴリズムは、自身が別途実行されることにより (>>18)、
あるいは可視性状態の変化 >>13 (visibilitychange
相当) により停止させられることがあります。
[37] このアルゴリズムは、 navigate.vibrate
や
Notification
の display steps から呼び出されます。
[41] バイブレーションパターンはその違いによって通知の種別を表すなど、 有用な情報を表すことができます。しかし、バイブレーションは無効に設定されていたり、 装置にその機能が存在しなかったりすることもあります。
[40] 著者はバイブレーションパターンのみでしか利用者がアクセスできない形で情報を提供するべきではない >>39 とされています。
0
のみの値により、現在実施中のバイブレーションを停止させることができます。