Loading addon-sdk/source/test/test-libxul.js 0 → 100644 +18 −0 Original line number Diff line number Diff line /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // Test that we can link with libxul using js-ctypes const {Cu} = require("chrome"); const {ctypes} = Cu.import("resource://gre/modules/ctypes.jsm", {}); const {OS} = Cu.import("resource://gre/modules/osfile.jsm", {}); exports.test = function(assert) { let path = OS.Constants.Path.libxul; assert.pass("libxul is at " + path); let lib = ctypes.open(path); assert.ok(lib != null, "linked to libxul successfully"); }; require('test').run(exports); dom/system/OSFileConstants.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -837,11 +837,14 @@ bool DefineOSFileConstants(JSContext *cx, JS::Handle<JSObject*> global) // library, which is sufficient to link to the library using js-ctypes. #if defined(XP_MACOSX) // Under MacOS X, for some reason, libxul is called simply "XUL" nsAutoString libxul(NS_LITERAL_STRING("XUL")); // Under MacOS X, for some reason, libxul is called simply "XUL", // and we need to provide the full path. nsAutoString libxul; libxul.Append(gPaths->libDir); libxul.Append(NS_LITERAL_STRING("/XUL")); #else // On other platforms, libxul is a library "xul" with regular // library prefix/suffix // library prefix/suffix. nsAutoString libxul; libxul.Append(NS_LITERAL_STRING(DLL_PREFIX)); libxul.Append(NS_LITERAL_STRING("xul")); Loading Loading
addon-sdk/source/test/test-libxul.js 0 → 100644 +18 −0 Original line number Diff line number Diff line /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // Test that we can link with libxul using js-ctypes const {Cu} = require("chrome"); const {ctypes} = Cu.import("resource://gre/modules/ctypes.jsm", {}); const {OS} = Cu.import("resource://gre/modules/osfile.jsm", {}); exports.test = function(assert) { let path = OS.Constants.Path.libxul; assert.pass("libxul is at " + path); let lib = ctypes.open(path); assert.ok(lib != null, "linked to libxul successfully"); }; require('test').run(exports);
dom/system/OSFileConstants.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -837,11 +837,14 @@ bool DefineOSFileConstants(JSContext *cx, JS::Handle<JSObject*> global) // library, which is sufficient to link to the library using js-ctypes. #if defined(XP_MACOSX) // Under MacOS X, for some reason, libxul is called simply "XUL" nsAutoString libxul(NS_LITERAL_STRING("XUL")); // Under MacOS X, for some reason, libxul is called simply "XUL", // and we need to provide the full path. nsAutoString libxul; libxul.Append(gPaths->libDir); libxul.Append(NS_LITERAL_STRING("/XUL")); #else // On other platforms, libxul is a library "xul" with regular // library prefix/suffix // library prefix/suffix. nsAutoString libxul; libxul.Append(NS_LITERAL_STRING(DLL_PREFIX)); libxul.Append(NS_LITERAL_STRING("xul")); Loading