void CPDFSDK_ActionHandler::RunDocumentPageJavaScript( CPDFSDK_Document* pDocument, CPDF_AAction::AActionType type, const CFX_WideString& script) { ASSERT(pDocument != NULL); IJS_Runtime* pRuntime = pDocument->GetJsRuntime(); ASSERT(pRuntime != NULL); pRuntime->SetReaderDocument(pDocument); IJS_Context* pContext = pRuntime->NewContext(); ASSERT(pContext != NULL); switch (type) { case CPDF_AAction::OpenPage: pContext->OnPage_Open(pDocument); break; case CPDF_AAction::ClosePage: pContext->OnPage_Close(pDocument); break; case CPDF_AAction::CloseDocument: pContext->OnDoc_WillClose(pDocument); break; case CPDF_AAction::SaveDocument: pContext->OnDoc_WillSave(pDocument); break; case CPDF_AAction::DocumentSaved: pContext->OnDoc_DidSave(pDocument); break; case CPDF_AAction::PrintDocument: pContext->OnDoc_WillPrint(pDocument); break; case CPDF_AAction::DocumentPrinted: pContext->OnDoc_DidPrint(pDocument); break; case CPDF_AAction::PageVisible: pContext->OnPage_InView(pDocument); break; case CPDF_AAction::PageInvisible: pContext->OnPage_OutView(pDocument); break; default: ASSERT(FALSE); break; } CFX_WideString csInfo; FX_BOOL bRet = pContext->RunScript(script, &csInfo); if (!bRet) { // FIXME: return error. } pRuntime->ReleaseContext(pContext); }
void CPDFSDK_ActionHandler::RunDocumentPageJavaScript( CPDFSDK_FormFillEnvironment* pFormFillEnv, CPDF_AAction::AActionType type, const CFX_WideString& script) { IJS_Runtime* pRuntime = pFormFillEnv->GetJSRuntime(); IJS_Context* pContext = pRuntime->NewContext(); switch (type) { case CPDF_AAction::OpenPage: pContext->OnPage_Open(pFormFillEnv); break; case CPDF_AAction::ClosePage: pContext->OnPage_Close(pFormFillEnv); break; case CPDF_AAction::CloseDocument: pContext->OnDoc_WillClose(pFormFillEnv); break; case CPDF_AAction::SaveDocument: pContext->OnDoc_WillSave(pFormFillEnv); break; case CPDF_AAction::DocumentSaved: pContext->OnDoc_DidSave(pFormFillEnv); break; case CPDF_AAction::PrintDocument: pContext->OnDoc_WillPrint(pFormFillEnv); break; case CPDF_AAction::DocumentPrinted: pContext->OnDoc_DidPrint(pFormFillEnv); break; case CPDF_AAction::PageVisible: pContext->OnPage_InView(pFormFillEnv); break; case CPDF_AAction::PageInvisible: pContext->OnPage_OutView(pFormFillEnv); break; default: ASSERT(false); break; } CFX_WideString csInfo; bool bRet = pContext->RunScript(script, &csInfo); if (!bRet) { // FIXME: return error. } pRuntime->ReleaseContext(pContext); }