Closed Bug 188055 Opened 23 years ago Closed 22 years ago

[ActiveX] Target=_blank fails to work in ActiveX control, as well as javascript window.open()

Categories

(Core Graveyard :: Embedding: ActiveX Wrapper, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: cajunman4life, Assigned: adamlock)

Details

Attachments

(1 file)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021212 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021212 When clicking a link like <a href="http://www.mozilla.org" target=_blank>, the ActiveX control will fire the NewWindow event, but nothing will be displayed in the new window. It works fine, however if you right-click the link to bring up the context menu, and select "Open in new window". Also, the JavaScript window.open() appears not to work also. To test this, visit any webpage that will bring up a pop-up window (http://www.netscape.com is notorious for this). Ask if you need more details. Reproducible: Always Steps to Reproduce: 1. Drop the ActiveX into, say a VB program. 2. Write code to handle the NewWindow2 event. Something like this: Private Sub mb_NewWindow2(ppDisp As Object, Cancel As Boolean) Dim tt As New frmBrowser Set tt = New frmBrowser tt.Show Set ppDisp = tt.mb.Object End Sub 3. Navigate in the browser you just created to http://www.netscape.com or any other site with pop-up ads. Observe as the windows pop up, all that is in the browser ActiveX component is whitespace. Actual Results: An empty browser object instead of the popup window Expected Results: Loaded the content of the pop-up into the new browser window created.
Try 'new' instead of '_blank'. --clip-- <a href="http://www.mozilla.org" target="new"> --clip--
It's not about what I use, it's about what big-time websites (like Netscape's and Microsoft's) use. They insist on using target=_blank, so the ActiveX control should be able to handle that request.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Target=_blank fails to work in ActiveX control, as well as javascript window.open() → [ActiveX] Target=_blank fails to work in ActiveX control, as well as javascript window.open()
Attached patch PatchSplinter Review
Issue turned out to be simple. Somewhere along the line, the window watcher now requires the window chrome to be able to return an nsIDOMWindow. I've added this code and all seems well again.
Comment on attachment 118660 [details] [diff] [review] Patch Dan & Chris, can I have a r/sr on this simple patch to return nsIDOMWindow in the ActiveX controls chrome implementation of nsIInterfaceRequestor? This allows popup windows to open and navigate properly. Patch also contains 1-line change to use size_t instead of an int for a string length operation. Thanks
Attachment #118660 - Flags: superreview?(blizzard)
Attachment #118660 - Flags: review?(danm)
Comment on attachment 118660 [details] [diff] [review] Patch WindowCreator's nsIDOMWindow requirement isn't new, but there is a fallback: it asks the new chrome for an nsIDocShellTreeItem if it can't find an nsIDOMWindow. Perhaps the fallback stopped working. Anyway, seems good. r=danm.
Attachment #118660 - Flags: review?(danm) → review+
Comment on attachment 118660 [details] [diff] [review] Patch sr=blizzard
Attachment #118660 - Flags: superreview?(blizzard) → superreview+
Comment on attachment 118660 [details] [diff] [review] Patch Requesting 1.4a approval if there is still time. Small patch fixes obvious bustage in the control
Attachment #118660 - Flags: approval1.4a?
Comment on attachment 118660 [details] [diff] [review] Patch please land this change first thing in 1.4beta. thanks.
Attachment #118660 - Flags: approval1.4a? → approval1.4a-
Fix is checked in
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: