-
Improvement
-
Resolution: Won't Fix
-
Minor
-
None
-
None
-
None
I'm looking into a way to expose/export the wl_display from chromium68 such that WAM uses it to retrieve the registry with the advertised interfaces from the compositor. I need that in order to further bind to a private extension the compositor is using.
I've, so far, unsuccessfully used the following: https://paste.debian.net/1132439
diff --git a/src/webos/webos_platform.cc b/src/webos/webos_platform.cc index 447c38ccf..91c8387c4 100644 --- a/src/webos/webos_platform.cc +++ b/src/webos/webos_platform.cc @@ -71,6 +71,16 @@ InputPointer* WebOSPlatform::GetInputPointer() { return input_pointer_; } +void *WebOSPlatform::GetPlatformDisplay() { +#if defined(OS_WEBOS) + ozonewayland::WaylandDisplay *display = + ozonewayland::WaylandDisplay::GetInstance(); + return static_cast<void *>(display->display()); +#else + return nullptr; +#endif +} + void WebOSPlatform::SetInputRegion(unsigned handle, const std::vector<gfx::Rect>& region) { #if defined(OS_WEBOS)
That is, to add a void *WebOSPlatform::GetPlatformDisplay() method which relies on using ozonewayland::WaylandDisplay::GetInstance()->display() but it turns out that the OS_WEBOS macro is not defined.
I'm using the following args.gn file to build it locally:
enable_memorymanager_webapi = false ffmpeg_branding = "Chrome" host_os = "linux" ozone_auto_platforms = false proprietary_codecs = true target_os = "linux" treat_warnings_as_errors = false is_agl = true #is_webos = false use_cbe = true is_chrome_cbe = true use_cups = false use_custom_libcxx = false use_kerberos = false use_neva_media = false use_ozone = true use_xkbcommon = true use_pmlog = false use_system_debugger_abort = true use_webos_gpu_info_collector = false remove_webcore_debug_symbols = true use_jumbo_build = true jumbo_file_merge_limit = 8 use_lttng = false ozone_platform_wayland_external = false ozone_platform_wayland = true use_system_minigbm = true is_debug = false is_official_build = true is_cfi = false symbol_level = 0 use_sysroot = false #custom_toolchain = "//build/toolchain/yocto:yocto_target" gold_path = "" #host_toolchain = "//build/toolchain/yocto:yocto_native" is_clang = false #clang_base_path = "/shared/workspace_agl/qemux86-64/tmp/work/corei7-64-agl-linux/chromium68/git-r0/recipe-sysroot-native/usr/bin" clang_use_chrome_plugins = false linux_use_bundled_binutils = false target_cpu = "x64" #v8_snapshot_toolchain = "//build/toolchain/yocto:yocto_target" enable_nacl = false disable_ftp_support = true enable_print_preview = false enable_remoting = false use_glib = true use_gnome_keyring = false use_pulseaudio = false use_gold = false
Also, if I try to use ozonewayland::WaylandDisplay::GetInstance() outside the WEBOS macro I get a linker error that the ozonewayland::WaylandDisplay::instance_ symbol is not defined.
- relates to
-
SPEC-3216 Renderer process delegation and sharing of data between runtime process and renderer process
- Closed