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
1cc3cf1b
Commit
1cc3cf1b
authored
Nov 12, 2012
by
Jacek Caban
Committed by
Alexandre Julliard
Nov 12, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Added exec_refresh implementation.
parent
f0b7db4d
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
82 additions
and
14 deletions
+82
-14
binding.h
dlls/mshtml/binding.h
+1
-0
mshtml_private.h
dlls/mshtml/mshtml_private.h
+1
-0
mutation.c
dlls/mshtml/mutation.c
+2
-1
navigate.c
dlls/mshtml/navigate.c
+11
-9
nsevents.c
dlls/mshtml/nsevents.c
+3
-1
olecmd.c
dlls/mshtml/olecmd.c
+62
-2
persist.c
dlls/mshtml/persist.c
+2
-1
No files found.
dlls/mshtml/binding.h
View file @
1cc3cf1b
...
@@ -101,6 +101,7 @@ typedef struct {
...
@@ -101,6 +101,7 @@ typedef struct {
#define BINDING_NAVIGATED 0x0001
#define BINDING_NAVIGATED 0x0001
#define BINDING_REPLACE 0x0002
#define BINDING_REPLACE 0x0002
#define BINDING_FROMHIST 0x0004
#define BINDING_FROMHIST 0x0004
#define BINDING_REFRESH 0x0008
HRESULT
set_http_header
(
struct
list
*
,
const
WCHAR
*
,
int
,
const
WCHAR
*
,
int
)
DECLSPEC_HIDDEN
;
HRESULT
set_http_header
(
struct
list
*
,
const
WCHAR
*
,
int
,
const
WCHAR
*
,
int
)
DECLSPEC_HIDDEN
;
HRESULT
create_redirect_nschannel
(
const
WCHAR
*
,
nsChannel
*
,
nsChannel
**
)
DECLSPEC_HIDDEN
;
HRESULT
create_redirect_nschannel
(
const
WCHAR
*
,
nsChannel
*
,
nsChannel
**
)
DECLSPEC_HIDDEN
;
...
...
dlls/mshtml/mshtml_private.h
View file @
1cc3cf1b
...
@@ -374,6 +374,7 @@ struct HTMLOuterWindow {
...
@@ -374,6 +374,7 @@ struct HTMLOuterWindow {
IUri
*
uri
;
IUri
*
uri
;
IUri
*
uri_nofrag
;
IUri
*
uri_nofrag
;
BSTR
url
;
BSTR
url
;
DWORD
load_flags
;
SCRIPTMODE
scriptmode
;
SCRIPTMODE
scriptmode
;
...
...
dlls/mshtml/mutation.c
View file @
1cc3cf1b
...
@@ -32,6 +32,7 @@
...
@@ -32,6 +32,7 @@
#include "mshtml_private.h"
#include "mshtml_private.h"
#include "htmlscript.h"
#include "htmlscript.h"
#include "htmlevent.h"
#include "htmlevent.h"
#include "binding.h"
#include "wine/debug.h"
#include "wine/debug.h"
...
@@ -267,7 +268,7 @@ static void parse_complete(HTMLDocumentObj *doc)
...
@@ -267,7 +268,7 @@ static void parse_complete(HTMLDocumentObj *doc)
call_property_onchanged
(
&
doc
->
basedoc
.
cp_propnotif
,
1005
);
call_property_onchanged
(
&
doc
->
basedoc
.
cp_propnotif
,
1005
);
call_explorer_69
(
doc
);
call_explorer_69
(
doc
);
if
(
doc
->
is_webbrowser
&&
doc
->
usermode
!=
EDITMODE
)
if
(
doc
->
is_webbrowser
&&
doc
->
usermode
!=
EDITMODE
&&
!
(
doc
->
basedoc
.
window
->
load_flags
&
BINDING_REFRESH
)
)
IDocObjectService_FireNavigateComplete2
(
doc
->
doc_object_service
,
&
doc
->
basedoc
.
window
->
base
.
IHTMLWindow2_iface
,
0
);
IDocObjectService_FireNavigateComplete2
(
doc
->
doc_object_service
,
&
doc
->
basedoc
.
window
->
base
.
IHTMLWindow2_iface
,
0
);
/* FIXME: IE7 calls EnableModelless(TRUE), EnableModelless(FALSE) and sets interactive state here */
/* FIXME: IE7 calls EnableModelless(TRUE), EnableModelless(FALSE) and sets interactive state here */
...
...
dlls/mshtml/navigate.c
View file @
1cc3cf1b
...
@@ -2052,7 +2052,7 @@ HRESULT super_navigate(HTMLOuterWindow *window, IUri *uri, DWORD flags, const WC
...
@@ -2052,7 +2052,7 @@ HRESULT super_navigate(HTMLOuterWindow *window, IUri *uri, DWORD flags, const WC
if
(
!
uri_nofrag
)
if
(
!
uri_nofrag
)
return
E_FAIL
;
return
E_FAIL
;
if
(
window
->
doc_obj
->
client
)
{
if
(
window
->
doc_obj
->
client
&&
!
(
flags
&
BINDING_REFRESH
)
)
{
IOleCommandTarget
*
cmdtrg
;
IOleCommandTarget
*
cmdtrg
;
hres
=
IOleClientSite_QueryInterface
(
window
->
doc_obj
->
client
,
&
IID_IOleCommandTarget
,
(
void
**
)
&
cmdtrg
);
hres
=
IOleClientSite_QueryInterface
(
window
->
doc_obj
->
client
,
&
IID_IOleCommandTarget
,
(
void
**
)
&
cmdtrg
);
...
@@ -2075,7 +2075,7 @@ HRESULT super_navigate(HTMLOuterWindow *window, IUri *uri, DWORD flags, const WC
...
@@ -2075,7 +2075,7 @@ HRESULT super_navigate(HTMLOuterWindow *window, IUri *uri, DWORD flags, const WC
}
}
}
}
if
(
window
->
uri_nofrag
&&
!
post_data_size
)
{
if
(
!
(
flags
&
BINDING_REFRESH
)
&&
window
->
uri_nofrag
&&
!
post_data_size
)
{
BOOL
eq
;
BOOL
eq
;
hres
=
IUri_IsEqual
(
uri_nofrag
,
window
->
uri_nofrag
,
&
eq
);
hres
=
IUri_IsEqual
(
uri_nofrag
,
window
->
uri_nofrag
,
&
eq
);
...
@@ -2115,7 +2115,7 @@ HRESULT super_navigate(HTMLOuterWindow *window, IUri *uri, DWORD flags, const WC
...
@@ -2115,7 +2115,7 @@ HRESULT super_navigate(HTMLOuterWindow *window, IUri *uri, DWORD flags, const WC
/* Silently and repeated when real loading starts? */
/* Silently and repeated when real loading starts? */
window
->
readystate
=
READYSTATE_LOADING
;
window
->
readystate
=
READYSTATE_LOADING
;
if
(
!
(
flags
&
BINDING_FROMHIST
))
if
(
!
(
flags
&
(
BINDING_FROMHIST
|
BINDING_REFRESH
)
))
call_docview_84
(
window
->
doc_obj
);
call_docview_84
(
window
->
doc_obj
);
task
->
window
=
window
;
task
->
window
=
window
;
...
@@ -2266,13 +2266,15 @@ static HRESULT navigate_uri(HTMLOuterWindow *window, IUri *uri, const WCHAR *dis
...
@@ -2266,13 +2266,15 @@ static HRESULT navigate_uri(HTMLOuterWindow *window, IUri *uri, const WCHAR *dis
HRESULT
hres
;
HRESULT
hres
;
if
(
window
->
doc_obj
&&
window
->
doc_obj
->
is_webbrowser
&&
window
==
window
->
doc_obj
->
basedoc
.
window
)
{
if
(
window
->
doc_obj
&&
window
->
doc_obj
->
is_webbrowser
&&
window
==
window
->
doc_obj
->
basedoc
.
window
)
{
BOOL
cancel
=
FALSE
;
if
(
!
(
flags
&
BINDING_REFRESH
))
{
BOOL
cancel
=
FALSE
;
hres
=
IDocObjectService_FireBeforeNavigate2
(
window
->
doc_obj
->
doc_object_service
,
NULL
,
display_uri
,
0x40
,
hres
=
IDocObjectService_FireBeforeNavigate2
(
window
->
doc_obj
->
doc_object_service
,
NULL
,
display_uri
,
0x40
,
NULL
,
NULL
,
0
,
NULL
,
TRUE
,
&
cancel
);
NULL
,
NULL
,
0
,
NULL
,
TRUE
,
&
cancel
);
if
(
SUCCEEDED
(
hres
)
&&
cancel
)
{
if
(
SUCCEEDED
(
hres
)
&&
cancel
)
{
TRACE
(
"Navigation canceled
\n
"
);
TRACE
(
"Navigation canceled
\n
"
);
return
S_OK
;
return
S_OK
;
}
}
}
return
super_navigate
(
window
,
uri
,
flags
,
NULL
,
NULL
,
0
);
return
super_navigate
(
window
,
uri
,
flags
,
NULL
,
NULL
,
0
);
...
...
dlls/mshtml/nsevents.c
View file @
1cc3cf1b
...
@@ -34,6 +34,7 @@
...
@@ -34,6 +34,7 @@
#include "mshtml_private.h"
#include "mshtml_private.h"
#include "htmlscript.h"
#include "htmlscript.h"
#include "htmlevent.h"
#include "htmlevent.h"
#include "binding.h"
#include "resource.h"
#include "resource.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
mshtml
);
WINE_DEFAULT_DEBUG_CHANNEL
(
mshtml
);
...
@@ -258,7 +259,8 @@ static nsresult NSAPI handle_load(nsIDOMEventListener *iface, nsIDOMEvent *event
...
@@ -258,7 +259,8 @@ static nsresult NSAPI handle_load(nsIDOMEventListener *iface, nsIDOMEvent *event
update_title
(
doc_obj
);
update_title
(
doc_obj
);
}
}
if
(
doc_obj
&&
doc_obj
->
usermode
!=
EDITMODE
&&
doc_obj
->
doc_object_service
)
if
(
doc_obj
&&
doc_obj
->
usermode
!=
EDITMODE
&&
doc_obj
->
doc_object_service
&&
!
(
doc
->
basedoc
.
window
->
load_flags
&
BINDING_REFRESH
))
IDocObjectService_FireDocumentComplete
(
doc_obj
->
doc_object_service
,
IDocObjectService_FireDocumentComplete
(
doc_obj
->
doc_object_service
,
&
doc
->
basedoc
.
window
->
base
.
IHTMLWindow2_iface
,
0
);
&
doc
->
basedoc
.
window
->
base
.
IHTMLWindow2_iface
,
0
);
...
...
dlls/mshtml/olecmd.c
View file @
1cc3cf1b
...
@@ -32,6 +32,7 @@
...
@@ -32,6 +32,7 @@
#include "wine/debug.h"
#include "wine/debug.h"
#include "mshtml_private.h"
#include "mshtml_private.h"
#include "binding.h"
#include "resource.h"
#include "resource.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
mshtml
);
WINE_DEFAULT_DEBUG_CHANNEL
(
mshtml
);
...
@@ -384,10 +385,69 @@ static HRESULT exec_get_zoom_range(HTMLDocument *This, DWORD nCmdexecopt, VARIAN
...
@@ -384,10 +385,69 @@ static HRESULT exec_get_zoom_range(HTMLDocument *This, DWORD nCmdexecopt, VARIAN
return
E_NOTIMPL
;
return
E_NOTIMPL
;
}
}
typedef
struct
{
task_t
header
;
HTMLOuterWindow
*
window
;
}
refresh_task_t
;
static
void
refresh_proc
(
task_t
*
_task
)
{
refresh_task_t
*
task
=
(
refresh_task_t
*
)
_task
;
HTMLOuterWindow
*
window
=
task
->
window
;
TRACE
(
"%p
\n
"
,
window
);
window
->
readystate
=
READYSTATE_UNINITIALIZED
;
if
(
window
->
doc_obj
&&
window
->
doc_obj
->
client_cmdtrg
)
{
VARIANT
var
;
V_VT
(
&
var
)
=
VT_I4
;
V_I4
(
&
var
)
=
0
;
IOleCommandTarget_Exec
(
window
->
doc_obj
->
client_cmdtrg
,
&
CGID_ShellDocView
,
37
,
0
,
&
var
,
NULL
);
}
load_uri
(
task
->
window
,
task
->
window
->
uri
,
BINDING_REFRESH
);
}
static
void
refresh_destr
(
task_t
*
_task
)
{
refresh_task_t
*
task
=
(
refresh_task_t
*
)
_task
;
IHTMLWindow2_Release
(
&
task
->
window
->
base
.
IHTMLWindow2_iface
);
heap_free
(
task
);
}
static
HRESULT
exec_refresh
(
HTMLDocument
*
This
,
DWORD
nCmdexecopt
,
VARIANT
*
pvaIn
,
VARIANT
*
pvaOut
)
static
HRESULT
exec_refresh
(
HTMLDocument
*
This
,
DWORD
nCmdexecopt
,
VARIANT
*
pvaIn
,
VARIANT
*
pvaOut
)
{
{
FIXME
(
"(%p)->(%d %p %p)
\n
"
,
This
,
nCmdexecopt
,
pvaIn
,
pvaOut
);
refresh_task_t
*
task
;
return
E_NOTIMPL
;
HRESULT
hres
;
TRACE
(
"(%p)->(%d %s %p)
\n
"
,
This
,
nCmdexecopt
,
debugstr_variant
(
pvaIn
),
pvaOut
);
if
(
This
->
doc_obj
->
client
)
{
IOleCommandTarget
*
olecmd
;
hres
=
IOleClientSite_QueryInterface
(
This
->
doc_obj
->
client
,
&
IID_IOleCommandTarget
,
(
void
**
)
&
olecmd
);
if
(
SUCCEEDED
(
hres
))
{
hres
=
IOleCommandTarget_Exec
(
olecmd
,
&
CGID_DocHostCommandHandler
,
2300
,
nCmdexecopt
,
pvaIn
,
pvaOut
);
IOleCommandTarget_Release
(
olecmd
);
if
(
SUCCEEDED
(
hres
))
return
S_OK
;
}
}
if
(
!
This
->
window
)
return
E_UNEXPECTED
;
task
=
heap_alloc
(
sizeof
(
*
task
));
if
(
!
task
)
return
E_OUTOFMEMORY
;
IHTMLWindow2_AddRef
(
&
This
->
window
->
base
.
IHTMLWindow2_iface
);
task
->
window
=
This
->
window
;
return
push_task
(
&
task
->
header
,
refresh_proc
,
refresh_destr
,
This
->
window
->
task_magic
);
}
}
static
HRESULT
exec_stop
(
HTMLDocument
*
This
,
DWORD
nCmdexecopt
,
VARIANT
*
pvaIn
,
VARIANT
*
pvaOut
)
static
HRESULT
exec_stop
(
HTMLDocument
*
This
,
DWORD
nCmdexecopt
,
VARIANT
*
pvaIn
,
VARIANT
*
pvaOut
)
...
...
dlls/mshtml/persist.c
View file @
1cc3cf1b
...
@@ -130,12 +130,13 @@ void set_current_mon(HTMLOuterWindow *This, IMoniker *mon, DWORD flags)
...
@@ -130,12 +130,13 @@ void set_current_mon(HTMLOuterWindow *This, IMoniker *mon, DWORD flags)
HRESULT
hres
;
HRESULT
hres
;
if
(
This
->
mon
)
{
if
(
This
->
mon
)
{
if
(
This
->
doc_obj
&&
!
(
flags
&
BINDING_REPLACE
))
if
(
This
->
doc_obj
&&
!
(
flags
&
(
BINDING_REPLACE
|
BINDING_REFRESH
)
))
notify_travellog_update
(
This
->
doc_obj
);
notify_travellog_update
(
This
->
doc_obj
);
IMoniker_Release
(
This
->
mon
);
IMoniker_Release
(
This
->
mon
);
This
->
mon
=
NULL
;
This
->
mon
=
NULL
;
}
}
This
->
load_flags
=
flags
;
if
(
!
mon
)
if
(
!
mon
)
return
;
return
;
...
...
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