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
ba1db4c1
Commit
ba1db4c1
authored
Feb 21, 2010
by
Jacek Caban
Committed by
Alexandre Julliard
Feb 22, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Use nsWineURL structure directly in load_nsuri.
parent
61121cef
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
51 deletions
+55
-51
mshtml_private.h
dlls/mshtml/mshtml_private.h
+2
-2
navigate.c
dlls/mshtml/navigate.c
+3
-32
nsio.c
dlls/mshtml/nsio.c
+47
-13
persist.c
dlls/mshtml/persist.c
+3
-4
No files found.
dlls/mshtml/mshtml_private.h
View file @
ba1db4c1
...
...
@@ -701,12 +701,12 @@ void release_nsio(void);
BOOL
install_wine_gecko
(
BOOL
);
HRESULT
nsuri_to_url
(
LPCWSTR
,
BOOL
,
BSTR
*
);
HRESULT
create_doc_uri
(
HTMLWindow
*
,
WCHAR
*
,
nsIWineURI
**
);
HRESULT
create_doc_uri
(
HTMLWindow
*
,
WCHAR
*
,
nsWineURI
**
);
HRESULT
load_nsuri
(
HTMLWindow
*
,
nsWineURI
*
,
nsChannelBSC
*
,
DWORD
);
HRESULT
hlink_frame_navigate
(
HTMLDocument
*
,
LPCWSTR
,
nsIInputStream
*
,
DWORD
);
HRESULT
navigate_url
(
HTMLWindow
*
,
const
WCHAR
*
,
const
WCHAR
*
);
HRESULT
set_frame_doc
(
HTMLFrameBase
*
,
nsIDOMDocument
*
);
HRESULT
load_nsuri
(
HTMLWindow
*
,
nsIWineURI
*
,
DWORD
);
void
call_property_onchanged
(
ConnectionPoint
*
,
DISPID
);
HRESULT
call_set_active_object
(
IOleInPlaceUIWindow
*
,
IOleInPlaceActiveObject
*
);
...
...
dlls/mshtml/navigate.c
View file @
ba1db4c1
...
...
@@ -1253,39 +1253,10 @@ HRESULT hlink_frame_navigate(HTMLDocument *doc, LPCWSTR url,
return
hres
;
}
HRESULT
load_nsuri
(
HTMLWindow
*
window
,
nsIWineURI
*
uri
,
DWORD
flags
)
{
nsIWebNavigation
*
web_navigation
;
nsIDocShell
*
doc_shell
;
nsresult
nsres
;
nsres
=
get_nsinterface
((
nsISupports
*
)
window
->
nswindow
,
&
IID_nsIWebNavigation
,
(
void
**
)
&
web_navigation
);
if
(
NS_FAILED
(
nsres
))
{
ERR
(
"Could not get nsIWebNavigation interface: %08x
\n
"
,
nsres
);
return
E_FAIL
;
}
nsres
=
nsIWebNavigation_QueryInterface
(
web_navigation
,
&
IID_nsIDocShell
,
(
void
**
)
&
doc_shell
);
nsIWebNavigation_Release
(
web_navigation
);
if
(
NS_FAILED
(
nsres
))
{
ERR
(
"Could not get nsIDocShell: %08x
\n
"
,
nsres
);
return
E_FAIL
;
}
nsres
=
nsIDocShell_LoadURI
(
doc_shell
,
(
nsIURI
*
)
uri
,
NULL
,
flags
,
FALSE
);
nsIDocShell_Release
(
doc_shell
);
if
(
NS_FAILED
(
nsres
))
{
WARN
(
"LoadURI failed: %08x
\n
"
,
nsres
);
return
E_FAIL
;
}
return
S_OK
;
}
HRESULT
navigate_url
(
HTMLWindow
*
window
,
const
WCHAR
*
new_url
,
const
WCHAR
*
base_url
)
{
WCHAR
url
[
INTERNET_MAX_URL_LENGTH
];
ns
I
WineURI
*
uri
;
nsWineURI
*
uri
;
HRESULT
hres
;
if
(
!
new_url
)
{
...
...
@@ -1323,7 +1294,7 @@ HRESULT navigate_url(HTMLWindow *window, const WCHAR *new_url, const WCHAR *base
if
(
FAILED
(
hres
))
return
hres
;
hres
=
load_nsuri
(
window
,
uri
,
LOAD_FLAGS_NONE
);
nsI
WineURI_Release
(
uri
);
hres
=
load_nsuri
(
window
,
uri
,
NULL
,
LOAD_FLAGS_NONE
);
nsI
Supports_Release
((
nsISupports
*
)
uri
);
return
hres
;
}
dlls/mshtml/nsio.c
View file @
ba1db4c1
...
...
@@ -67,7 +67,7 @@ struct nsWineURI {
#define NSURI(x) ((nsIURI*) &(x)->lpWineURIVtbl)
#define NSWINEURI(x) ((nsIWineURI*) &(x)->lpWineURIVtbl)
static
nsresult
create_uri
(
nsIURI
*
,
HTMLWindow
*
,
NSContainer
*
,
ns
I
WineURI
**
);
static
nsresult
create_uri
(
nsIURI
*
,
HTMLWindow
*
,
NSContainer
*
,
nsWineURI
**
);
static
const
char
*
debugstr_nsacstr
(
const
nsACString
*
nsstr
)
{
...
...
@@ -150,6 +150,38 @@ static BOOL before_async_open(nsChannel *channel, NSContainer *container)
return
hres
!=
S_OK
;
}
HRESULT
load_nsuri
(
HTMLWindow
*
window
,
nsWineURI
*
uri
,
nsChannelBSC
*
channelbsc
,
DWORD
flags
)
{
nsIWebNavigation
*
web_navigation
;
nsIDocShell
*
doc_shell
;
nsresult
nsres
;
nsres
=
get_nsinterface
((
nsISupports
*
)
window
->
nswindow
,
&
IID_nsIWebNavigation
,
(
void
**
)
&
web_navigation
);
if
(
NS_FAILED
(
nsres
))
{
ERR
(
"Could not get nsIWebNavigation interface: %08x
\n
"
,
nsres
);
return
E_FAIL
;
}
nsres
=
nsIWebNavigation_QueryInterface
(
web_navigation
,
&
IID_nsIDocShell
,
(
void
**
)
&
doc_shell
);
nsIWebNavigation_Release
(
web_navigation
);
if
(
NS_FAILED
(
nsres
))
{
ERR
(
"Could not get nsIDocShell: %08x
\n
"
,
nsres
);
return
E_FAIL
;
}
uri
->
channel_bsc
=
channelbsc
;
nsres
=
nsIDocShell_LoadURI
(
doc_shell
,
NSURI
(
uri
),
NULL
,
flags
,
FALSE
);
uri
->
channel_bsc
=
NULL
;
nsIDocShell_Release
(
doc_shell
);
if
(
NS_FAILED
(
nsres
))
{
WARN
(
"LoadURI failed: %08x
\n
"
,
nsres
);
return
E_FAIL
;
}
return
S_OK
;
}
static
BOOL
translate_url
(
HTMLDocumentObj
*
doc
,
nsWineURI
*
uri
)
{
OLECHAR
*
new_url
=
NULL
,
*
url
;
...
...
@@ -200,6 +232,7 @@ nsresult on_start_uri_open(NSContainer *nscontainer, nsIURI *uri, PRBool *_retva
nsIURI_Release
(
NSURI
(
wine_uri
));
return
NS_OK
;
}
HRESULT
set_wine_url
(
nsWineURI
*
This
,
LPCWSTR
url
)
{
nsIWineURI_SetWineURL
(
NSWINEURI
(
This
),
url
);
...
...
@@ -1654,7 +1687,7 @@ static nsresult NSAPI nsURI_Clone(nsIWineURI *iface, nsIURI **_retval)
{
nsWineURI
*
This
=
NSURI_THIS
(
iface
);
nsIURI
*
nsuri
=
NULL
;
ns
I
WineURI
*
wine_uri
;
nsWineURI
*
wine_uri
;
nsresult
nsres
;
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
_retval
);
...
...
@@ -1673,8 +1706,8 @@ static nsresult NSAPI nsURI_Clone(nsIWineURI *iface, nsIURI **_retval)
return
nsres
;
}
*
_retval
=
(
nsIURI
*
)
wine_uri
;
return
nsIWineURI_SetWineURL
(
wine_uri
,
This
->
wine_url
);
*
_retval
=
NSURI
(
wine_uri
)
;
return
nsIWineURI_SetWineURL
(
NSWINEURI
(
wine_uri
)
,
This
->
wine_url
);
}
static
nsresult
NSAPI
nsURI_Resolve
(
nsIWineURI
*
iface
,
const
nsACString
*
arelativePath
,
...
...
@@ -2239,7 +2272,7 @@ static const nsIWineURIVtbl nsWineURIVtbl = {
nsURI_SetWineURL
};
static
nsresult
create_uri
(
nsIURI
*
uri
,
HTMLWindow
*
window
,
NSContainer
*
container
,
ns
I
WineURI
**
_retval
)
static
nsresult
create_uri
(
nsIURI
*
uri
,
HTMLWindow
*
window
,
NSContainer
*
container
,
nsWineURI
**
_retval
)
{
nsWineURI
*
ret
=
heap_alloc_zero
(
sizeof
(
nsWineURI
));
...
...
@@ -2256,21 +2289,21 @@ static nsresult create_uri(nsIURI *uri, HTMLWindow *window, NSContainer *contain
ret
->
nsurl
=
NULL
;
TRACE
(
"retval=%p
\n
"
,
ret
);
*
_retval
=
NSWINEURI
(
ret
)
;
*
_retval
=
ret
;
return
NS_OK
;
}
HRESULT
create_doc_uri
(
HTMLWindow
*
window
,
WCHAR
*
url
,
ns
I
WineURI
**
ret
)
HRESULT
create_doc_uri
(
HTMLWindow
*
window
,
WCHAR
*
url
,
nsWineURI
**
ret
)
{
ns
I
WineURI
*
uri
;
nsWineURI
*
uri
;
nsresult
nsres
;
nsres
=
create_uri
(
NULL
,
window
,
window
->
doc_obj
->
nscontainer
,
&
uri
);
if
(
NS_FAILED
(
nsres
))
return
E_FAIL
;
nsIWineURI_SetWineURL
(
uri
,
url
);
nsIWineURI_SetIsDocumentURI
(
uri
,
TRUE
)
;
nsIWineURI_SetWineURL
(
NSWINEURI
(
uri
)
,
url
);
uri
->
is_doc_uri
=
TRUE
;
*
ret
=
uri
;
return
S_OK
;
...
...
@@ -2504,7 +2537,8 @@ static nsresult NSAPI nsIOService_NewURI(nsIIOService *iface, const nsACString *
HTMLWindow
*
window
=
NULL
;
nsIURI
*
uri
=
NULL
;
LPCWSTR
base_wine_url
=
NULL
;
nsIWineURI
*
base_wine_uri
=
NULL
,
*
wine_uri
;
nsIWineURI
*
base_wine_uri
=
NULL
;
nsWineURI
*
wine_uri
;
BOOL
is_wine_uri
=
FALSE
;
nsresult
nsres
;
...
...
@@ -2558,14 +2592,14 @@ static nsresult NSAPI nsIOService_NewURI(nsIIOService *iface, const nsACString *
URL_ESCAPE_SPACES_ONLY
|
URL_DONT_ESCAPE_EXTRA_INFO
,
url
,
sizeof
(
url
)
/
sizeof
(
WCHAR
),
&
len
,
0
);
if
(
SUCCEEDED
(
hres
))
nsIWineURI_SetWineURL
(
wine_uri
,
url
);
set_wine_url
(
wine_uri
,
url
);
else
WARN
(
"CoCombineUrl failed: %08x
\n
"
,
hres
);
}
else
if
(
is_wine_uri
)
{
WCHAR
url
[
INTERNET_MAX_URL_LENGTH
];
MultiByteToWideChar
(
CP_ACP
,
0
,
spec
,
-
1
,
url
,
sizeof
(
url
)
/
sizeof
(
WCHAR
));
nsIWineURI_SetWineURL
(
wine_uri
,
url
);
set_wine_url
(
wine_uri
,
url
);
}
if
(
base_wine_uri
)
...
...
dlls/mshtml/persist.c
View file @
ba1db4c1
...
...
@@ -172,7 +172,7 @@ static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc, BO
LPOLESTR
url
=
NULL
;
docobj_task_t
*
task
;
download_proc_task_t
*
download_task
;
ns
I
WineURI
*
nsuri
;
nsWineURI
*
nsuri
;
HRESULT
hres
;
if
(
pibc
)
{
...
...
@@ -261,9 +261,8 @@ static HRESULT set_moniker(HTMLDocument *This, IMoniker *mon, IBindCtx *pibc, BO
bscallback
=
create_channelbsc
(
mon
);
nsIWineURI_SetChannelBSC
(
nsuri
,
bscallback
);
hres
=
load_nsuri
(
This
->
window
,
nsuri
,
LOAD_INITIAL_DOCUMENT_URI
);
nsIWineURI_SetChannelBSC
(
nsuri
,
NULL
);
hres
=
load_nsuri
(
This
->
window
,
nsuri
,
bscallback
,
LOAD_INITIAL_DOCUMENT_URI
);
nsISupports_Release
((
nsISupports
*
)
nsuri
);
/* FIXME */
if
(
SUCCEEDED
(
hres
))
set_window_bscallback
(
This
->
window
,
bscallback
);
IUnknown_Release
((
IUnknown
*
)
bscallback
);
...
...
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