2017-02-08 7 views
2

Мы строим проект, который использует библиотеку Xilium/CefGlue Mono, чтобы отобразить наш пользовательский интерфейс во встроенном фрейме Chromium. Загрузка и отображение страниц в NSWindow. JavaScript выполняется на странице и на страницах событий.CEF для C#/Mono на OS X Сбои на javascript: window.close()

Однако приложение падает с летальным сообщением при вызове

window.close(); 

где-нибудь в JavaScript страницы. Последний бит выхода до аварии равен

FATAL:message_pump_mac.mm(765) Check Failed: [NSApp conformsToProtocol:@protocol(CrAppProtocol)] 

Это связано? Есть ли способ, которым NSApp может соответствовать этому протоколу в C#/Mono?

Для получения дополнительной информации, здесь аналогичная тема размещена в CEF forum

ответ

1

Смотрите этот комментарий в включают/cef_application_mac.h:

// All CEF client applications must subclass NSApplication and implement this 
// protocol. 
@protocol CefAppProtocol<CrAppControlProtocol> 
@end 

https://bitbucket.org/chromiumembedded/cef/src/master/include/cef_application_mac.h?at=master#cef_application_mac.h-80

+0

Есть ли какой-нибудь способ, чтобы соответствовать этому протокол в C#/Mono? –

+0

@DanielLawhead Пример реализации находится в файлах cefclient_mac.mm/cefsimple_mac.mm: https://bitbucket.org/chromiumembedded/cef/src/dce5d5c28f2743740e68a59e8cfa9605c672aef8/tests/cefsimple/cefsimple_mac.mm?at=master&fileviewer=file-view-default# cefsimple_mac.mm-19 –