Closed Bug 236894 Opened 21 years ago Closed 21 years ago

[ActiveX] IHtmlElementCollection methods tags() & item(), when more than one element is found, are not implemented

Categories

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

x86
Windows 2000
enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: atremon, Assigned: atremon)

Details

Attachments

(1 file, 4 obsolete files)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7b) Gecko/20040303 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7b) Gecko/20040303 The IHtmlElementCollection methods tags() and item(), when more than one element is found, are not implmented. Reproducible: Always Steps to Reproduce:
Assignee: adamlock → atremon
The item() method returns an IHtmlElementCollection when more than one element is found when a string is passed as search criteria.
Attached patch Changed de get_NewEnum method (obsolete) — Splinter Review
If you want to write in VB something like: dim el as IHTMLElement for each el in MozillaBrowser1.document.all 'or MozillaBrowser1.document.body.children ' do something next then get_NewEnum should return an array of IDispatch variant, not IUnknown.
Attachment #143364 - Attachment is obsolete: true
Comment on attachment 145172 [details] [diff] [review] Changed de get_NewEnum method Hi Adam, Could you review this?
Attachment #145172 - Flags: review?(adamlock)
Attachment #145172 - Flags: review?(adamlock)
Attachment #145732 - Flags: review?(adamlock)
Attachment #145172 - Attachment is obsolete: true
Comment on attachment 145732 [details] [diff] [review] Move SetParent from FindOrCreateIEElement to PopulateFromDOMHTMLCollection r=adamlock Minor nits use OLE2CW instead of OLE2W. I am also concerned about the ATLASSERT(). Perhaps we shouldn't use a smart pointer if we have to hack it to make it work properly. There could be reference counting implications.
Attachment #145732 - Flags: review?(adamlock) → review+
ATLASSERT(NULL == (pHtmlElement.p = NULL)) is to avoid assertion, in debug builds, in AtlBase.h, because pHtmlElement.p is not equal to NULL. So I force pHtmlElement.p to NULL only in debug builds, and in release builds, the line won't be compiled. As for smart pointers, it's just to avoid QIing and Releasing too much. I checked for these objects refcount, and everything is OK. They die at the right moment. But I'll attach a patch with no smart pointers anyway.
Attachment #145732 - Attachment is obsolete: true
Attachment #146017 - Attachment is obsolete: true
Comment on attachment 146018 [details] [diff] [review] OLE2CW replaces OLE2W, no more smart pointer in item() method (l.623) r=adamlock
Attachment #146018 - Flags: review+
Attachment #146018 - Flags: superreview?(jst)
Comment on attachment 146018 [details] [diff] [review] OLE2CW replaces OLE2W, no more smart pointer in item() method (l.623) sr=jst
Attachment #146018 - Flags: superreview?(jst) → superreview+
Fix checked in
Status: NEW → RESOLVED
Closed: 21 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

Created:
Updated:
Size: