Не удалось вызвать `pp::FileChooser_Dev` в NaCl

Мне нужно написать плагин PPAPI для загрузки файлов вместо использования NPAPI в Chrome.

Я расширяю проект 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). Как я могу это исправить?


person user3871236    schedule 24.07.2014    source источник


Ответы (1)


/** * Это значение указывает на сбой из-за отсутствия жеста пользователя, такого как * щелчок мышью или событие ввода клавиши. Примеры действий, требующих пользовательского * жеста: отображение диалогового окна выбора файла и переход в * полноэкранный режим. */ PP_ERROR_NO_USER_GESTURE = -41,

вызвать showSelectFileDialog() в HandleInputEvent

person user3871236    schedule 25.09.2014