Re: [webkit-dev] problem with ChromeClient::createWindow NewWindow policy

2008-09-22 Thread Anton V. Tarasov
Thanks, Gustavo. (I also found null URL issue mentioned there. This also 
interested me.)

Gustavo Noronha Silva wrote:
 On Fri, 2008-09-19 at 10:38 +0400, Anton V. Tarasov wrote:
 A new window is opened by a client via ChromeClient::createWindow callback.
 There's also a mechanism to check NewWindow policy, implemented
 as FrameLoaderClient::dispatchDecidePolicyForNewWindowAction.

 Now, when I'm clicking the first link, ChromeClient::createWindow is not 
 called
 at all, FrameLoaderClient::dispatchDecidePolicyForNewWindowAction is called.
 
 In that case, FrameLoaderClient::dispatchCreatePage is called. We have
 had lots of discussions about new window issues for the GTK+ port in bug
 #19130, which may interest you. 
 
 Why that difference? How to open new window in the first case, and why 
 policy check
 is not triggered in the second?
 
 I'm also interested in the policy check issue, haven't done a lot of
 scouting in that area, though.
 
 See you,
 
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] problem with ChromeClient::createWindow NewWindow policy

2008-09-19 Thread Anton V. Tarasov
Hello,

Ones again about creating new window  policy. Please, have a look.

Say, we have main.html as below:

html
body
   a href=main.html target=_blankOpen new window/a
   a href=javascript:window.open('main.html','_blank')Open new window, 
JS/a
/body
/html

The first link opens main.html in new window, the second does the same
by means of javascript.

However, I'm observing quite different behavior of WebCore.

A new window is opened by a client via ChromeClient::createWindow callback.
There's also a mechanism to check NewWindow policy, implemented
as FrameLoaderClient::dispatchDecidePolicyForNewWindowAction.

Now, when I'm clicking the first link, ChromeClient::createWindow is not called
at all, FrameLoaderClient::dispatchDecidePolicyForNewWindowAction is called.

Simple grep in WebCore sources gives the following. ChromeClient::createWindow
is called only by:

- ContextMenuController (on selecting Open link in new window item)
- javascript (in kjs_window.cpp, on executing 'open')

With the second link there's another issue. Just the reverse, 
ChromeClient::createWindow
is called, FrameLoaderClient::dispatchDecidePolicyForNewWindowAction is not...

Why that difference? How to open new window in the first case, and why policy 
check
is not triggered in the second?

Thanks,
Anton.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] problem with ChromeClient::createWindow NewWindow policy

2008-09-19 Thread Gustavo Noronha Silva
On Fri, 2008-09-19 at 10:38 +0400, Anton V. Tarasov wrote:
 A new window is opened by a client via ChromeClient::createWindow callback.
 There's also a mechanism to check NewWindow policy, implemented
 as FrameLoaderClient::dispatchDecidePolicyForNewWindowAction.
 
 Now, when I'm clicking the first link, ChromeClient::createWindow is not 
 called
 at all, FrameLoaderClient::dispatchDecidePolicyForNewWindowAction is called.

In that case, FrameLoaderClient::dispatchCreatePage is called. We have
had lots of discussions about new window issues for the GTK+ port in bug
#19130, which may interest you. 

 Why that difference? How to open new window in the first case, and why policy 
 check
 is not triggered in the second?

I'm also interested in the policy check issue, haven't done a lot of
scouting in that area, though.

See you,

-- 
Gustavo Noronha Silva [EMAIL PROTECTED]
GNOME contributor: http://www.gnome.org/

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev