Closed Bug 1098595 Opened 10 years ago Closed 8 years ago

Don't export jsfriend APIs from xul.dll

Categories

(Firefox Build System :: General, defect)

x86_64
Windows 8.1
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1244128

People

(Reporter: emk, Unassigned)

References

Details

Unless it is intentional.
Good catch! From the stability side we definitely want to avoid unnecessary exports because apps tend to hook them (poorly). I suspect it was unintentional, the JS APIs are probably annotated with some macro that we forgot to update.
The macros in [1] should cover this. Now that mozjs has been folded back into xul, something in the build system probably needs to stop defining EXPORT_JS_API or STATIC_EXPORTABLE_JS_API.

[1] http://dxr.mozilla.org/mozilla-central/source/js/src/jstypes.h
Do you have a list? I believe that we aren't exporting the JSAPI currently. We are exporting the js friend API, which sucks but is currently required by a couple tests (test_IHistory and some webrtc tests).

I think this is already fixed in general, though.
Flags: needinfo?(VYV03354)
Oh, indeed it was jsfriend API.
Flags: needinfo?(VYV03354)
Summary: Don't export JS APIs from xul.dll → Don't export jsfriend APIs from xul.dll
I investigated this (I have a patch that works except for the tests that don't link any more). The best way to fix this would be to put those tests into the gtest-libxul and run them as gtests-with-XPCOM. But that will involve some test harness changes and so it's not a small project.

See the dev.platform thread https://groups.google.com/forum/#!searchin/mozilla.dev.platform/gtest/mozilla.dev.platform/7_kKSM7_O7M/1iGiHWyfLe8J for some additional detail.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.