mshtml: Fix fire BeforeNavigate event for app: protocol

Jacek Caban jacek at codeweavers.com
Tue Feb 10 10:46:34 CST 2015


On 02/09/15 07:08, Changhui Liu wrote:
> -    if(window->doc_obj && window->doc_obj->webbrowser && window == window->doc_obj->basedoc.window) {
> +    if(window->doc_obj && window->doc_obj->webbrowser &&
> +        ((window == window->doc_obj->basedoc.window) || (window->parent == window->doc_obj->basedoc.window))) {
>          DWORD post_data_len = request_data ? request_data->post_data_len : 0;
>          void *post_data = post_data_len ? request_data->post_data : NULL;
>          const WCHAR *headers = request_data ? request_data->headers : NULL;

The change on its own is wrong. There is nothing special about direct
child of top HTML window. Ideally, we should call FireBeforeNavigate2
for all HTML windows, but use super_navigate only for the main one. This
means that the if you change should not check which window we're in at
all. However, for other windows, we need to pass proper frame name
there. Let me know if you need more details.

Cheers,
Jacek



More information about the wine-devel mailing list