On Wed, Nov 23, 2011 at 10:10:57PM -0500, Jeremy Maitin-Shepard wrote:
> With:
> 
> browser_default_open_target = OPEN_NEW_WINDOW;
> 
> any sort of content-initiated new window, e.g. target=_blank or window.open()
> from JavaScript, results in no new window being created at all (i.e. the
> attempt to create a new window appears to have no effect), and the following
> error appearing in the jsconsole:
> 
> Error: uncaught exception: [Exception... "Component returned failure code:
> 0x80004005 (NS_ERROR_FAILURE) [nsIDOMJSWindow.open]"  nsresult: "0x80004005
> (NS_ERROR_FAILURE)"  location: "JS frame :: javascript:window.open(); ::
> <TOP_LEVEL> :: line 1"  data: no]
> 
> It seems possible that the window is being partially created but not shown,
> because after such an error occurs, merely closing the visible windows doesn't
> cause the browser to exit.
> 
> I traced the problem to commit b432b8233d98df6aafb2382070cef2f63c239910, which
> attempts to solve the missing scrollbar problem by setting the content type to
> content-primary in window_initialize_late_hook.  I assume it is set in the
> hook, as opposed to not at all, specifically to try to avoid the problem I am
> experiencing, but it evidently does not work for me (I have observed this with
> both the release version of firefox-8 as an xulrunner, and also with xulrunner
> 2.0).
> 
> Reverting that commit fixes the problem with opening windows; it would 
> probably
> also unfix the scrollbar issue if not for my use of the existing workaround:
> 
> add_hook("window_initialize_late_hook",
>         function(window) {
>             window.buffers.get_buffer(0).top_frame.scrollbars.visible = true;
>         });
> 
> 
> I assume since this has gone unnoticed that others aren't experiencing the 
> same
> problem, but I wonder why.  (Or maybe no one else has
> browser_default_open_target set to OPEN_NEW_WINDOW.)
> 

Hi Jeremy,

Let's see if we can come up with a workaround that can be used in
combination with browser_default_open_target = OPEN_NEW_WINDOW.  What
results do you get with conkeror HEAD and the following in your rc?

    browser_default_open_target = OPEN_NEW_WINDOW;
    add_hook("window_initialize_hook", initialize_first_buffer_type);
    add_hook("window_initialize_late_hook",
             function (window) {
                 window.buffers.get_buffer(0).top_frame.scrollbars.visible = 
true;
             });

This sets the browser's type property during the synchonous part of window
init, so Mozilla should be able to find the content-primary browser.  The
old scrollbar workaround will also be required with this, I believe.

I am hoping that there is a way that this issue can be a blessing in
disguise, because if I report it in the relevant bugzilla thread as a
demonstration that the current workaround is in error, it just might
inspire Mozilla to FIX THEIR DAMN PLATFORM ALREADY.  No, I'm not bitter
about this at all... ;)

-- 
John Foerch
_______________________________________________
Conkeror mailing list
[email protected]
https://www.mozdev.org/mailman/listinfo/conkeror

Reply via email to