nsIWebProgress
インスタンスのコンテクストだけではなく、すべての子 nsIWebProgress
インスタンスの、非同期リクエストの読み込みに関連する進捗を監視しようとするクライアントによって実装されています。
nsISupports
最終更新: Gecko 15 (Firefox 15 / Thunderbird 15 / SeaMonkey 2.12)
メソッド概要
void onLocationChange(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsIURI aLocation); |
void onProgressChange(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in long aCurSelfProgress, in long aMaxSelfProgress, in long aCurTotalProgress, in long aMaxTotalProgress); |
void onSecurityChange(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long aState); |
void onStateChange(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long aStateFlags, in nsresult aStatus); |
void onStatusChange(in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsresult aStatus, in wstring aMessage); |
定数
遷移状態フラグ(State Transition Flags)
これらのフラグは、リクエストがロードされ、遷移しているさまざまな状態を表します。これらのフラグは排他的です。
リクエストが与えられる度、onStateChange()
が呼び出されます。 STATE_START
を伴って一回、STATE_TRANSFERRING
フラグを伴ってゼロまたは数回、STATE_REDIRECTING
と一回、最終的にSTATE_STOP
を伴って一回、onStateChange()
は呼び出されます。
STATE_STOP
が生成されます。(詳しくは STATE_IS_WINDOW
の詳細を参照してください)定数 | 値 | 詳細 |
STATE_START |
0x00000001 |
このフラグはリクエストが開始されたことを表します。このフラグはリクエストが初期化された際に設定されます。開始されたリクエストは、STATE_STOP フラグを伴ってonStateChange() が呼び出された時に完了します。 |
STATE_REDIRECTING |
0x00000002 |
このフラグはリクエストがリダイレクトされていることを表します。onStateChange() に通されたリクエストはリダイレクトされたものです。リダイレクトが発生したとき、その過程において自動的に新規リクエストが生成されます。新しいリクエストでも同様に STATE_START のイベントが発生し、リダイレクトされたリクエストは STATE_STOP を迎えると予想されます。 |
STATE_TRANSFERRING |
0x00000004 |
このフラグは、リクエストしたデータがこちらへと転送されている状態にあることを表します。このフラグは、リクエストがつながり、ユーザーがリクエストに対応するコンテンツを見始めるようになることも意味します。 |
STATE_NEGOTIATING |
0x00000008 |
このフラグは使用されません。 |
STATE_STOP |
0x00000010 |
このフラグはリクエストが完了したことを表します。onStateChange() の aStatus パラメータは、リクエストの最終ステータスを表します。 |
状態種類フラグ(State Type Flags)
これらのフラグは、発生しているトランザクションの状態についての実態をより詳しく説明します。これらのフラグは排他的ではありません( onStateChange()
イベントはこれらのフラグが組み合わさっていることを示すかもしれません。)
定数 | 値 | 詳細 |
STATE_IS_REQUEST |
0x00010000 |
このフラグは、ドキュメントに限らないリクエストの遷移状態を表します。(下記のドキュメントのリクエストの詳細も参照してください) (例えば画像やスタイルシートといった)インラインコンテンツのような、他の種類のリクエストはの通常のリクエストとして見做されています。 |
STATE_IS_DOCUMENT |
0x00020000 |
このフラグは、ドキュメントリクエストの遷移状態を表します。このフラグは ドキュメントに対応した読み込みに関連するリクエストの全てが完了するまで、ドキュメントリクエストは完了しません。これには、(たとえば HTML <iframe> 要素といった)他のドキュメントリクエストも含まれます。ドキュメントリクエストに対応しているドキュメントは、 |
STATE_IS_NETWORK |
0x00040000 |
このフラグは、
例えば、HTML フレームセットの単体フレームのナビゲーションの場合、フレームセットウィンドウの |
STATE_IS_WINDOW |
0x00080000 |
このフラグは、 このフラグは、 |
状態変更フラグ(State Modifier Flags)
これらのフラグは、発生しているトランザクションの状態についての実態をより詳しく説明します。これらのフラグは排他的ではありません( onStateChange()
イベントはこれらのフラグが組み合わさっていることを示すかもしれません。)
定数 | 値 | 詳細 |
STATE_RESTORING |
0x01000000 |
このフラグは、以前レンダリングされた表示結果の復元作業の開始または停止に相当する遷移状態を表します。このリクエストに関連するネットワーク・アクティビティはなく、読み込まれたオリジナルのドキュメントや表示に加えられた変更それ自体は、依然として存在しています。 |
セキュリティ状態フラグ(State Security Flags)
これらのフラグは onSecurityChange()
が呼び出されることによって 報告されるセキュリティの状態について説明します。これらのフラグは排他的です。
定数 | 値 | 詳細 |
STATE_IS_INSECURE |
0x00000004 |
このフラグは、リクエストに対応するデータが安全ではないチャンネルを経由して受信されたことを表します。 |
STATE_IS_BROKEN |
0x00000001 |
このフラグは未知のセキュリティの状態であることを表します。これは、ページ中の一部のコンテンツのリクエストが、安全ではないチャンネルを経由して読み込まれていることを意味するかもしれません。 |
STATE_IS_SECURE |
0x00000002 |
このフラグは、リクエストに対応するデータが安全なチャンネルを経由して受信されたことを表します。セキュリティの程度については、STATE_SECURE_HIGH 、STATE_SECURE_MED 、または STATE_SECURE_LOW によって表現されます。 |
セキュリティ強度フラグ(Security Strength Flags)
これらのフラグは、セキュリティの強度と、onSecurityChange()
メソッドの呼び出しに伴う STATE_IS_SECURE
について説明します。これらのフラグは排他的です。
これらのフラグは、データ転送のセキュリティについて厳密な詳細を提供することを意味しません。これらは代わりに、セキュリティ通知の色区分や、その他ユーザー向けの基本的なデータ転送のフィードバックなどのような、簡易的なインジケータで使用されることを意図しています。
定数 | 値 | 詳細 |
STATE_SECURE_HIGH |
0x00040000 |
このフラグは高レベルのセキュリティにあることを示します。 |
STATE_SECURE_MED |
0x00010000 |
このフラグは中レベルのセキュリティにあることを示します。 |
STATE_SECURE_LOW |
0x00020000 |
このフラグは低レベルのセキュリティにあることを示します。 |
アイデンティティ状態フラグ(State identity flags)
これらのフラグは、onSecurityChange()
メソッドの呼び出しにおける、身元検証のレベルについて説明します。
定数 | 値 | 詳細 |
STATE_IDENTITY_EV_TOPLEVEL |
0x00100000 |
ステータスビットにおける EV とは Extended Validation すなわち High Assurance であり、高く保証されていることを意味します。 最高位のドキュメントには EV 証明書が使用されています。 |
ロケーション変更状態フラグ (Location Change flags)
定数 | 値 | 詳細 |
LOCATION_CHANGE_SAME_DOCUMENT |
0x00000001 |
このフラグは、aWebProgress が新たにドキュメントを読み込まなかったときのものです。例としては、アンカーによるスクロールや pushState/popState/replaceState によるロケーションの変更が挙げられます。 |
メソッド
onLocationChange()
変更を監視されているウィンドウのロケーションが変更された際に呼び出されます。読み込みがリクエストされたときではなく、与えられたウィンドウにおいて読み込みが発生しようとしているの一度確認された際に呼び出されます。たとえば、ウィンドウに於いて開始した読み込みが、新しいサイトに向けてプログレスとステータスメッセージを送信していたとしても、新たなページが読み込まれていると私たちが確認するまでは、onLocationChange
は呼び出されないでしょう。別の例として、ブラウザの中でドキュメントが読み込まれているのではなく、サードパーティのツールへとドキュメントが渡された場合、PDFやフラッシュの読み込みでは onLocationChange
は呼び出されないでしょう。
void onLocationChange( in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsIURI aLocation [optional] in unsigned long aFlags );
引数
-
aWebProgress
-
通知が発生した
nsIWebProgress
インスタンス。 -
aRequest
-
関連する
nsIRequest
。いくつかの場合では、この値はnull
かもしれません。 -
aLocation
- 読み込まれているロケーションの URI 。
-
aFlags
- オプション:この値は、ロケーションが変更された状況や理由について表します。 Optional from Gecko 10
onProgressChange()
aWebProgress
に関連するリクエストのひとつの変更されたプログレスを通知します。(STATE_STOP
と STATE_IS_WINDOW
フラグを含む aStateFlags
を伴って呼び出された onStateChange()
に対応する) aWebProgress の全てのリクエストが完了したとき、プログレス全体はゼロへとリセットされます。
nsIWebProgressListener2
を実装しており、尚且つ呼び出し側がそのインターフェースを知っている場合、この関数は呼び出されません。その場合、代わりに nsIWebProgressListener2.onProgressChange64()
が呼び出されます。void onProgressChange( in nsIWebProgress aWebProgress, in nsIRequest aRequest, in long aCurSelfProgress, in long aMaxSelfProgress, in long aCurTotalProgress, in long aMaxTotalProgress );
引数
-
aWebProgress
-
通知が発生した
nsIWebProgress
インスタンス。 -
aRequest
-
新しいプログレスを持つ
nsIRequest
。 -
aCurSelfProgress
- リクエストの現在のプログレス。
-
aMaxSelfProgress
- リクエストの最大のプログレス。
-
aCurTotalProgress
- aWebProgress に関連する全てのリクエストにおける、現在のプログレス。
-
aMaxTotalProgress
- aWebProgress に関連する全てのリクエストにおける、全体のプログレス。
onSecurityChange()
セキュリティプログレスを通知します。このメソッドは (例えば HTTP -> HTTPS または HTTP, FOO -> HTTPS といった)セキュリティの遷移に応じて、およびドキュメントの読み込みの完了と共に呼び出されます。ネットワーク読み込みの間にエラーが発生した場合でも、同様に呼び出されます。
void onSecurityChange( in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long aState );
引数
-
aWebProgress
-
通知が発生した
nsIWebProgress
インスタンス。 -
aRequest
-
新しいセキュリティ状態の
nsIRequest
。 -
aState
- 上述のセキュリティ状態フラグとセキュリティ強度フラグによって構成された値。将来的には未定義なビット列を受け取ることになるかもしれません。
onStateChange()
aWebProgress に関連するリクエストのいずれかの状態が変更されたことを通知します。
void onStateChange( in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long aStateFlags, in nsresult aStatus );
引数
-
aWebProgress
-
通知が発生した
nsIWebProgress
インスタンス。 -
aRequest
-
状態が変更した
nsIRequest
。この引数はnull
である場合があります。 -
aStateFlags
- 新しい状態のフラグを表します。この値は、上述した遷移状態フラグのひとつと、状態種類フラグのひとつ、または複数によって構成されています。将来的には未定義なビット列を受け取ることになるかもしれません。
-
aStatus
-
状態の変更に関連するエラーステータスコードです。この引数は aStateFlag が
STATE_STOP
ビットを含まない限りは無視されます。ステータスコードは状態の変更に関連するリクエストの成功または失敗を示します。註:HTTP404 File Not Found
エラーのようなサーバー側で発生したエラーに対しても、成功したとのコードを示すかもしれません。こうした場合において、リクエスト自体のエラー情報については、(HTTPリクエストについてはnsIHttpChannel
を参照するなど)拡張されたエラー情報を問い合わせるべきです。
onStatusChange()
リクエストのステータスが変更されたことを通知します。ステータスメッセージは、ブラウザのステータスバーなどといった、ユーザーへの表示を意図されています。
void onStatusChange( in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsresult aStatus, in wstring aMessage );
引数
-
aWebProgress
-
通知が発火した
nsIWebProgress
。 -
aRequest
-
新たなステータスを持つ
nsIRequest
。 -
aStatus
-
この値はエラーコードではありません。その代わり、現在のリクエストのステータスを示す数値になります。このインターフェースはステータスコードの設定が可能なようには定義されていません。
註:いくつかのステータス値は、nsITransport
およびnsISocketTransport
で定義されています -
aMessage
- aStatus に対応するローカライズされたテキスト。
例
タブごとへの nsIWebProgressListener:
gBrowser.mProgressListeners (上で述べたようにタブ毎の nsIWebProgressListener によって起動される):