2

Chrome で NPAPI を使用する代わりに、ファイル アップローダー PPAPI プラグインを作成する必要があります。

hello_nacl_cpp例のプロジェクトを拡張して、vs_addinPPAPI と NaCl をテストします。コードは次のようになります。

...

int32_t showSelectFileDialog() {
    pp::CompletionCallbackWithOutput< std::vector<pp::FileRef> > cb =
        factory_.NewCallbackWithOutput(&NaClProjectInstance::onFilesSelected);

    int32_t ret = file_chooser_.Show(cb);

    return ret;
}

void onFilesSelected(int32_t result,
                     const std::vector<pp::FileRef>& files) {
    std::stringstream ss;

    if (result == PP_OK) {
        // ok
    } else {
        ss << "undo select file? error code: " << result;

        PostMessage(pp::Var(ss.str()));
    }
}
...

PPAPI プラットフォームを選択して上記のコードをデバッグすれば問題ありません。しかし、NaCl64 プラットフォームでは、結果はPP_ERROR_NO_USER_GESTURE(-41). どうすればこれを修正できますか?

4

1 に答える 1

0

/** * この値は、マウス クリックやキー入力イベントなどの * ユーザー ジェスチャがないために失敗したことを示します。* ユーザー ジェスチャを必要とするアクションの例は、ファイル選択ダイアログの表示とフルスクリーン モードへの移行です。*/ PP_ERROR_NO_USER_GESTURE = -41,

HandleInputEvent で showSelectFileDialog() を呼び出す

于 2014-09-25T11:09:20.763 に答える