2

我需要编写一个文件上传器 PPAPI 插件,而不是在 Chrome 中使用 NPAPI。

hello_nacl_cpp在示例中扩展项目vs_addin以测试 PPAPI 和 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 回答