views:

207

answers:

3

I want to execute a local program on my computer via Javascript in Chrome. In Firefox, it can be done as follows (after setting 'signed.applets.codebase_principal_support' to true in about:config):

function run_cmd(cmd, args) {
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

    var file = Components.classes["@mozilla.org/file/local;1"]
        .createInstance(Components.interfaces.nsILocalFile);
    file.initWithPath(cmd);

    var process = Components.classes["@mozilla.org/process/util;1"]
        .createInstance(Components.interfaces.nsIProcess);
    process.init(file);

    process.run(false, args, args.length);
}

What's the equivalent code for Chrome?

A: 

I don't think you can. Chrome is very particular about such things, hence their sandbox

Chris
More about the sandbox, they've really gone to great lengths: http://dev.chromium.org/developers/design-documents/sandbox
T.J. Crowder
A: 

Javascript has no capabilities to communicate externally outside of the browser. For instance, no disk input/output, no communication with the host OS such as Windows/Linux. Javascript is inherently tighter as it is executed by the browser itself.

tommieb75
It's clear that he knows that, he's taking pains to comply with Firefox's requirements for doing this with signed code. He's just asking what Chrome's requirements are.
T.J. Crowder
A: 

This is not possible in Chrome without extensions. This requires a NPAPI plugin in extensions, see http://code.google.com/chrome/extensions/npapi.html ,

SHiNKiROU