Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
ccc5a575
Commit
ccc5a575
authored
Aug 31, 2009
by
Jacek Caban
Committed by
Alexandre Julliard
Aug 31, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Fixed script tests on IE8.
parent
13b6a43d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
67 additions
and
23 deletions
+67
-23
script.c
dlls/mshtml/script.c
+31
-15
script.c
dlls/mshtml/tests/script.c
+36
-8
No files found.
dlls/mshtml/script.c
View file @
ccc5a575
...
@@ -67,12 +67,30 @@ typedef struct {
...
@@ -67,12 +67,30 @@ typedef struct {
#define ACTSCPWIN(x) (&(x)->lpIActiveScriptSiteWindowVtbl)
#define ACTSCPWIN(x) (&(x)->lpIActiveScriptSiteWindowVtbl)
#define ACTSCPDBG32(x) (&(x)->lpIActiveScriptSiteDebug32Vtbl)
#define ACTSCPDBG32(x) (&(x)->lpIActiveScriptSiteDebug32Vtbl)
static
void
set_script_prop
(
ScriptHost
*
script_host
,
DWORD
property
,
VARIANT
*
val
)
{
IActiveScriptProperty
*
script_prop
;
HRESULT
hres
;
hres
=
IActiveScript_QueryInterface
(
script_host
->
script
,
&
IID_IActiveScriptProperty
,
(
void
**
)
&
script_prop
);
if
(
FAILED
(
hres
))
{
WARN
(
"Could not get IActiveScriptProperty iface: %08x
\n
"
,
hres
);
return
;
}
hres
=
IActiveScriptProperty_SetProperty
(
script_prop
,
property
,
NULL
,
val
);
IActiveScriptProperty_Release
(
script_prop
);
if
(
FAILED
(
hres
))
WARN
(
"SetProperty(%x) failed: %08x
\n
"
,
property
,
hres
);
}
static
BOOL
init_script_engine
(
ScriptHost
*
script_host
)
static
BOOL
init_script_engine
(
ScriptHost
*
script_host
)
{
{
IActiveScriptProperty
*
property
;
IObjectSafety
*
safety
;
IObjectSafety
*
safety
;
SCRIPTSTATE
state
;
SCRIPTSTATE
state
;
DWORD
supported_opts
=
0
,
enabled_opts
=
0
;
DWORD
supported_opts
=
0
,
enabled_opts
=
0
;
VARIANT
var
;
HRESULT
hres
;
HRESULT
hres
;
hres
=
IActiveScript_QueryInterface
(
script_host
->
script
,
&
IID_IActiveScriptParse
,
(
void
**
)
&
script_host
->
parse
);
hres
=
IActiveScript_QueryInterface
(
script_host
->
script
,
&
IID_IActiveScriptParse
,
(
void
**
)
&
script_host
->
parse
);
...
@@ -104,20 +122,13 @@ static BOOL init_script_engine(ScriptHost *script_host)
...
@@ -104,20 +122,13 @@ static BOOL init_script_engine(ScriptHost *script_host)
if
(
FAILED
(
hres
))
if
(
FAILED
(
hres
))
return
FALSE
;
return
FALSE
;
hres
=
IActiveScript_QueryInterface
(
script_host
->
script
,
&
IID_IActiveScriptProperty
,
(
void
**
)
&
property
);
V_VT
(
&
var
)
=
VT_I4
;
if
(
SUCCEEDED
(
hres
))
{
V_I4
(
&
var
)
=
1
;
VARIANT
var
;
set_script_prop
(
script_host
,
SCRIPTPROP_INVOKEVERSIONING
,
&
var
);
V_VT
(
&
var
)
=
VT_BOOL
;
V_BOOL
(
&
var
)
=
VARIANT_TRUE
;
hres
=
IActiveScriptProperty_SetProperty
(
property
,
SCRIPTPROP_HACK_TRIDENTEVENTSINK
,
NULL
,
&
var
);
if
(
FAILED
(
hres
))
WARN
(
"SetProperty failed: %08x
\n
"
,
hres
);
IActiveScriptProperty_Release
(
property
);
V_VT
(
&
var
)
=
VT_BOOL
;
}
else
{
V_BOOL
(
&
var
)
=
VARIANT_TRUE
;
WARN
(
"Could not get IActiveScriptProperty: %08x
\n
"
,
hres
);
set_script_prop
(
script_host
,
SCRIPTPROP_HACK_TRIDENTEVENTSINK
,
&
var
);
}
hres
=
IActiveScriptParse64_InitNew
(
script_host
->
parse
);
hres
=
IActiveScriptParse64_InitNew
(
script_host
->
parse
);
if
(
FAILED
(
hres
))
{
if
(
FAILED
(
hres
))
{
...
@@ -146,8 +157,13 @@ static BOOL init_script_engine(ScriptHost *script_host)
...
@@ -146,8 +157,13 @@ static BOOL init_script_engine(ScriptHost *script_host)
hres
=
IActiveScript_AddNamedItem
(
script_host
->
script
,
windowW
,
hres
=
IActiveScript_AddNamedItem
(
script_host
->
script
,
windowW
,
SCRIPTITEM_ISVISIBLE
|
SCRIPTITEM_ISSOURCE
|
SCRIPTITEM_GLOBALMEMBERS
);
SCRIPTITEM_ISVISIBLE
|
SCRIPTITEM_ISSOURCE
|
SCRIPTITEM_GLOBALMEMBERS
);
if
(
FAILED
(
hres
))
if
(
SUCCEEDED
(
hres
))
{
V_VT
(
&
var
)
=
VT_BOOL
;
V_BOOL
(
&
var
)
=
VARIANT_TRUE
;
set_script_prop
(
script_host
,
SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION
,
&
var
);
}
else
{
WARN
(
"AddNamedItem failed: %08x
\n
"
,
hres
);
WARN
(
"AddNamedItem failed: %08x
\n
"
,
hres
);
}
hres
=
IActiveScript_QueryInterface
(
script_host
->
script
,
&
IID_IActiveScriptParseProcedure2
,
hres
=
IActiveScript_QueryInterface
(
script_host
->
script
,
&
IID_IActiveScriptParseProcedure2
,
(
void
**
)
&
script_host
->
parse_proc
);
(
void
**
)
&
script_host
->
parse_proc
);
...
...
dlls/mshtml/tests/script.c
View file @
ccc5a575
...
@@ -74,6 +74,12 @@ DEFINE_GUID(CLSID_IdentityUnmarshal,0x0000001b,0x0000,0x0000,0xc0,0x00,0x00,0x00
...
@@ -74,6 +74,12 @@ DEFINE_GUID(CLSID_IdentityUnmarshal,0x0000001b,0x0000,0x0000,0xc0,0x00,0x00,0x00
expect_ ## func = called_ ## func = FALSE; \
expect_ ## func = called_ ## func = FALSE; \
}while(0)
}while(0)
#define CHECK_CALLED_BROKEN(func) \
do { \
ok(called_ ## func || broken(!called_ ## func), "expected " #func "\n"); \
expect_ ## func = called_ ## func = FALSE; \
}while(0)
#define CHECK_NOT_CALLED(func) \
#define CHECK_NOT_CALLED(func) \
do { \
do { \
ok(!called_ ## func, "unexpected " #func "\n"); \
ok(!called_ ## func, "unexpected " #func "\n"); \
...
@@ -89,7 +95,9 @@ DEFINE_EXPECT(GetInterfaceSafetyOptions);
...
@@ -89,7 +95,9 @@ DEFINE_EXPECT(GetInterfaceSafetyOptions);
DEFINE_EXPECT
(
SetInterfaceSafetyOptions
);
DEFINE_EXPECT
(
SetInterfaceSafetyOptions
);
DEFINE_EXPECT
(
InitNew
);
DEFINE_EXPECT
(
InitNew
);
DEFINE_EXPECT
(
Close
);
DEFINE_EXPECT
(
Close
);
DEFINE_EXPECT
(
SetProperty
);
DEFINE_EXPECT
(
SetProperty_HACK_TRIDENTEVENTSINK
);
DEFINE_EXPECT
(
SetProperty_INVOKEVERSIONING
);
DEFINE_EXPECT
(
SetProperty_ABBREVIATE_GLOBALNAME_RESOLUTION
);
DEFINE_EXPECT
(
SetScriptSite
);
DEFINE_EXPECT
(
SetScriptSite
);
DEFINE_EXPECT
(
GetScriptState
);
DEFINE_EXPECT
(
GetScriptState
);
DEFINE_EXPECT
(
SetScriptState_STARTED
);
DEFINE_EXPECT
(
SetScriptState_STARTED
);
...
@@ -504,15 +512,31 @@ static HRESULT WINAPI ActiveScriptProperty_GetProperty(IActiveScriptProperty *if
...
@@ -504,15 +512,31 @@ static HRESULT WINAPI ActiveScriptProperty_GetProperty(IActiveScriptProperty *if
static
HRESULT
WINAPI
ActiveScriptProperty_SetProperty
(
IActiveScriptProperty
*
iface
,
DWORD
dwProperty
,
static
HRESULT
WINAPI
ActiveScriptProperty_SetProperty
(
IActiveScriptProperty
*
iface
,
DWORD
dwProperty
,
VARIANT
*
pvarIndex
,
VARIANT
*
pvarValue
)
VARIANT
*
pvarIndex
,
VARIANT
*
pvarValue
)
{
{
CHECK_EXPECT
(
SetProperty
);
switch
(
dwProperty
)
{
case
SCRIPTPROP_HACK_TRIDENTEVENTSINK
:
CHECK_EXPECT
(
SetProperty_HACK_TRIDENTEVENTSINK
);
ok
(
V_VT
(
pvarValue
)
==
VT_BOOL
,
"V_VT(pvarValue)=%d
\n
"
,
V_VT
(
pvarValue
));
ok
(
V_BOOL
(
pvarValue
)
==
VARIANT_TRUE
,
"V_BOOL(pvarValue)=%x
\n
"
,
V_BOOL
(
pvarValue
));
break
;
case
SCRIPTPROP_INVOKEVERSIONING
:
CHECK_EXPECT
(
SetProperty_INVOKEVERSIONING
);
ok
(
V_VT
(
pvarValue
)
==
VT_I4
,
"V_VT(pvarValue)=%d
\n
"
,
V_VT
(
pvarValue
));
ok
(
V_I4
(
pvarValue
)
==
1
,
"V_I4(pvarValue)=%d
\n
"
,
V_I4
(
pvarValue
));
break
;
case
SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION
:
CHECK_EXPECT
(
SetProperty_ABBREVIATE_GLOBALNAME_RESOLUTION
);
ok
(
V_VT
(
pvarValue
)
==
VT_BOOL
,
"V_VT(pvarValue)=%d
\n
"
,
V_VT
(
pvarValue
));
ok
(
V_BOOL
(
pvarValue
)
==
VARIANT_TRUE
,
"V_BOOL(pvarValue)=%x
\n
"
,
V_BOOL
(
pvarValue
));
break
;
default:
ok
(
0
,
"unexpected property %x
\n
"
,
dwProperty
);
return
E_NOTIMPL
;
}
ok
(
dwProperty
==
SCRIPTPROP_HACK_TRIDENTEVENTSINK
,
"unexpected property %d
\n
"
,
dwProperty
);
ok
(
!
pvarIndex
,
"pvarIndex != NULL
\n
"
);
ok
(
!
pvarIndex
,
"pvarIndex != NULL
\n
"
);
ok
(
pvarValue
!=
NULL
,
"pvarValue == NULL
\n
"
);
ok
(
pvarValue
!=
NULL
,
"pvarValue == NULL
\n
"
);
ok
(
V_VT
(
pvarValue
)
==
VT_BOOL
,
"V_VT(pvarValue)=%d
\n
"
,
V_VT
(
pvarValue
));
ok
(
V_BOOL
(
pvarValue
)
==
VARIANT_TRUE
,
"V_BOOL(pvarValue)=%x
\n
"
,
V_BOOL
(
pvarValue
));
return
E_NOTIMPL
;
return
S_OK
;
}
}
static
const
IActiveScriptPropertyVtbl
ActiveScriptPropertyVtbl
=
{
static
const
IActiveScriptPropertyVtbl
ActiveScriptPropertyVtbl
=
{
...
@@ -1028,12 +1052,14 @@ static void test_simple_script(void)
...
@@ -1028,12 +1052,14 @@ static void test_simple_script(void)
SET_EXPECT
(
CreateInstance
);
SET_EXPECT
(
CreateInstance
);
SET_EXPECT
(
GetInterfaceSafetyOptions
);
SET_EXPECT
(
GetInterfaceSafetyOptions
);
SET_EXPECT
(
SetInterfaceSafetyOptions
);
SET_EXPECT
(
SetInterfaceSafetyOptions
);
SET_EXPECT
(
SetProperty
);
SET_EXPECT
(
SetProperty_INVOKEVERSIONING
);
/* IE8 */
SET_EXPECT
(
SetProperty_HACK_TRIDENTEVENTSINK
);
SET_EXPECT
(
InitNew
);
SET_EXPECT
(
InitNew
);
SET_EXPECT
(
SetScriptSite
);
SET_EXPECT
(
SetScriptSite
);
SET_EXPECT
(
GetScriptState
);
SET_EXPECT
(
GetScriptState
);
SET_EXPECT
(
SetScriptState_STARTED
);
SET_EXPECT
(
SetScriptState_STARTED
);
SET_EXPECT
(
AddNamedItem
);
SET_EXPECT
(
AddNamedItem
);
SET_EXPECT
(
SetProperty_ABBREVIATE_GLOBALNAME_RESOLUTION
);
/* IE8 */
SET_EXPECT
(
ParseScriptText
);
SET_EXPECT
(
ParseScriptText
);
SET_EXPECT
(
SetScriptState_CONNECTED
);
SET_EXPECT
(
SetScriptState_CONNECTED
);
...
@@ -1043,12 +1069,14 @@ static void test_simple_script(void)
...
@@ -1043,12 +1069,14 @@ static void test_simple_script(void)
CHECK_CALLED
(
CreateInstance
);
CHECK_CALLED
(
CreateInstance
);
CHECK_CALLED
(
GetInterfaceSafetyOptions
);
CHECK_CALLED
(
GetInterfaceSafetyOptions
);
CHECK_CALLED
(
SetInterfaceSafetyOptions
);
CHECK_CALLED
(
SetInterfaceSafetyOptions
);
CHECK_CALLED
(
SetProperty
);
CHECK_CALLED_BROKEN
(
SetProperty_INVOKEVERSIONING
);
/* IE8 */
CHECK_CALLED
(
SetProperty_HACK_TRIDENTEVENTSINK
);
CHECK_CALLED
(
InitNew
);
CHECK_CALLED
(
InitNew
);
CHECK_CALLED
(
SetScriptSite
);
CHECK_CALLED
(
SetScriptSite
);
CHECK_CALLED
(
GetScriptState
);
CHECK_CALLED
(
GetScriptState
);
CHECK_CALLED
(
SetScriptState_STARTED
);
CHECK_CALLED
(
SetScriptState_STARTED
);
CHECK_CALLED
(
AddNamedItem
);
CHECK_CALLED
(
AddNamedItem
);
CHECK_CALLED_BROKEN
(
SetProperty_ABBREVIATE_GLOBALNAME_RESOLUTION
);
/* IE8 */
CHECK_CALLED
(
ParseScriptText
);
CHECK_CALLED
(
ParseScriptText
);
CHECK_CALLED
(
SetScriptState_CONNECTED
);
CHECK_CALLED
(
SetScriptState_CONNECTED
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment