Commit eb52044e authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

Beginning implementation of Gecko focus handling.

parent b0b47774
...@@ -82,6 +82,7 @@ struct NSContainer { ...@@ -82,6 +82,7 @@ struct NSContainer {
nsIWebNavigation *navigation; nsIWebNavigation *navigation;
nsIBaseWindow *window; nsIBaseWindow *window;
nsIWebBrowserStream *stream; nsIWebBrowserStream *stream;
nsIWebBrowserFocus *focus;
HTMLDocument *doc; HTMLDocument *doc;
......
...@@ -599,6 +599,11 @@ void HTMLDocument_NSContainer_Init(HTMLDocument *This) ...@@ -599,6 +599,11 @@ void HTMLDocument_NSContainer_Init(HTMLDocument *This)
if(NS_FAILED(nsres)) if(NS_FAILED(nsres))
ERR("Could not get nsIWebNavigation interface: %08lx\n", nsres); ERR("Could not get nsIWebNavigation interface: %08lx\n", nsres);
nsres = nsIWebBrowserFocus_QueryInterface(This->nscontainer->webbrowser, &IID_nsIWebBrowserFocus,
(void**)&This->nscontainer->focus);
if(NS_FAILED(nsres))
ERR("Could not get nsIWebBrowserFocus interface: %08lx\n", nsres);
#if 0 #if 0
nsres = nsIWebBrowserStream_QueryInterface(This->nscontainer->webbrowser, &IID_nsIWebBrowserStream, nsres = nsIWebBrowserStream_QueryInterface(This->nscontainer->webbrowser, &IID_nsIWebBrowserStream,
(void**)&This->nscontainer->stream); (void**)&This->nscontainer->stream);
......
...@@ -313,6 +313,22 @@ interface nsIIOService : nsISupports ...@@ -313,6 +313,22 @@ interface nsIIOService : nsISupports
[ [
object, object,
uuid(9c5d3c58-1dd1-11b2-a1c9-f3699284657a)
]
interface nsIWebBrowserFocus : nsISupports
{
nsresult Activate();
nsresult Deactivate();
nsresult SetFocusAtFirstElement();
nsresult SetFocusAtLastElement();
nsresult GetFocusedWindow(nsIDOMWindow **aFocusedWindow);
nsresult SetFocusedWindow(nsIDOMWindow *aFocusedWindow);
nsresult GetFocusedElement(nsIDOMElement **aFocusedElement);
nsresult SetFocusedElement(nsIDOMElement *aFocusedElement);
}
[
object,
uuid(ba434c60-9d52-11d3-afb0-00a024ffc08c) uuid(ba434c60-9d52-11d3-afb0-00a024ffc08c)
] ]
interface nsIWebBrowserChrome : nsISupports interface nsIWebBrowserChrome : nsISupports
......
...@@ -74,6 +74,7 @@ static void activate_gecko(HTMLDocument *This) ...@@ -74,6 +74,7 @@ static void activate_gecko(HTMLDocument *This)
nsIBaseWindow_SetVisibility(This->nscontainer->window, TRUE); nsIBaseWindow_SetVisibility(This->nscontainer->window, TRUE);
nsIBaseWindow_SetEnabled(This->nscontainer->window, TRUE); nsIBaseWindow_SetEnabled(This->nscontainer->window, TRUE);
nsIWebBrowserFocus_Activate(This->nscontainer->focus);
} }
static LRESULT WINAPI serverwnd_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) static LRESULT WINAPI serverwnd_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment