Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 315958

Summary: "Open link in New Window" command of browser widget doesn't work on 64-bit
Product: [Eclipse Project] Platform Reporter: Beyhan Veliev <beyhan.veliev>
Component: SWTAssignee: Grant Gayed <grant_gayed>
Status: RESOLVED NOT_ECLIPSE QA Contact:
Severity: normal    
Priority: P3    
Version: 3.6   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Beyhan Veliev CLA 2010-06-07 07:51:35 EDT
Build Identifier: Eclipse RC2: I20100520-1744

I have a 64-bit machine with Windows XP and default browser IE6. When I use 32-bit SWT "Open link in New Window" works fine. Each call opens a new browser window with the selected link. When I switch to 64-bit SWT "Open link in New Window" doesn't work any more.

Reproducible: Always
Comment 1 Grant Gayed CLA 2010-06-07 10:41:09 EDT
Do you see this in eclipse's Internal Web Browser view, or somewhere else?  And you see the 32-/64-bit difference on the same 64-bit machine?
Comment 2 Beyhan Veliev CLA 2010-06-08 03:48:48 EDT
>Do you see this in eclipse's Internal Web Browser view, or somewhere else?
I have a view with a browser widget. I'm using this view to show relevant content to users.
>you see the 32-/64-bit difference on the same 64-bit machine?
Yes, on the same 64-bit machine. I have a 32-bit and a 64-bit target. When I start the application with the 32-bit target and a 32-bit VM then "Open link in New Window" from my browser widget opens the link in an external IE6. Doing the same with a 64-bit target and a 64-bit VM doesn't work.

My 32-/64-bit VM are jdk1.6 from SUN.
Comment 3 Grant Gayed CLA 2010-06-08 10:40:10 EDT
I've tried this on 64-bit XP+IE7 and 64-bit Vista+IE8 and they both work.  I don't think there's a 64-bit XP with IE6 here to try on.

Note that if you want your app to run on non-Windows platforms, or even on Windows with an SWT.MOZILLA-style Browser, that you cannot rely on getting these "pop-up" Browsers shown for free, you need WindowEvent listeners like in http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet270.java?view=co .

As an experiment, can you take the linked Snippet270 and insert as the first line in its open() implementation:

System.out.println("required? " + event.required);

If you run this with 64-bit SWT is this println shown, and if so, what is it?
Comment 4 Beyhan Veliev CLA 2010-06-09 04:24:35 EDT
Thank you for the advice about WindowEvent listeners.

>If you run this with 64-bit SWT is this println shown, and if so, what is it?
required? false

It seems to be an IE6 bug. I tried on a 64-bit machine with XP+IE8 and it works. I noticed that each call to "Open link in New Window" on a 64-bit machine, 64-bit SWT and XP+IE6 starts a 32-bit iexplore.exe process but no browser is shown.
Comment 5 Grant Gayed CLA 2010-06-11 11:31:51 EDT
Since this only fails on IE6 this can be closed as NOT_ECLIPSE.  IE6 is an unusual IE version to have on 64-bit Windows in particular, and is decreasing every day, so I don't think it's worth trying to find a workaround for the IE problem at this point.