OnProtocolExecution allow_os_execution does not work

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

OnProtocolExecution allow_os_execution does not work

Postby naoki5 » Wed Nov 25, 2020 1:58 am

Hello,

My application uses CefResourceRequestHandler::OnProtocolExecution.
I have specified true for the argument "allow_os_execution".
My application handles mailto links and "zoom" invitation URLs correctly.
However, it does not work with CEF 87.
It worked fine up to CEF 86.

Also, I'm calling CefBrowser::StopLoad to prevent the view from opening a blank page, but CEF 87 raises an exception.

Is there a way to get it to work as it did before CEF86?


Windows 10 Pro 64bit (20H2) Japanese
Visual Studio 2017 Version 15.9.18
Windows SDK Version 10.0.17763.0
MFC Win32 Application
naoki5
Expert
 
Posts: 107
Joined: Wed Jul 17, 2019 2:44 am

Re: OnProtocolExecution allow_os_execution does not work

Postby magreenblatt » Wed Nov 25, 2020 10:12 am

What is the symbolized call stack for the exception?
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: OnProtocolExecution allow_os_execution does not work

Postby naoki5 » Wed Nov 25, 2020 9:26 pm

magreenblatt wrote:What is the symbolized call stack for the exception?


Code: Select all
>   libcef.dll!logging::LogMessage::~LogMessage() 行 873   C++
    libcef.dll!logging::LogMessage::~LogMessage() 行 549   C++
    libcef.dll!logging::CheckError::~CheckError() 行 105   C++
    libcef.dll!CefBrowserInfo::IsNavigationLocked(base::OnceCallback<void ()> pending_action) 行 324   C++
    libcef.dll!CefBrowserHostBase::StopLoad() 行 533   C++
    libcef.dll!`anonymous namespace'::browser_stop_load(_cef_browser_t * self) 行 153   C++
    [外部コード]   
    NetReader5.exe!CNRWBView::OnProtocolExecution(scoped_refptr<CefBrowser> browser, scoped_refptr<CefFrame> frame, scoped_refptr<CefRequest> request, bool & allow_os_execution) 行 2626   C++
    NetReader5.exe!ClientHandler::OnProtocolExecution(scoped_refptr<CefBrowser> browser, scoped_refptr<CefFrame> frame, scoped_refptr<CefRequest> request, bool & allow_os_execution) 行 438   C++
    [外部コード]   
    libcef.dll!CefResourceRequestHandlerCToCpp::OnProtocolExecution(scoped_refptr<CefBrowser> browser, scoped_refptr<CefFrame> frame, scoped_refptr<CefRequest> request, bool & allow_os_execution) 行 265   C++
    libcef.dll!net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::OnRequestComplete(const net_service::RequestId & id, const network::ResourceRequest & request, const network::URLLoaderCompletionStatus & status) 行 1004   C++
    libcef.dll!net_service::InterceptedRequest::OnDestroy() 行 1043   C++
    libcef.dll!net_service::InterceptedRequest::SendErrorStatusAndCompleteImmediately(const network::URLLoaderCompletionStatus & status) 行 1123   C++
    libcef.dll!net_service::InterceptedRequest::SendErrorAndCompleteImmediately(int error_code) 行 1113   C++
    libcef.dll!net_service::InterceptedRequest::InterceptResponseReceived(const GURL & original_url, std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> > response) 行 766   C++
    libcef.dll!base::internal::FunctorTraits<void (extensions::CastChannelAPI::*)(const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > &, std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> >) __attribute__((thiscall)),void>::Invoke<void (extensions::CastChannelAPI::*)(const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > &, std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> >) __attribute__((thiscall)),const base::WeakPtr<extensions::CastChannelAPI> &,const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > &,std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> > >(void(extensions::CastChannelAPI::*)(const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > &, std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> >) method, const base::WeakPtr<extensions::CastChannelAPI> & receiver_ptr, const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > & args, std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> > && args) 行 498   C++
    [インライン フレーム] libcef.dll!base::internal::InvokeHelper<1,void>::MakeItSo(void(extensions::CastChannelAPI::*)(const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > &, std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> >) & functor, const base::WeakPtr<extensions::CastChannelAPI> & weak_ptr, const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > & args, std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> > && args) 行 657   C++
    [インライン フレーム] libcef.dll!base::internal::Invoker<base::internal::BindState<void (extensions::CastChannelAPI::*)(const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > &, std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> >) __attribute__((thiscall)),base::WeakPtr<extensions::CastChannelAPI>,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > >,void (std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> >)>::RunImpl(void(extensions::CastChannelAPI::*)(const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > &, std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> >) & functor, const std::__1::tuple<base::WeakPtr<extensions::CastChannelAPI>,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > > & bound, std::__1::integer_sequence<unsigned int,0,1>, std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> > && unbound_args) 行 710   C++
    libcef.dll!base::internal::Invoker<base::internal::BindState<void (extensions::CastChannelAPI::*)(const std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > &, std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> >) __attribute__((thiscall)),base::WeakPtr<extensions::CastChannelAPI>,std::__1::basic_string<char,std::__1::char_traits<char>,std::__1::allocator<char> > >,void (std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> >)>::Run(base::internal::BindStateBase * base, std::__1::unique_ptr<extensions::Event,std::__1::default_delete<extensions::Event> > && unbound_args) 行 695   C++
    libcef.dll!base::OnceCallback<void (std::__1::unique_ptr<media::VideoDecoder,std::__1::default_delete<media::VideoDecoder> >)>::Run(std::__1::unique_ptr<media::VideoDecoder,std::__1::default_delete<media::VideoDecoder> > args) 行 100   C++
    libcef.dll!net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::ContinueShouldInterceptRequest(const net_service::RequestId & id, network::ResourceRequest * request, base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)> callback, bool allow) 行 698   C++
    libcef.dll!base::internal::FunctorTraits<void (net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::*)(const net_service::RequestId &, network::ResourceRequest *, base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)>, bool) __attribute__((thiscall)),void>::Invoke<void (net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::*)(const net_service::RequestId &, network::ResourceRequest *, base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)>, bool) __attribute__((thiscall)),base::WeakPtr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper>,net_service::RequestId,network::ResourceRequest *,base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)>,bool>(void(net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::*)(const net_service::RequestId &, network::ResourceRequest *, base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)>, bool) method, base::WeakPtr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper> && receiver_ptr, net_service::RequestId && args, network::ResourceRequest * && args, base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)> && args, bool && args) 行 498   C++
    [インライン フレーム] libcef.dll!base::internal::InvokeHelper<1,void>::MakeItSo(void(net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::*)(const net_service::RequestId &, network::ResourceRequest *, base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)>, bool) && functor, base::WeakPtr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper> && weak_ptr, net_service::RequestId && args, network::ResourceRequest * && args, base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)> && args, bool && args) 行 657   C++
    [インライン フレーム] libcef.dll!base::internal::Invoker<base::internal::BindState<void (net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::*)(const net_service::RequestId &, network::ResourceRequest *, base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)>, bool) __attribute__((thiscall)),base::WeakPtr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper>,net_service::RequestId,base::internal::UnretainedWrapper<network::ResourceRequest>,base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)> >,void (bool)>::RunImpl(void(net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::*)(const net_service::RequestId &, network::ResourceRequest *, base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)>, bool) && functor, std::__1::tuple<base::WeakPtr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper>,net_service::RequestId,base::internal::UnretainedWrapper<network::ResourceRequest>,base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)> > && bound, std::__1::integer_sequence<unsigned int,0,1,2,3> unbound_args, bool &&) 行 710   C++
    libcef.dll!base::internal::Invoker<base::internal::BindState<void (net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::*)(const net_service::RequestId &, network::ResourceRequest *, base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)>, bool) __attribute__((thiscall)),base::WeakPtr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper>,net_service::RequestId,base::internal::UnretainedWrapper<network::ResourceRequest>,base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)> >,void (bool)>::RunOnce(base::internal::BindStateBase * base, bool unbound_args) 行 679   C++
    libcef.dll!base::OnceCallback<void (bool)>::Run(bool args) 行 100   C++
    libcef.dll!net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::ShouldInterceptRequest(const net_service::RequestId & id, network::ResourceRequest * request, base::OnceCallback<void (std::__1::unique_ptr<net_service::ResourceResponse,std::__1::default_delete<net_service::ResourceResponse> >)> callback) 行 615   C++
    libcef.dll!net_service::InterceptedRequest::BeforeRequestReceived(const GURL & original_url, bool intercept_request, bool intercept_only) 行 706   C++
    [インライン フレーム] libcef.dll!base::internal::FunctorTraits<void (net_service::InterceptedRequest::*)(const GURL &, bool, bool) __attribute__((thiscall)),void>::Invoke(void(net_service::InterceptedRequest::*)(const GURL &, bool, bool) method, base::WeakPtr<net_service::InterceptedRequest> && receiver_ptr, GURL && args, bool && args, bool && args) 行 498   C++
    [インライン フレーム] libcef.dll!base::internal::InvokeHelper<1,void>::MakeItSo(void(net_service::InterceptedRequest::*)(const GURL &, bool, bool) && functor, base::WeakPtr<net_service::InterceptedRequest> && weak_ptr, GURL && args, bool && args, bool && args) 行 657   C++
    [インライン フレーム] libcef.dll!base::internal::Invoker<base::internal::BindState<void (net_service::InterceptedRequest::*)(const GURL &, bool, bool) __attribute__((thiscall)),base::WeakPtr<net_service::InterceptedRequest>,GURL>,void (bool, bool)>::RunImpl(void(net_service::InterceptedRequest::*)(const GURL &, bool, bool) && functor, std::__1::tuple<base::WeakPtr<net_service::InterceptedRequest>,GURL> && bound, std::__1::integer_sequence<unsigned int,0,1>, bool && unbound_args, bool && unbound_args) 行 710   C++
    libcef.dll!base::internal::Invoker<base::internal::BindState<void (net_service::InterceptedRequest::*)(const GURL &, bool, bool) __attribute__((thiscall)),base::WeakPtr<net_service::InterceptedRequest>,GURL>,void (bool, bool)>::RunOnce(base::internal::BindStateBase * base, bool unbound_args, bool unbound_args) 行 683   C++
    libcef.dll!base::OnceCallback<void (bool, bool)>::Run(bool args, bool args) 行 100   C++
    libcef.dll!base::internal::FunctorTraits<base::OnceCallback<void (bool, bool)>,void>::Invoke<base::OnceCallback<void (bool, bool)>,bool,bool>(base::OnceCallback<void (bool, bool)> && callback, bool && args, bool && args) 行 597   C++
    [インライン フレーム] libcef.dll!base::internal::InvokeHelper<0,void>::MakeItSo(base::OnceCallback<void (bool, bool)> && functor, bool && args, bool && args) 行 637   C++
    [インライン フレーム] libcef.dll!base::internal::Invoker<base::internal::BindState<base::OnceCallback<void (bool, bool)>,bool,bool>,void ()>::RunImpl(base::OnceCallback<void (bool, bool)> && functor, std::__1::tuple<bool,bool> && bound, std::__1::integer_sequence<unsigned int,0,1>) 行 710   C++
    libcef.dll!base::internal::Invoker<base::internal::BindState<base::OnceCallback<void (bool, bool)>,bool,bool>,void ()>::RunOnce(base::internal::BindStateBase * base) 行 679   C++
    libcef.dll!base::OnceCallback<void ()>::Run() 行 100   C++
    libcef.dll!net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::MaybeLoadCookies(const net_service::RequestId & id, net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::RequestState * state, network::ResourceRequest * request, base::OnceCallback<void ()> callback) 行 497   C++
    libcef.dll!net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::OnBeforeRequest(const net_service::RequestId & id, network::ResourceRequest * request, bool request_was_redirected, base::OnceCallback<void (bool, bool)> callback, base::OnceCallback<void (int)> cancel_callback) 行 485   C++
    libcef.dll!net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::PendingRequest::Run(net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper * self) 行 152   C++
    libcef.dll!net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::SetInitialized(std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> >) 行 408   C++
    libcef.dll!net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::InitHelper::SetInitialized(std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> > init_state) 行 359   C++
    libcef.dll!base::internal::FunctorTraits<void (net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitHelper::*)(std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> >) __attribute__((thiscall)),void>::Invoke<void (net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitHelper::*)(std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> >) __attribute__((thiscall)),scoped_refptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitHelper>,std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> > >(void(net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::InitHelper::*)(std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> >) method, scoped_refptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitHelper> && receiver_ptr, std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> > && args) 行 498   C++
    [インライン フレーム] libcef.dll!base::internal::InvokeHelper<0,void>::MakeItSo(void(net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::InitHelper::*)(std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> >) && functor, scoped_refptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitHelper> && args, std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> > && args) 行 637   C++
    [インライン フレーム] libcef.dll!base::internal::Invoker<base::internal::BindState<void (net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitHelper::*)(std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> >) __attribute__((thiscall)),scoped_refptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitHelper>,std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> > >,void ()>::RunImpl(void(net_service::`anonymous namespace'::InterceptedRequestHandlerWrapper::InitHelper::*)(std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> >) && functor, std::__1::tuple<scoped_refptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitHelper>,std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> > > && bound, std::__1::integer_sequence<unsigned int,0,1>) 行 710   C++
    libcef.dll!base::internal::Invoker<base::internal::BindState<void (net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitHelper::*)(std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> >) __attribute__((thiscall)),scoped_refptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitHelper>,std::__1::unique_ptr<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState,std::__1::default_delete<net_service::(anonymous namespace)::InterceptedRequestHandlerWrapper::InitState> > >,void ()>::RunOnce(base::internal::BindStateBase * base) 行 679   C++
    [インライン フレーム] libcef.dll!base::OnceCallback<void ()>::Run() 行 100   C++
    libcef.dll!base::TaskAnnotator::RunTask(const char * trace_event_name, base::PendingTask * pending_task) 行 163   C++
    libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow * continuation_lazy_now) 行 333   C++
    libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() 行 254   C++
    libcef.dll!base::MessagePumpForIO::DoRunLoop() 行 734   C++
    libcef.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) 行 83   C++
    libcef.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool application_tasks_allowed, base::TimeDelta timeout) 行 450   C++
    libcef.dll!base::RunLoop::Run() 行 126   C++
    libcef.dll!base::Thread::Run(base::RunLoop * run_loop) 行 311   C++
    libcef.dll!content::BrowserProcessSubThread::IOThreadRun(base::RunLoop * run_loop) 行 143   C++
    libcef.dll!content::BrowserProcessSubThread::Run(base::RunLoop * run_loop) 行 101   C++
    libcef.dll!base::Thread::ThreadMain() 行 385   C++
    libcef.dll!base::`anonymous namespace'::ThreadFunc(void * params) 行 114   C++
    [外部コード]   


This is when I used CEF built with "proprietary_codecs = true".
This is the call stack when I click the "mailto" link and get an exception.
naoki5
Expert
 
Posts: 107
Joined: Wed Jul 17, 2019 2:44 am

Re: OnProtocolExecution allow_os_execution does not work

Postby magreenblatt » Wed Nov 25, 2020 9:29 pm

magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: OnProtocolExecution allow_os_execution does not work

Postby naoki5 » Wed Nov 25, 2020 9:57 pm



Thank you.
I wait for the fix to take effect.

Is it another problem that "allow_os_execution" doesn't work?
What should I do about this matter?
naoki5
Expert
 
Posts: 107
Joined: Wed Jul 17, 2019 2:44 am

Re: OnProtocolExecution allow_os_execution does not work

Postby magreenblatt » Wed Nov 25, 2020 11:17 pm

Please add a bug for the allow_os_execution problem if it still reproduces after the crash fix.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: OnProtocolExecution allow_os_execution does not work

Postby naoki5 » Fri Nov 27, 2020 12:30 am

I have built CEF 87.1.11.
CefBrowser::StopLoad does not raise an exception.
Also, "allow_os_execution" is working.
Thank you.
naoki5
Expert
 
Posts: 107
Joined: Wed Jul 17, 2019 2:44 am


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 99 guests