A New Collection of Thoughtful Learning Apps — Now Available on iOS & Android

Image
I’m excited to share a set of mobile apps I’ve recently completed and published on both the Google Play Store and the Apple App Store. These apps are designed with a simple goal in mind: to make meaningful, structured content more accessible, whether you’re studying theology or improving your English vocabulary. 📱 Now Available on Both Platforms All apps are live and available for download: Google Play Developer Page: https://play.google.com/store/apps/dev?id=5835943159853189043 Apple App Store Developer Page: https://apps.apple.com/ca/developer/q-z-l-corp/id1888794100 📖 Theology & Confession Study Apps For those interested in Reformed theology and classical Christian teachings, I’ve developed a series of apps that present foundational texts in a clean, focused reading format: The Belgic Confession Canons of Dort Heidelberg Catechism Westminster Shorter Catechism Each app is designed to provide a distraction-free experience, making it easier to read, reflect, and revisit these im...

chromium : how extension install prompt dialog get showed

installerprompt
 
#2 0x5589ca9aaeba ExtensionInstallPrompt::ShowDialog()
#3 0x5589ca9aac7c ExtensionInstallPrompt::ShowDialog()
#4 0x5589ca9aa96e ExtensionInstallPrompt::ShowDialog()
#5 0x5589cb168cca extensions::WebstorePrivateBeginInstallWithManifest3Function::OnWebstoreParseSuccess()
#6 0x5589cab3821b extensions::WebstoreInstallHelper::ReportResultsIfComplete()
#7 0x5589cab37efd extensions::WebstoreInstallHelper::OnFetchComplete()
#8 0x5589c85da07b chrome::BitmapFetcher::OnImageDecoded()
#9 0x5589c85dc1d1 ImageDecoder::OnDecodeImageSucceeded()
#10 0x5589c7303c4f _ZN4base8internal13FunctorTraitsIMN10extensions8internal26ScopedCallbackRunnerHelperIFvRKNSt3__16vectorIhNS5_9allocatorIhEEEEN6device5mojom18SerialReceiveErrorEEEEFvSB_SE_EvE6InvokeIPSG_JS9_SE_EEEvSI_OT_DpOT0_
#11 0x5589c7303baa _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIMN10extensions8internal26ScopedCallbackRunnerHelperIFvRKNSt3__16vectorIhNS7_9allocatorIhEEEEN6device5mojom18SerialReceiveErrorEEEEFvSD_SG_EJPSI_SB_SG_EEEvOT_DpOT0_
#12 0x5589c85dda95 _ZN4base8internal7InvokerINS0_9BindStateIM22SiteDataCountingHelperFvRKNSt3__13setI4GURLNS4_4lessIS6_EENS4_9allocatorIS6_EEEEN7storage11StorageTypeEEJNS0_17UnretainedWrapperIS3_EEEEEFvSD_SF_EE7RunImplIRKSH_RKNS4_5tupleIJSJ_EEEJLm0EEEEvOT_OT0_NS4_16integer_sequenceImJXspT1_EEEESD_OSF_
#13 0x5589c85dda13 _ZN4base8internal7InvokerINS0_9BindStateIM22SiteDataCountingHelperFvRKNSt3__13setI4GURLNS4_4lessIS6_EENS4_9allocatorIS6_EEEEN7storage11StorageTypeEEJNS0_17UnretainedWrapperIS3_EEEEEFvSD_SF_EE3RunEPNS0_13BindStateBaseESD_SF_
#14 0x5589c8300fb6 _ZNKR4base17RepeatingCallbackIFvRKNS_8FilePathEN30DownloadPathReservationTracker22FilenameConflictActionEEE3RunES3_S5_
#15 0x5589c85db8cc (anonymous namespace)::OnDecodeImageDone()
#16 0x5589c85dddd9 _ZN4base8internal13FunctorTraitsIPFvNS_17RepeatingCallbackIFviEEENS2_IFvRK8SkBitmapiEEEiS7_EvE6InvokeIJRKS4_RKS9_RKiS7_EEEvSB_DpOT_
#17 0x5589c85ddd50 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKPFvNS_17RepeatingCallbackIFviEEENS4_IFvRK8SkBitmapiEEEiS9_EJRKS6_RKSB_RKiS9_EEEvOT_DpOT0_
#18 0x5589c85ddcd9 _ZN4base8internal7InvokerINS0_9BindStateIPFvNS_17RepeatingCallbackIFviEEENS3_IFvRK8SkBitmapiEEEiS8_EJS5_SA_iEEEFvS8_EE7RunImplIRKSC_RKNSt3__15tupleIJS5_SA_iEEEJLm0ELm1ELm2EEEEvOT_OT0_NSJ_16integer_sequenceImJXspT1_EEEES8_
#19 0x5589c85ddb94 _ZN4base8internal7InvokerINS0_9BindStateIPFvNS_17RepeatingCallbackIFviEEENS3_IFvRK8SkBitmapiEEEiS8_EJS5_SA_iEEEFvS8_EE3RunEPNS0_13BindStateBaseES8_
#20 0x5589c6a440a1 _ZNO4base12OnceCallbackIFvRKN13safe_browsing22ArchiveAnalyzerResultsEEE3RunES4_
#21 0x5589c6f7c660 _ZN4base8internal13FunctorTraitsINS_12OnceCallbackIFvRKN13update_client12CrxInstaller6ResultEEEEvE6InvokeIS9_JS5_EEEvOT_DpOT0_
#22 0x5589c6f7c55d _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoINS_12OnceCallbackIFvRKN13update_client12CrxInstaller6ResultEEEEJS7_EEEvOT_DpOT0_
#23 0x5589c6f7c520 _ZN4base8internal7InvokerINS0_9BindStateINS_12OnceCallbackIFvRKN13update_client12CrxInstaller6ResultEEEEJS6_EEEFvvEE7RunImplISA_NSt3__15tupleIJS6_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE
#24 0x5589c6f7c479 _ZN4base8internal7InvokerINS0_9BindStateINS_12OnceCallbackIFvRKN13update_client12CrxInstaller6ResultEEEEJS6_EEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#25 0x7f636ffcc061 _ZNO4base12OnceCallbackIFvvEE3RunEv
#26 0x7f63700261ca base::debug::TaskAnnotator::RunTask()
#27 0x7f63700c7105 base::internal::IncomingTaskQueue::RunTask()
#28 0x7f63700d005a base::MessageLoop::RunTask()
#29 0x7f63700d0306 base::MessageLoop::DeferOrRunPendingTask()
#30 0x7f63700d0650 base::MessageLoop::DoWork()
#31 0x7f63700d3cfc base::MessagePumpGlib::HandleDispatch()
#32 0x7f63700d44a1 base::(anonymous namespace)::WorkSourceDispatch()
#33 0x7f6358d36e04 g_main_context_dispatch
#34 0x7f6358d37048 <unknown>
#35 0x7f6358d370ec g_main_context_iteration
#36 0x7f63700d3dff base::MessagePumpGlib::Run()
#37 0x7f63700cf7dc base::MessageLoop::Run()
#38 0x7f637017c79b base::RunLoop::Run()
#39 0x5589c81d6e4d ChromeBrowserMainParts::MainMessageLoopRun()
#40 0x7f636a340b56 content::BrowserMainLoop::RunMainMessageLoopParts()
#41 0x7f636a34a95f content::BrowserMainRunnerImpl::Run()
#42 0x7f636a3346ab content::BrowserMain()
#43 0x7f636bf029b8 content::RunNamedProcessTypeMain()
#44 0x7f636bf055aa content::ContentMainRunnerImpl::Run()
#45 0x7f636befba6d content::ContentServiceManagerMainDelegate::RunEmbedderProcess()
#46 0x7f637083d89d service_manager::Main()
#47 0x7f636bf017ff content::ContentMain()
#48 0x5589c69b623e ChromeMain
#49 0x5589c69b6152 main
#50 0x7f635721cf45 __libc_start_main
#51 0x5589c69b602a _start
 

#2 0x56342b8ac561 extensions::WebstoreInstallHelper::Start()
#3 0x56342bedc79e extensions::WebstorePrivateBeginInstallWithManifest3Function::Run()
#4 0x563427b821cd ExtensionFunction::RunWithValidation()
#5 0x563427b894d0 extensions::ExtensionFunctionDispatcher::DispatchWithCallbackInternal()
#6 0x563427b884e4 extensions::ExtensionFunctionDispatcher::Dispatch()
#7 0x563427bf08ec extensions::ExtensionWebContentsObserver::OnRequest()
#8 0x563427b05fd2 _ZN3IPC20DispatchToMethodImplIN10extensions21AppWindowContentsImplEMS2_FvPN7content15RenderFrameHostERKNSt3__16vectorINS1_15DraggableRegionENS6_9allocatorIS8_EEEEES4_NS6_5tupleIJSB_EEEJLm0EEEEvPT_T0_PT1_OT2_NS6_16integer_sequenceImJXspT3_EEEE
#9 0x563427b05f00 _ZN3IPC16DispatchToMethodIN10extensions21AppWindowContentsImplEN7content15RenderFrameHostEJRKNSt3__16vectorINS1_15DraggableRegionENS5_9allocatorIS7_EEEEENS5_5tupleIJSA_EEEEENS5_9enable_ifIXeqsZT1_sr3std10tuple_sizeINS5_5decayIT2_E4typeEEE5valueEvE4typeEPT_MSM_FvPT0_DpT1_ESP_OSH_
#10 0x563427bf1021 _ZN3IPC8MessageTI29ExtensionHostMsg_Request_MetaNSt3__15tupleIJ31ExtensionHostMsg_Request_ParamsEEEvE8DispatchIN10extensions28ExtensionWebContentsObserverES9_N7content15RenderFrameHostEMS9_FvPSB_RKS4_EEEbPKNS_7MessageEPT_PT0_PT1_T2_
#11 0x563427bf085c extensions::ExtensionWebContentsObserver::OnMessageReceived()
#12 0x56342b60544a extensions::ChromeExtensionWebContentsObserver::OnMessageReceived()
#13 0x7f0fbfc2b229 content::WebContentsImpl::OnMessageReceived()
#14 0x7f0fbf38664a content::RenderFrameHostImpl::OnMessageReceived()
#15 0x7f0fbf914861 content::RenderProcessHostImpl::OnMessageReceived()
#16 0x7f0fc30edbc8 IPC::ChannelProxy::Context::OnDispatchMessage()
#17 0x7f0fc30f403f _ZN4base8internal13FunctorTraitsIMN3IPC12ChannelProxy7ContextEFvRKNS2_7MessageEEvE6InvokeIRK13scoped_refptrIS4_EJS7_EEEvS9_OT_DpOT0_
#18 0x7f0fc30f3f9f _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN3IPC12ChannelProxy7ContextEFvRKNS4_7MessageEEJRK13scoped_refptrIS6_ES9_EEEvOT_DpOT0_
#19 0x7f0fc30f3f2d _ZN4base8internal7InvokerINS0_9BindStateIMN3IPC12ChannelProxy7ContextEFvRKNS3_7MessageEEJ13scoped_refptrIS5_ES6_EEEFvvEE7RunImplIRKSA_RKNSt3__15tupleIJSC_S6_EEEJLm0ELm1EEEEvOT_OT0_NSJ_16integer_sequenceImJXspT1_EEEE
#20 0x7f0fc30f3e3c _ZN4base8internal7InvokerINS0_9BindStateIMN3IPC12ChannelProxy7ContextEFvRKNS3_7MessageEEJ13scoped_refptrIS5_ES6_EEEFvvEE3RunEPNS0_13BindStateBaseE
#21 0x7f0fc4bd9061 _ZNO4base12OnceCallbackIFvvEE3RunEv
#22 0x7f0fc4c331ca base::debug::TaskAnnotator::RunTask()
#23 0x7f0fc4cd4105 base::internal::IncomingTaskQueue::RunTask()
#24 0x7f0fc4cdd05a base::MessageLoop::RunTask()
#25 0x7f0fc4cdd306 base::MessageLoop::DeferOrRunPendingTask()
#26 0x7f0fc4cdd650 base::MessageLoop::DoWork()
#27 0x7f0fc4ce0cfc base::MessagePumpGlib::HandleDispatch()
#28 0x7f0fc4ce14a1 base::(anonymous namespace)::WorkSourceDispatch()
#29 0x7f0fad943e04 g_main_context_dispatch
#30 0x7f0fad944048 <unknown>
#31 0x7f0fad9440ec g_main_context_iteration
#32 0x7f0fc4ce0dff base::MessagePumpGlib::Run()
#33 0x7f0fc4cdc7dc base::MessageLoop::Run()
#34 0x7f0fc4d8979b base::RunLoop::Run()
#35 0x563428f4be4d ChromeBrowserMainParts::MainMessageLoopRun()
#36 0x7f0fbef4db56 content::BrowserMainLoop::RunMainMessageLoopParts()
#37 0x7f0fbef5795f content::BrowserMainRunnerImpl::Run()
#38 0x7f0fbef416ab content::BrowserMain()
#39 0x7f0fc0b0f9b8 content::RunNamedProcessTypeMain()
#40 0x7f0fc0b125aa content::ContentMainRunnerImpl::Run()
#41 0x7f0fc0b08a6d content::ContentServiceManagerMainDelegate::RunEmbedderProcess()
#42 0x7f0fc544a89d service_manager::Main()
#43 0x7f0fc0b0e7ff content::ContentMain()
#44 0x56342772b23e ChromeMain
#45 0x56342772b152 main
#46 0x7f0fabe29f45 __libc_start_main
#47 0x56342772b02a _start

❤️ Support This Blog


If this post helped you, you can support my writing with a small donation. Thank you for reading.


Comments

Popular Posts

Fix “A problem occurred starting process 'command node'” in Android Studio for React Native

Fix up watchman issue with Ghost

Using Mutual TLS (mTLS) in Next.js (Server-Side Only)