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
0bccfa87
Commit
0bccfa87
authored
Mar 03, 2010
by
Jacek Caban
Committed by
Alexandre Julliard
Mar 03, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Moved asynchronous document binding to separated function.
parent
6938378b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
19 deletions
+33
-19
mshtml_private.h
dlls/mshtml/mshtml_private.h
+1
-0
navigate.c
dlls/mshtml/navigate.c
+30
-0
nsio.c
dlls/mshtml/nsio.c
+2
-19
No files found.
dlls/mshtml/mshtml_private.h
View file @
0bccfa87
...
...
@@ -740,6 +740,7 @@ void add_nsevent_listener(HTMLDocumentNode*,LPCWSTR);
void
set_window_bscallback
(
HTMLWindow
*
,
nsChannelBSC
*
);
void
set_current_mon
(
HTMLWindow
*
,
IMoniker
*
);
HRESULT
start_binding
(
HTMLWindow
*
,
HTMLDocumentNode
*
,
BSCallback
*
,
IBindCtx
*
);
HRESULT
async_start_doc_binding
(
HTMLWindow
*
,
nsChannelBSC
*
);
void
abort_document_bindings
(
HTMLDocumentNode
*
);
HRESULT
bind_mon_to_buffer
(
HTMLDocumentNode
*
,
IMoniker
*
,
void
**
,
DWORD
*
);
...
...
dlls/mshtml/navigate.c
View file @
0bccfa87
...
...
@@ -1148,6 +1148,36 @@ void set_window_bscallback(HTMLWindow *window, nsChannelBSC *callback)
}
}
typedef
struct
{
task_t
header
;
HTMLWindow
*
window
;
nsChannelBSC
*
bscallback
;
}
start_doc_binding_task_t
;
static
void
start_doc_binding_proc
(
task_t
*
_task
)
{
start_doc_binding_task_t
*
task
=
(
start_doc_binding_task_t
*
)
_task
;
start_binding
(
task
->
window
,
NULL
,
(
BSCallback
*
)
task
->
bscallback
,
NULL
);
IBindStatusCallback_Release
(
STATUSCLB
(
&
task
->
bscallback
->
bsc
));
}
HRESULT
async_start_doc_binding
(
HTMLWindow
*
window
,
nsChannelBSC
*
bscallback
)
{
start_doc_binding_task_t
*
task
;
task
=
heap_alloc
(
sizeof
(
start_doc_binding_task_t
));
if
(
!
task
)
return
E_OUTOFMEMORY
;
task
->
window
=
window
;
task
->
bscallback
=
bscallback
;
IBindStatusCallback_AddRef
(
STATUSCLB
(
&
bscallback
->
bsc
));
push_task
(
&
task
->
header
,
start_doc_binding_proc
,
window
->
task_magic
);
return
S_OK
;
}
void
abort_document_bindings
(
HTMLDocumentNode
*
doc
)
{
BSCallback
*
iter
;
...
...
dlls/mshtml/nsio.c
View file @
0bccfa87
...
...
@@ -808,19 +808,7 @@ static void start_binding_proc(task_t *_task)
start_binding_task_t
*
task
=
(
start_binding_task_t
*
)
_task
;
start_binding
(
NULL
,
task
->
doc
,
(
BSCallback
*
)
task
->
bscallback
,
NULL
);
}
typedef
struct
{
task_t
header
;
HTMLWindow
*
window
;
nsChannelBSC
*
bscallback
;
}
start_doc_binding_task_t
;
static
void
start_doc_binding_proc
(
task_t
*
_task
)
{
start_doc_binding_task_t
*
task
=
(
start_doc_binding_task_t
*
)
_task
;
start_binding
(
task
->
window
,
NULL
,
(
BSCallback
*
)
task
->
bscallback
,
NULL
);
IUnknown_Release
((
IUnknown
*
)
task
->
bscallback
);
}
...
...
@@ -844,14 +832,9 @@ static nsresult async_open(nsChannel *This, HTMLWindow *window, BOOL is_doc_chan
channelbsc_set_channel
(
bscallback
,
This
,
listener
,
context
);
if
(
is_doc_channel
)
{
start_doc_binding_task_t
*
task
;
set_window_bscallback
(
window
,
bscallback
);
task
=
heap_alloc
(
sizeof
(
start_doc_binding_task_t
));
task
->
window
=
window
;
task
->
bscallback
=
bscallback
;
push_task
(
&
task
->
header
,
start_doc_binding_proc
,
window
->
task_magic
);
async_start_doc_binding
(
window
,
bscallback
);
IUnknown_Release
((
IUnknown
*
)
bscallback
);
}
else
{
start_binding_task_t
*
task
=
heap_alloc
(
sizeof
(
start_binding_task_t
));
...
...
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