jscript: Don't use builtin property for exposing ActiveXObject constructor.
This commit is contained in:
parent
1c957ceb96
commit
0eec97e29b
|
@ -249,14 +249,6 @@ static HRESULT JSGlobal_RegExp(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, u
|
||||||
return constructor_call(ctx->regexp_constr, flags, argc, argv, r);
|
return constructor_call(ctx->regexp_constr, flags, argc, argv, r);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT JSGlobal_ActiveXObject(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv,
|
|
||||||
jsval_t *r)
|
|
||||||
{
|
|
||||||
TRACE("\n");
|
|
||||||
|
|
||||||
return constructor_call(ctx->activex_constr, flags, argc, argv, r);
|
|
||||||
}
|
|
||||||
|
|
||||||
static HRESULT JSGlobal_VBArray(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv,
|
static HRESULT JSGlobal_VBArray(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv,
|
||||||
jsval_t *r)
|
jsval_t *r)
|
||||||
{
|
{
|
||||||
|
@ -1087,7 +1079,6 @@ static HRESULT JSGlobal_decodeURIComponent(script_ctx_t *ctx, vdisp_t *jsthis, W
|
||||||
}
|
}
|
||||||
|
|
||||||
static const builtin_prop_t JSGlobal_props[] = {
|
static const builtin_prop_t JSGlobal_props[] = {
|
||||||
{ActiveXObjectW, JSGlobal_ActiveXObject, PROPF_CONSTR|1},
|
|
||||||
{ArrayW, JSGlobal_Array, PROPF_CONSTR|1},
|
{ArrayW, JSGlobal_Array, PROPF_CONSTR|1},
|
||||||
{BooleanW, JSGlobal_Boolean, PROPF_CONSTR|1},
|
{BooleanW, JSGlobal_Boolean, PROPF_CONSTR|1},
|
||||||
{CollectGarbageW, JSGlobal_CollectGarbage, PROPF_METHOD},
|
{CollectGarbageW, JSGlobal_CollectGarbage, PROPF_METHOD},
|
||||||
|
@ -1146,10 +1137,6 @@ static HRESULT init_constructors(script_ctx_t *ctx, jsdisp_t *object_prototype)
|
||||||
if(FAILED(hres))
|
if(FAILED(hres))
|
||||||
return hres;
|
return hres;
|
||||||
|
|
||||||
hres = create_activex_constr(ctx, &ctx->activex_constr);
|
|
||||||
if(FAILED(hres))
|
|
||||||
return hres;
|
|
||||||
|
|
||||||
hres = create_array_constr(ctx, object_prototype, &ctx->array_constr);
|
hres = create_array_constr(ctx, object_prototype, &ctx->array_constr);
|
||||||
if(FAILED(hres))
|
if(FAILED(hres))
|
||||||
return hres;
|
return hres;
|
||||||
|
@ -1187,7 +1174,7 @@ static HRESULT init_constructors(script_ctx_t *ctx, jsdisp_t *object_prototype)
|
||||||
|
|
||||||
HRESULT init_global(script_ctx_t *ctx)
|
HRESULT init_global(script_ctx_t *ctx)
|
||||||
{
|
{
|
||||||
jsdisp_t *math, *object_prototype;
|
jsdisp_t *math, *object_prototype, *constr;
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
|
|
||||||
if(ctx->global)
|
if(ctx->global)
|
||||||
|
@ -1215,6 +1202,15 @@ HRESULT init_global(script_ctx_t *ctx)
|
||||||
if(FAILED(hres))
|
if(FAILED(hres))
|
||||||
return hres;
|
return hres;
|
||||||
|
|
||||||
|
hres = create_activex_constr(ctx, &constr);
|
||||||
|
if(FAILED(hres))
|
||||||
|
return hres;
|
||||||
|
|
||||||
|
hres = jsdisp_propput_dontenum(ctx->global, ActiveXObjectW, jsval_obj(constr));
|
||||||
|
jsdisp_release(constr);
|
||||||
|
if(FAILED(hres))
|
||||||
|
return hres;
|
||||||
|
|
||||||
hres = jsdisp_propput_dontenum(ctx->global, undefinedW, jsval_undefined());
|
hres = jsdisp_propput_dontenum(ctx->global, undefinedW, jsval_undefined());
|
||||||
if(FAILED(hres))
|
if(FAILED(hres))
|
||||||
return hres;
|
return hres;
|
||||||
|
|
|
@ -395,7 +395,6 @@ struct _script_ctx_t {
|
||||||
|
|
||||||
jsdisp_t *global;
|
jsdisp_t *global;
|
||||||
jsdisp_t *function_constr;
|
jsdisp_t *function_constr;
|
||||||
jsdisp_t *activex_constr;
|
|
||||||
jsdisp_t *array_constr;
|
jsdisp_t *array_constr;
|
||||||
jsdisp_t *bool_constr;
|
jsdisp_t *bool_constr;
|
||||||
jsdisp_t *date_constr;
|
jsdisp_t *date_constr;
|
||||||
|
|
|
@ -1450,6 +1450,9 @@ function returnTest() {
|
||||||
|
|
||||||
ok(returnTest() === undefined, "returnTest = " + returnTest());
|
ok(returnTest() === undefined, "returnTest = " + returnTest());
|
||||||
|
|
||||||
|
ActiveXObject = 1;
|
||||||
|
ok(ActiveXObject === 1, "ActiveXObject = " + ActiveXObject);
|
||||||
|
|
||||||
/* Keep this test in the end of file */
|
/* Keep this test in the end of file */
|
||||||
undefined = 6;
|
undefined = 6;
|
||||||
ok(undefined === 6, "undefined = " + undefined);
|
ok(undefined === 6, "undefined = " + undefined);
|
||||||
|
|
Loading…
Reference in New Issue