An interface representing a channel which will have to execute some sort of
program provided via its URI to compute the data it should return.
If a channel implements this interface, the execution of the program in
question will be restricted in the following ways:
Whether and how the program represented by this channel is to be executed.
The default value if this property has never been set on this channel MUST
be either EXECUTE_IN_SANDBOX or NO_EXECUTION.
@throws NS_ERROR_INVALID_ARG when set to an unrecognized value.
Control whether the program should be executed synchronosly when
the channel’s AsyncOpen method is called or whether it should be
executed asynchronously. In both cases, any data that the
channel returns will be returned asynchronously; the only thing
this property affects is when the program executes.
The default value of this property is TRUE.
Setting this property after asyncOpen has been called on the
channel has no effect.
Possible ways of executing the program.
Don’t execute at all.
There used to be an EXECUTE_IN_SANDBOX = 1 value. It has been removed, but
we’re not changing the value of EXECUTE_NORMAL to avoid breaking compat.
Execute against the target environment if the principals allow it.