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
0675f5c3
Commit
0675f5c3
authored
May 29, 2012
by
Jacek Caban
Committed by
Alexandre Julliard
May 29, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Fixed Exec_ShellDocView_84 tests.
parent
db737291
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
55 additions
and
42 deletions
+55
-42
mshtml_private.h
dlls/mshtml/mshtml_private.h
+1
-0
navigate.c
dlls/mshtml/navigate.c
+10
-31
oleobj.c
dlls/mshtml/oleobj.c
+23
-0
persist.c
dlls/mshtml/persist.c
+1
-0
htmldoc.c
dlls/mshtml/tests/htmldoc.c
+20
-11
No files found.
dlls/mshtml/mshtml_private.h
View file @
0675f5c3
...
...
@@ -727,6 +727,7 @@ HRESULT start_binding(HTMLWindow*,HTMLDocumentNode*,BSCallback*,IBindCtx*) DECLS
HRESULT
async_start_doc_binding
(
HTMLWindow
*
,
nsChannelBSC
*
)
DECLSPEC_HIDDEN
;
void
abort_document_bindings
(
HTMLDocumentNode
*
)
DECLSPEC_HIDDEN
;
void
set_download_state
(
HTMLDocumentObj
*
,
int
)
DECLSPEC_HIDDEN
;
void
call_docview_84
(
HTMLDocumentObj
*
)
DECLSPEC_HIDDEN
;
HRESULT
bind_mon_to_buffer
(
HTMLDocumentNode
*
,
IMoniker
*
,
void
**
,
DWORD
*
)
DECLSPEC_HIDDEN
;
...
...
dlls/mshtml/navigate.c
View file @
0675f5c3
...
...
@@ -610,27 +610,6 @@ static void init_bscallback(BSCallback *This, const BSCallbackVtbl *vtbl, IMonik
This
->
mon
=
mon
;
}
/* Calls undocumented 84 cmd of CGID_ShellDocView */
static
void
call_docview_84
(
HTMLDocumentObj
*
doc
)
{
IOleCommandTarget
*
olecmd
;
VARIANT
var
;
HRESULT
hres
;
if
(
!
doc
->
client
)
return
;
hres
=
IOleClientSite_QueryInterface
(
doc
->
client
,
&
IID_IOleCommandTarget
,
(
void
**
)
&
olecmd
);
if
(
FAILED
(
hres
))
return
;
VariantInit
(
&
var
);
hres
=
IOleCommandTarget_Exec
(
olecmd
,
&
CGID_ShellDocView
,
84
,
0
,
NULL
,
&
var
);
IOleCommandTarget_Release
(
olecmd
);
if
(
SUCCEEDED
(
hres
)
&&
V_VT
(
&
var
)
!=
VT_NULL
)
FIXME
(
"handle result
\n
"
);
}
static
void
parse_content_type
(
nsChannelBSC
*
This
,
const
WCHAR
*
value
)
{
const
WCHAR
*
ptr
;
...
...
@@ -745,11 +724,8 @@ HRESULT start_binding(HTMLWindow *window, HTMLDocumentNode *doc, BSCallback *bsc
/* NOTE: IE7 calls IsSystemMoniker here*/
if
(
window
)
{
if
(
bscallback
->
mon
!=
window
->
mon
)
set_current_mon
(
window
,
bscallback
->
mon
);
call_docview_84
(
window
->
doc_obj
);
}
if
(
window
&&
bscallback
->
mon
!=
window
->
mon
)
set_current_mon
(
window
,
bscallback
->
mon
);
if
(
bctx
)
{
RegisterBindStatusCallback
(
bctx
,
&
bscallback
->
IBindStatusCallback_iface
,
NULL
,
0
);
...
...
@@ -1969,13 +1945,15 @@ HRESULT super_navigate(HTMLWindow *window, IUri *uri, const WCHAR *headers, BYTE
return
E_OUTOFMEMORY
;
}
/* Silently and repeated when real loading starts? */
window
->
readystate
=
READYSTATE_LOADING
;
call_docview_84
(
window
->
doc_obj
);
task
->
window
=
window
;
task
->
bscallback
=
bsc
;
task
->
mon
=
mon
;
push_task
(
&
task
->
header
,
navigate_proc
,
navigate_task_destr
,
window
->
task_magic
);
/* Silently and repeated when real loading starts? */
window
->
readystate
=
READYSTATE_LOADING
;
}
else
{
navigate_javascript_task_t
*
task
;
...
...
@@ -1986,13 +1964,14 @@ HRESULT super_navigate(HTMLWindow *window, IUri *uri, const WCHAR *headers, BYTE
if
(
!
task
)
return
E_OUTOFMEMORY
;
/* Why silently? */
window
->
readystate
=
READYSTATE_COMPLETE
;
call_docview_84
(
window
->
doc_obj
);
IUri_AddRef
(
uri
);
task
->
window
=
window
;
task
->
uri
=
uri
;
push_task
(
&
task
->
header
,
navigate_javascript_proc
,
navigate_javascript_task_destr
,
window
->
task_magic
);
/* Why silently? */
window
->
readystate
=
READYSTATE_COMPLETE
;
}
return
S_OK
;
...
...
dlls/mshtml/oleobj.c
View file @
0675f5c3
...
...
@@ -189,6 +189,27 @@ static void update_hostinfo(HTMLDocumentObj *This, DOCHOSTUIINFO *hostinfo)
}
}
/* Calls undocumented 84 cmd of CGID_ShellDocView */
void
call_docview_84
(
HTMLDocumentObj
*
doc
)
{
IOleCommandTarget
*
olecmd
;
VARIANT
var
;
HRESULT
hres
;
if
(
!
doc
->
client
)
return
;
hres
=
IOleClientSite_QueryInterface
(
doc
->
client
,
&
IID_IOleCommandTarget
,
(
void
**
)
&
olecmd
);
if
(
FAILED
(
hres
))
return
;
VariantInit
(
&
var
);
hres
=
IOleCommandTarget_Exec
(
olecmd
,
&
CGID_ShellDocView
,
84
,
0
,
NULL
,
&
var
);
IOleCommandTarget_Release
(
olecmd
);
if
(
SUCCEEDED
(
hres
)
&&
V_VT
(
&
var
)
!=
VT_NULL
)
FIXME
(
"handle result
\n
"
);
}
static
HRESULT
WINAPI
OleObject_SetClientSite
(
IOleObject
*
iface
,
IOleClientSite
*
pClientSite
)
{
HTMLDocument
*
This
=
impl_from_IOleObject
(
iface
);
...
...
@@ -330,6 +351,8 @@ static HRESULT WINAPI OleObject_SetClientSite(IOleObject *iface, IOleClientSite
}
}
call_docview_84
(
This
->
doc_obj
);
IOleCommandTarget_QueryStatus
(
cmdtrg
,
NULL
,
1
,
&
cmd
,
NULL
);
V_VT
(
&
var
)
=
VT_I4
;
...
...
dlls/mshtml/persist.c
View file @
0675f5c3
...
...
@@ -533,6 +533,7 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
}
prepare_for_binding
(
This
,
pimkName
,
FALSE
);
call_docview_84
(
This
->
doc_obj
);
hres
=
set_moniker
(
This
,
pimkName
,
pibc
,
NULL
,
TRUE
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
dlls/mshtml/tests/htmldoc.c
View file @
0675f5c3
...
...
@@ -92,6 +92,7 @@ DEFINE_GUID(SID_SContainerDispatch,0xb722be00,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,
#define CLEAR_CALLED(func) \
expect_ ## func = called_ ## func = FALSE
static
IOleDocumentView
*
view
=
NULL
;
static
HWND
container_hwnd
=
NULL
,
hwnd
=
NULL
,
last_hwnd
=
NULL
;
...
...
@@ -4882,7 +4883,6 @@ static void test_Load(IPersistMoniker *persist, IMoniker *mon)
}
SET_EXPECT
(
OnChanged_READYSTATE
);
SET_EXPECT
(
Invoke_OnReadyStateChange_Loading
);
SET_EXPECT
(
Exec_ShellDocView_84
);
SET_EXPECT
(
IsSystemMoniker
);
if
(
mon
==
&
Moniker
)
SET_EXPECT
(
BindToStorage
);
...
...
@@ -4892,9 +4892,10 @@ static void test_Load(IPersistMoniker *persist, IMoniker *mon)
SET_EXPECT
(
Invoke_AMBIENT_OFFLINEIFNOTCONNECTED
);
SET_EXPECT
(
Exec_ShellDocView_37
);
SET_EXPECT
(
IsErrorUrl
);
}
else
}
else
{
SET_EXPECT
(
GetTravelLog
);
}
SET_EXPECT
(
Exec_ShellDocView_84
);
SET_EXPECT
(
GetPendingUrl
);
load_state
=
LD_DOLOAD
;
expect_LockContainer_fLock
=
TRUE
;
...
...
@@ -4930,7 +4931,6 @@ static void test_Load(IPersistMoniker *persist, IMoniker *mon)
CHECK_CALLED
(
OnChanged_READYSTATE
);
CHECK_CALLED
(
Invoke_OnReadyStateChange_Loading
);
CLEAR_CALLED
(
IsSystemMoniker
);
/* IE7 */
SET_CALLED
(
Exec_ShellDocView_84
);
if
(
mon
==
&
Moniker
)
CHECK_CALLED
(
BindToStorage
);
CLEAR_CALLED
(
SetActiveObject
);
/* FIXME */
...
...
@@ -4939,9 +4939,10 @@ static void test_Load(IPersistMoniker *persist, IMoniker *mon)
CHECK_CALLED
(
Invoke_AMBIENT_OFFLINEIFNOTCONNECTED
);
CHECK_CALLED
(
Exec_ShellDocView_37
);
todo_wine
CHECK_CALLED_BROKEN
(
IsErrorUrl
);
}
else
}
else
{
todo_wine
CHECK_CALLED
(
GetTravelLog
);
}
CHECK_CALLED
(
Exec_ShellDocView_84
);
todo_wine
CHECK_CALLED
(
GetPendingUrl
);
set_clientsite
=
container_locked
=
TRUE
;
...
...
@@ -4987,7 +4988,7 @@ static void test_download(DWORD flags)
SET_EXPECT
(
GetExternal
);
SET_EXPECT
(
OnViewChange
);
SET_EXPECT
(
GetDropTarget
);
if
(
flags
&
DWL_TRYCSS
)
if
(
(
flags
&
DWL_TRYCSS
)
&&
!
(
flags
&
DWL_EMPTY
)
)
SET_EXPECT
(
Exec_ShellDocView_84
);
if
(
flags
&
DWL_CSS
)
{
SET_EXPECT
(
CreateInstance
);
...
...
@@ -5070,8 +5071,8 @@ static void test_download(DWORD flags)
CHECK_CALLED
(
GetExternal
);
CHECK_CALLED
(
OnViewChange
);
CLEAR_CALLED
(
GetDropTarget
);
if
(
flags
&
DWL_TRYCSS
)
SET
_CALLED
(
Exec_ShellDocView_84
);
if
(
(
flags
&
DWL_TRYCSS
)
&&
!
(
flags
&
DWL_EMPTY
)
)
todo_wine
CHECK
_CALLED
(
Exec_ShellDocView_84
);
if
(
flags
&
DWL_CSS
)
{
CHECK_CALLED
(
CreateInstance
);
CHECK_CALLED
(
Start
);
...
...
@@ -5220,6 +5221,7 @@ static void test_put_href(IHTMLDocument2 *doc, BOOL use_replace, const char *hre
SET_EXPECT
(
Invoke_AMBIENT_SILENT
);
SET_EXPECT
(
Invoke_AMBIENT_OFFLINEIFNOTCONNECTED
);
SET_EXPECT
(
Exec_ShellDocView_63
);
SET_EXPECT
(
Exec_ShellDocView_84
);
}
else
{
SET_EXPECT
(
FireNavigateComplete2
);
SET_EXPECT
(
FireDocumentComplete
);
...
...
@@ -5247,6 +5249,7 @@ static void test_put_href(IHTMLDocument2 *doc, BOOL use_replace, const char *hre
CHECK_CALLED
(
Invoke_AMBIENT_SILENT
);
CHECK_CALLED
(
Invoke_AMBIENT_OFFLINEIFNOTCONNECTED
);
CHECK_CALLED
(
Exec_ShellDocView_63
);
CHECK_CALLED
(
Exec_ShellDocView_84
);
}
else
{
CHECK_CALLED
(
FireNavigateComplete2
);
CHECK_CALLED
(
FireDocumentComplete
);
...
...
@@ -5263,6 +5266,7 @@ static void test_put_href(IHTMLDocument2 *doc, BOOL use_replace, const char *hre
CLEAR_CALLED
(
Invoke_AMBIENT_SILENT
);
CLEAR_CALLED
(
Invoke_AMBIENT_OFFLINEIFNOTCONNECTED
);
CLEAR_CALLED
(
Exec_ShellDocView_63
);
todo_wine
CLEAR_CALLED
(
Exec_ShellDocView_84
);
}
else
{
CLEAR_CALLED
(
FireNavigateComplete2
);
CLEAR_CALLED
(
FireDocumentComplete
);
...
...
@@ -5295,6 +5299,7 @@ static void test_put_href(IHTMLDocument2 *doc, BOOL use_replace, const char *hre
SET_EXPECT
(
Invoke_AMBIENT_SILENT
);
SET_EXPECT
(
Invoke_AMBIENT_OFFLINEIFNOTCONNECTED
);
SET_EXPECT
(
Exec_ShellDocView_63
);
SET_EXPECT
(
Exec_ShellDocView_84
);
str
=
a2bstr
(
nav_url
);
str2
=
a2bstr
(
""
);
...
...
@@ -5309,6 +5314,7 @@ static void test_put_href(IHTMLDocument2 *doc, BOOL use_replace, const char *hre
CHECK_CALLED
(
Invoke_AMBIENT_SILENT
);
CHECK_CALLED
(
Invoke_AMBIENT_OFFLINEIFNOTCONNECTED
);
CHECK_CALLED
(
Exec_ShellDocView_63
);
CHECK_CALLED
(
Exec_ShellDocView_84
);
}
if
(
doc_mon
)
{
...
...
@@ -5679,7 +5685,7 @@ static void test_exec_editmode(IUnknown *unk, BOOL loaded)
CHECK_CALLED
(
OnChanged_READYSTATE
);
CHECK_CALLED
(
Invoke_OnReadyStateChange_Loading
);
CLEAR_CALLED
(
IsSystemMoniker
);
/* IE7 */
SET
_CALLED
(
Exec_ShellDocView_84
);
CHECK
_CALLED
(
Exec_ShellDocView_84
);
if
(
loaded
)
CHECK_CALLED
(
BindToStorage
);
CHECK_CALLED
(
InPlaceUIWindow_SetActiveObject
);
...
...
@@ -5888,6 +5894,7 @@ static void test_ClientSite(IOleObject *oleobj, DWORD flags)
SET_EXPECT
(
Invoke_AMBIENT_PALETTE
);
SET_EXPECT
(
GetOverrideKeyPath
);
SET_EXPECT
(
GetTravelLog
);
SET_EXPECT
(
Exec_ShellDocView_84
);
hres
=
IOleObject_SetClientSite
(
oleobj
,
&
ClientSite
);
ok
(
hres
==
S_OK
,
"SetClientSite failed: %08x
\n
"
,
hres
);
...
...
@@ -5912,6 +5919,7 @@ static void test_ClientSite(IOleObject *oleobj, DWORD flags)
CLEAR_CALLED
(
Invoke_AMBIENT_PALETTE
);
/* not called on IE9 */
CLEAR_CALLED
(
GetOverrideKeyPath
);
/* Called by IE9 */
todo_wine
CHECK_CALLED
(
GetTravelLog
);
CHECK_CALLED
(
Exec_ShellDocView_84
);
set_clientsite
=
TRUE
;
}
...
...
@@ -7075,7 +7083,6 @@ static void test_editing_mode(BOOL do_load)
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
|
OLECMDF_ENABLED
);
if
(
!
do_load
)
{
test_exec_fontname
(
unk
,
NULL
,
wszTimesNewRoman
);
test_exec_fontname
(
unk
,
wszArial
,
wszTimesNewRoman
);
test_timer
(
EXPECT_UPDATEUI
);
test_exec_fontname
(
unk
,
NULL
,
wszArial
);
...
...
@@ -7150,6 +7157,7 @@ static void test_UIActivate(BOOL do_load, BOOL use_ipsex, BOOL use_ipsw)
SET_EXPECT
(
Exec_SETPROGRESSMAX
);
SET_EXPECT
(
Exec_SETPROGRESSPOS
);
SET_EXPECT
(
GetTravelLog
);
SET_EXPECT
(
Exec_ShellDocView_84
);
hres
=
IOleObject_SetClientSite
(
oleobj
,
&
ClientSite
);
ok
(
hres
==
S_OK
,
"SetClientSite failed: %08x
\n
"
,
hres
);
...
...
@@ -7170,6 +7178,7 @@ static void test_UIActivate(BOOL do_load, BOOL use_ipsex, BOOL use_ipsw)
CHECK_CALLED
(
Exec_SETPROGRESSMAX
);
CHECK_CALLED
(
Exec_SETPROGRESSPOS
);
todo_wine
CHECK_CALLED
(
GetTravelLog
);
CHECK_CALLED
(
Exec_ShellDocView_84
);
hres
=
IOleDocumentView_GetInPlaceSite
(
view
,
&
inplacesite
);
ok
(
hres
==
S_OK
,
"GetInPlaceSite failed: %08x
\n
"
,
hres
);
...
...
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