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
ebee2a83
Commit
ebee2a83
authored
Feb 03, 2017
by
Jacek Caban
Committed by
Alexandre Julliard
Feb 06, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Added MHTMLDocument object implementation.
Signed-off-by:
Jacek Caban
<
jacek@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
51e1a088
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
29 additions
and
8 deletions
+29
-8
Makefile.in
dlls/mshtml/Makefile.in
+1
-1
htmldoc.c
dlls/mshtml/htmldoc.c
+10
-5
mshtml_private.h
dlls/mshtml/mshtml_private.h
+1
-0
persist.c
dlls/mshtml/persist.c
+17
-2
No files found.
dlls/mshtml/Makefile.in
View file @
ebee2a83
MODULE
=
mshtml.dll
MODULE
=
mshtml.dll
IMPORTLIB
=
mshtml
IMPORTLIB
=
mshtml
IMPORTS
=
strmiids uuid urlmon shlwapi shell32 ole32 oleaut32 user32 gdi32 advapi32
IMPORTS
=
strmiids uuid urlmon shlwapi shell32 ole32 oleaut32 user32 gdi32 advapi32
DELAYIMPORTS
=
wininet
DELAYIMPORTS
=
wininet
inetcomm
C_SRCS
=
\
C_SRCS
=
\
conpoint.c
\
conpoint.c
\
...
...
dlls/mshtml/htmldoc.c
View file @
ebee2a83
...
@@ -5075,7 +5075,7 @@ static dispex_static_data_t HTMLDocumentObj_dispex = {
...
@@ -5075,7 +5075,7 @@ static dispex_static_data_t HTMLDocumentObj_dispex = {
HTMLDocumentObj_iface_tids
HTMLDocumentObj_iface_tids
};
};
HRESULT
HTMLDocument_Create
(
IUnknown
*
outer
,
REFIID
riid
,
void
**
ppv
)
static
HRESULT
create_document_object
(
BOOL
is_mhtml
,
IUnknown
*
outer
,
REFIID
riid
,
void
**
ppv
)
{
{
mozIDOMWindowProxy
*
mozwindow
;
mozIDOMWindowProxy
*
mozwindow
;
HTMLDocumentObj
*
doc
;
HTMLDocumentObj
*
doc
;
...
@@ -5083,8 +5083,6 @@ HRESULT HTMLDocument_Create(IUnknown *outer, REFIID riid, void **ppv)
...
@@ -5083,8 +5083,6 @@ HRESULT HTMLDocument_Create(IUnknown *outer, REFIID riid, void **ppv)
nsresult
nsres
;
nsresult
nsres
;
HRESULT
hres
;
HRESULT
hres
;
TRACE
(
"(%p %s %p)
\n
"
,
outer
,
debugstr_mshtml_guid
(
riid
),
ppv
);
if
(
outer
&&
!
IsEqualGUID
(
&
IID_IUnknown
,
riid
))
{
if
(
outer
&&
!
IsEqualGUID
(
&
IID_IUnknown
,
riid
))
{
*
ppv
=
NULL
;
*
ppv
=
NULL
;
return
E_INVALIDARG
;
return
E_INVALIDARG
;
...
@@ -5102,6 +5100,7 @@ HRESULT HTMLDocument_Create(IUnknown *outer, REFIID riid, void **ppv)
...
@@ -5102,6 +5100,7 @@ HRESULT HTMLDocument_Create(IUnknown *outer, REFIID riid, void **ppv)
init_doc
(
&
doc
->
basedoc
,
outer
?
outer
:
&
doc
->
IUnknown_outer
,
&
doc
->
dispex
.
IDispatchEx_iface
);
init_doc
(
&
doc
->
basedoc
,
outer
?
outer
:
&
doc
->
IUnknown_outer
,
&
doc
->
dispex
.
IDispatchEx_iface
);
TargetContainer_Init
(
doc
);
TargetContainer_Init
(
doc
);
doc
->
basedoc
.
doc_obj
=
doc
;
doc
->
basedoc
.
doc_obj
=
doc
;
doc
->
is_mhtml
=
is_mhtml
;
doc
->
usermode
=
UNKNOWN_USERMODE
;
doc
->
usermode
=
UNKNOWN_USERMODE
;
...
@@ -5149,8 +5148,14 @@ HRESULT HTMLDocument_Create(IUnknown *outer, REFIID riid, void **ppv)
...
@@ -5149,8 +5148,14 @@ HRESULT HTMLDocument_Create(IUnknown *outer, REFIID riid, void **ppv)
return
S_OK
;
return
S_OK
;
}
}
HRESULT
HTMLDocument_Create
(
IUnknown
*
outer
,
REFIID
riid
,
void
**
ppv
)
{
TRACE
(
"(%p %s %p)
\n
"
,
outer
,
debugstr_mshtml_guid
(
riid
),
ppv
);
return
create_document_object
(
FALSE
,
outer
,
riid
,
ppv
);
}
HRESULT
MHTMLDocument_Create
(
IUnknown
*
outer
,
REFIID
riid
,
void
**
ppv
)
HRESULT
MHTMLDocument_Create
(
IUnknown
*
outer
,
REFIID
riid
,
void
**
ppv
)
{
{
FIXM
E
(
"(%p %s %p)
\n
"
,
outer
,
debugstr_mshtml_guid
(
riid
),
ppv
);
TRAC
E
(
"(%p %s %p)
\n
"
,
outer
,
debugstr_mshtml_guid
(
riid
),
ppv
);
return
E_NOTIMPL
;
return
create_document_object
(
TRUE
,
outer
,
riid
,
ppv
)
;
}
}
dlls/mshtml/mshtml_private.h
View file @
ebee2a83
...
@@ -640,6 +640,7 @@ struct HTMLDocumentObj {
...
@@ -640,6 +640,7 @@ struct HTMLDocumentObj {
HWND
hwnd
;
HWND
hwnd
;
HWND
tooltips_hwnd
;
HWND
tooltips_hwnd
;
BOOL
is_mhtml
;
BOOL
request_uiactivate
;
BOOL
request_uiactivate
;
BOOL
in_place_active
;
BOOL
in_place_active
;
BOOL
ui_active
;
BOOL
ui_active
;
...
...
dlls/mshtml/persist.c
View file @
ebee2a83
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
#include "ole2.h"
#include "ole2.h"
#include "shlguid.h"
#include "shlguid.h"
#include "idispids.h"
#include "idispids.h"
#include "mimeole.h"
#define NO_SHLWAPI_REG
#define NO_SHLWAPI_REG
#include "shlwapi.h"
#include "shlwapi.h"
...
@@ -587,6 +588,7 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
...
@@ -587,6 +588,7 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
IMoniker
*
pimkName
,
LPBC
pibc
,
DWORD
grfMode
)
IMoniker
*
pimkName
,
LPBC
pibc
,
DWORD
grfMode
)
{
{
HTMLDocument
*
This
=
impl_from_IPersistMoniker
(
iface
);
HTMLDocument
*
This
=
impl_from_IPersistMoniker
(
iface
);
IMoniker
*
mon
;
HRESULT
hres
;
HRESULT
hres
;
TRACE
(
"(%p)->(%x %p %p %08x)
\n
"
,
This
,
fFullyAvailable
,
pimkName
,
pibc
,
grfMode
);
TRACE
(
"(%p)->(%x %p %p %08x)
\n
"
,
This
,
fFullyAvailable
,
pimkName
,
pibc
,
grfMode
);
...
@@ -620,9 +622,22 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
...
@@ -620,9 +622,22 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
}
}
}
}
prepare_for_binding
(
This
,
pimkName
,
FALSE
);
if
(
This
->
doc_obj
->
is_mhtml
)
{
IUnknown
*
unk
;
hres
=
MimeOleObjectFromMoniker
(
0
,
pimkName
,
pibc
,
&
IID_IUnknown
,
(
void
**
)
&
unk
,
&
mon
);
if
(
FAILED
(
hres
))
return
hres
;
IUnknown_Release
(
unk
);
pibc
=
NULL
;
}
else
{
IMoniker_AddRef
(
mon
=
pimkName
);
}
prepare_for_binding
(
This
,
mon
,
FALSE
);
call_docview_84
(
This
->
doc_obj
);
call_docview_84
(
This
->
doc_obj
);
hres
=
set_moniker
(
This
->
window
,
pimkName
,
NULL
,
pibc
,
NULL
,
TRUE
);
hres
=
set_moniker
(
This
->
window
,
mon
,
NULL
,
pibc
,
NULL
,
TRUE
);
IMoniker_Release
(
mon
);
if
(
FAILED
(
hres
))
if
(
FAILED
(
hres
))
return
hres
;
return
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