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 {
nsIWebNavigation *navigation;
nsIBaseWindow *window;
nsIWebBrowserStream *stream;
nsIWebBrowserFocus *focus;
HTMLDocument *doc;
......
......@@ -599,6 +599,11 @@ void HTMLDocument_NSContainer_Init(HTMLDocument *This)
if(NS_FAILED(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
nsres = nsIWebBrowserStream_QueryInterface(This->nscontainer->webbrowser, &IID_nsIWebBrowserStream,
(void**)&This->nscontainer->stream);
......
......@@ -313,6 +313,22 @@ interface nsIIOService : nsISupports
[
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)
]
interface nsIWebBrowserChrome : nsISupports
......
......@@ -74,6 +74,7 @@ static void activate_gecko(HTMLDocument *This)
nsIBaseWindow_SetVisibility(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)
......
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