Closed Bug 1565728 Opened 5 months ago Closed 3 months ago

Allow platform specific IPC calls

Categories

(Core :: Disability Access APIs, enhancement)

enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox71 --- fixed

People

(Reporter: eeejay, Assigned: eeejay)

References

Details

Attachments

(2 files)

We currently have two separate PDocAccessible ipdls for both windows and "everything else". This is mostly due to unique nature of our windows solution where content processes can be communicated directly with once a client gets access to their COM object.

This means that on Windows we don't have a myriad of synchronous IPC calls for name/state/etc, and rely on the OSes transport layer. In Windows we also need some specific IPC calls related to passing COM pointers around.

In Android there are several places where having a specialized async API would be very helpful. For example the recently added child->parent Batch method, or a handful of parent->child calls like pivot, text navigation, selection and clipboard actions. Some of those are available in the sync API, but they are insufficient because (a) we don't need them to be synchronous and (b) they require more than one round trip (for example, clipboard operations need to first access the selection bounds).

For the Batch method, and other android-only accessibility events, I ended up doing a lot of ifdefing in DocAccessibleParent that adds complexity to already complex code with alternate chunks being preprocessed for windows or other. We need a cleaner solution that would allow specialized IPC methods for different platforms without fragmenting things even further.

Ultimately Batch from PDocAccessible would be moved to here as well.

This is an extension protocol that can be used for platform specific
API (ie. AccessibleWrap methods).

I'm not thrilled with the seperate constructor for the sub-protocol.
This means that the parent won't have the actor upon DocAccessibleParent
construction, and some timing bugs can arise because of the extra round
trip. It would be cool if both actors could be co-created, but that
would require ManagedEndpoint, and for PBrowser to manage them both. I
don't want to expose this to PBrowser.

Just putting these patches here as a proposal to debate. What I like about it is that it allows us to keep platform-specific calls separate and not pollute the ipdl namespace.

I don't know how to solve that problem along with the windows/other divide. I think the distinction in those protocols is more implementation specific.

Flags: needinfo?(yura.zenevich)
Flags: needinfo?(jteh)

Bugbug thinks this bug is a enhancement, but please change it back in case of error.

Type: defect → enhancement

I reviewed the patches, so cancelling NI.

Flags: needinfo?(jteh)

There are some r+ patches which didn't land and no activity in this bug for 2 weeks.
:eeejay, could you have a look please?
For more information, please visit auto_nag documentation.

Flags: needinfo?(eitan)
Attachment #9077877 - Attachment description: Bug 1565728 - Introduce PDocAccessibleExtension. → Bug 1565728 - Introduce PDocAccessiblePlatformExt.
Attachment #9077875 - Attachment description: Bug 1565728 - Introduce PDocAccessibleExtension for Android. → Bug 1565728 - Introduce PDocAccessiblePlatformExt for Android.
Pushed by eisaacson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4fe176e80602
Introduce PDocAccessiblePlatformExt. r=Jamie
https://hg.mozilla.org/integration/autoland/rev/0d08e4b02c17
Introduce PDocAccessiblePlatformExt for Android. r=Jamie
Pushed by eisaacson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4369b7203266
Introduce PDocAccessiblePlatformExt. r=Jamie
https://hg.mozilla.org/integration/autoland/rev/6c30dad5259b
Introduce PDocAccessiblePlatformExt for Android. r=Jamie
Attachment #9077877 - Attachment description: Bug 1565728 - Introduce PDocAccessiblePlatformExt. → Bug 1565728 - Introduce PDocAccessiblePlatformExt. r=Jamie
Attachment #9077875 - Attachment description: Bug 1565728 - Introduce PDocAccessiblePlatformExt for Android. → Bug 1565728 - Introduce PDocAccessiblePlatformExt for Android. r=Jamie
Attachment #9077877 - Attachment description: Bug 1565728 - Introduce PDocAccessiblePlatformExt. r=Jamie → Bug 1565728 - Introduce PDocAccessiblePlatformExt. r=Jamie!
Attachment #9077875 - Attachment description: Bug 1565728 - Introduce PDocAccessiblePlatformExt for Android. r=Jamie → Bug 1565728 - Introduce PDocAccessiblePlatformExt for Android. r=Jamie!
Pushed by eisaacson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2526ca5dd7b3
Introduce PDocAccessiblePlatformExt. r=Jamie
https://hg.mozilla.org/integration/autoland/rev/3dfd9b62f429
Introduce PDocAccessiblePlatformExt for Android. r=Jamie
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71

I'm attempting to compile firefox-hg

changeset:   493357:d09edbe2abfe
tag:         tip
date:        Mon Sep 16 11:55:50 2019 +0000

but it's failing with:

58:42.02 /usr/bin/ccache /usr/bin/clang++ -o UnifiedProtocols13.o -c  -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/stl_wrappers -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/system_wrappers -include /home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/ipc/ipdl -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/ipc/ipdl -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/ipc/ipdl/_ipdlheaders -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/ipc/chromium/src -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/ipc/glue -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/include -I/usr/include/nspr -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/mozilla-config.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fno-aligned-new -pipe -march=native -Wno-trigraphs -fno-delete-null-pointer-checks -mtune=native -fomit-frame-pointer -O2 -fPIC -D_FORTIFY_SOURCE=2 -fno-plt -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -O2 -fno-omit-frame-pointer -funwind-tables -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/widget/gtk/compat-gtk3 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi-3.2.1/include -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/uuid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/libdrm -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0/unix-print -pthread  -MD -MP -MF .deps/UnifiedProtocols13.o.pp  -fcolor-diagnostics  UnifiedProtocols13.cpp
58:42.04 /usr/bin/ccache /usr/bin/clang++ -o UnifiedProtocols14.o -c  -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/stl_wrappers -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/system_wrappers -include /home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/ipc/ipdl -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/ipc/ipdl -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/ipc/ipdl/_ipdlheaders -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/ipc/chromium/src -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/ipc/glue -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/include -I/usr/include/nspr -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/mozilla-config.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fno-aligned-new -pipe -march=native -Wno-trigraphs -fno-delete-null-pointer-checks -mtune=native -fomit-frame-pointer -O2 -fPIC -D_FORTIFY_SOURCE=2 -fno-plt -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -O2 -fno-omit-frame-pointer -funwind-tables -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/widget/gtk/compat-gtk3 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi-3.2.1/include -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/uuid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/libdrm -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0/unix-print -pthread  -MD -MP -MF .deps/UnifiedProtocols14.o.pp  -fcolor-diagnostics  UnifiedProtocols14.cpp
58:42.04 ipc/ipdl/UnifiedProtocols15.o
58:54.92 make[4]: Leaving directory '/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/js/xpconnect/src'
59:04.89 In file included from UnifiedProtocols13.cpp:65:
59:04.89 /home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/ipc/ipdl/PDocAccessiblePlatformExtChild.cpp:8:10: fatal error: 'mozilla/a11y/DocAccessiblePlatformExtChild.h' file not found
59:04.89 #include "mozilla/a11y/DocAccessiblePlatformExtChild.h"
59:04.89          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59:06.10 1 error generated.
59:06.14 make[4]: *** [/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/config/rules.mk:786: UnifiedProtocols13.o] Error 1
59:06.14 make[4]: *** Waiting for unfinished jobs....
59:06.21 make[4]: Entering directory '/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/intl/chardet'
59:06.22 intl/chardet/Unified_cpp_intl_chardet0.o
59:06.23 make[4]: Entering directory '/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/js/xpconnect/shell'
59:06.23 js/xpconnect/shell/xpcshell.o

What I find:

pwd is /home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg 
$ find . -name DocAccessiblePlatformExtChild.h
./accessible/ipc/extension/android/DocAccessiblePlatformExtChild.h
./accessible/ipc/extension/other/DocAccessiblePlatformExtChild.h

$ find . -name PDocAccessiblePlatformExtChild.h
./obj-x86_64-pc-linux-gnu/ipc/ipdl/_ipdlheaders/mozilla/a11y/PDocAccessiblePlatformExtChild.h

So I'm guessing the include path is wrong? or that DocAccessiblePlatformExtChild.h include wasn't generated in .../mozilla/a11y/ ?
possibly because of my ac_add_options --disable-accessibility mozconfig option?

it continues compilation if I simply replace that include
#include "mozilla/a11y/DocAccessiblePlatformExtChild.h"
with
#include "../../../../accessible/ipc/extension/other/DocAccessiblePlatformExtChild.h"
in file: obj-x86_64-pc-linux-gnu/ipc/ipdl/PDocAccessiblePlatformExtChild.cpp
(which is in the uncleaned output build dir)

and
#include "mozilla/a11y/DocAccessiblePlatformExtParent.h"
with
#include "../../../../accessible/ipc/extension/other/DocAccessiblePlatformExtParent.h"
in file: obj-x86_64-pc-linux-gnu/ipc/ipdl/PDocAccessiblePlatformExtParent.cpp

so, uhm, it was just a wrong path? still unsure

I removed build dir and thus compiled from scratch and that error still happens, so it's good to know it wasn't happening due to unclean build dir:

28:32.67 ipc/ipdl/UnifiedProtocols16.o
28:32.67 /usr/bin/ccache /usr/bin/clang++ -o UnifiedProtocols15.o -c  -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/stl_wrappers -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/system_wrappers -include /home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/ipc/ipdl -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/ipc/ipdl -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/ipc/ipdl/_ipdlheaders -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/ipc/chromium/src -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/ipc/glue -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/include -I/usr/include/nspr -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/mozilla-config.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fno-aligned-new -pipe -march=native -Wno-trigraphs -fno-delete-null-pointer-checks -mtune=native -fomit-frame-pointer -O2 -fPIC -D_FORTIFY_SOURCE=2 -fno-plt -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -O2 -fno-omit-frame-pointer -funwind-tables -I/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/widget/gtk/compat-gtk3 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi-3.2.1/include -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/uuid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/libdrm -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0/unix-print -pthread  -MD -MP -MF .deps/UnifiedProtocols15.o.pp  -fcolor-diagnostics  UnifiedProtocols15.cpp
28:34.53 In file included from UnifiedProtocols13.cpp:65:
28:34.54 /home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/obj-x86_64-pc-linux-gnu/ipc/ipdl/PDocAccessiblePlatformExtChild.cpp:8:10: fatal error: 'mozilla/a11y/DocAccessiblePlatformExtChild.h' file not found
28:34.54 #include "mozilla/a11y/DocAccessiblePlatformExtChild.h"
28:34.54          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28:35.64 1 error generated.
28:35.68 make[4]: *** [/home/user/build/1packages/4used/firefox-hg/makepkg_pacman/firefox-hg/src/firefox-hg/config/rules.mk:787: UnifiedProtocols13.o] Error 1
28:35.68 make[4]: *** Waiting for unfinished jobs....

I'm using the following naive workaround until(if ever) a fix is issued:

diff -r 22ced1a079e0 accessible/ipc/extension/other/moz.build
--- a/accessible/ipc/extension/other/moz.build	Mon Sep 16 22:30:52 2019 +0300
+++ b/accessible/ipc/extension/other/moz.build	Tue Sep 17 23:17:02 2019 +0200
@@ -9,7 +9,8 @@
 
 IPDL_SOURCES += ['PDocAccessiblePlatformExt.ipdl']
 
-if CONFIG['ACCESSIBILITY']:
+#if CONFIG['ACCESSIBILITY']:
+if 1:
     EXPORTS.mozilla.a11y += [
         'DocAccessiblePlatformExtChild.h',
         'DocAccessiblePlatformExtParent.h',

that's just so I can avoid manually editing the two .cpp files with the correct path like I did in Comment 14.

Note(again): that I'm using ac_add_options --disable-accessibility in mozconfig which is why the above is needed, for me.

Looks like we may need to add this protocol to VIRTUAL_CALL_CLASSES in direct_call.py.

Nika, is that still the way to go, or should we be doing something different?

Flags: needinfo?(eitan) → needinfo?(nika)

We discussed different options to consider async - :eeejay is looking into them :-)

Flags: needinfo?(nika)
Flags: needinfo?(yura.zenevich)

Can I ask you why you use --disable-accessibility? Wondering whether we need that compile flag in the first place.

Flags: needinfo?(howaboutsynergy)

Can I ask you why you use --disable-accessibility? Wondering whether we need that compile flag in the first place.

no particular reason lookslike, just disabling stuff I know I don't use/want (like webrtc too for example)

here's all my disables from mozconfig:

$ cat mozconfig |grep -v '^#'|sed -re '/^\s*$/d'|sed -re 's/([^#]*)#.*/\1/'|grep -i disable
ac_add_options --disable-debug
ac_add_options --disable-install-strip
ac_add_options --disable-strip
ac_add_options --disable-debug-js-modules
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-update-channel
ac_add_options --disable-valgrind
ac_add_options --disable-jprof
ac_add_options --disable-instruments
ac_add_options --disable-callgrind
ac_add_options --disable-cpp-rtti
ac_add_options --disable-dtrace
ac_add_options --disable-printing 
ac_add_options --disable-gconf
ac_add_options --disable-libproxy
ac_add_options --disable-dbm 
ac_add_options --disable-accessibility
ac_add_options --disable-webrtc
ac_add_options --disable-raw
ac_add_options --disable-directshow
ac_add_options --disable-wmf
ac_add_options --disable-eme
ac_add_options --disable-alsa
ac_add_options --disable-system-extension-dirs
ac_add_options --disable-verify-mar
ac_add_options --disable-parental-controls
ac_add_options --disable-logrefcnt
ac_add_options --disable-dump-painting
ac_add_options --disable-elf-hack
ac_add_options --disable-tasktracer
ac_add_options --disable-stdcxx-compat
ac_add_options --disable-startupcache
ac_add_options --disable-nfc
ac_add_options --disable-webspeech
ac_add_options --disable-synth-speechd
ac_add_options --disable-webspeechtestbackend
ac_add_options --disable-synth-pico
ac_add_options --disable-system-cairo
ac_add_options --disable-system-pixman
ac_add_options --disable-necko-wifi
ac_add_options --disable-tests
ac_add_options --disable-lto 
ac_add_options --disable-profiling 
ac_add_options --disable-vtune 
ac_add_options --disable-dmd 
Flags: needinfo?(howaboutsynergy)
You need to log in before you can comment on or make changes to this bug.