Re: [Ieleak-devel] FW: crash on getting outer html
Brought to you by:
matthiasmiller
From: Johan R. <jr...@co...> - 2006-09-13 14:05:06
|
That is an option; however I'm not sure about other side effects we can get after catching the exception and continue. IMO safer to avoid the exception? -----Original Message----- From: iel...@li... [mailto:iel...@li...] On Behalf Of Matthias Miller Sent: Wednesday, September 13, 2006 3:56 PM To: iel...@li... Subject: Re: [Ieleak-devel] FW: crash on getting outer html Johan Rosman wrote: > But it might be of interest for you to know the background behind this > crash: I had disabled the getIsNodeAttached() function for while to=20 > test the site of Devin with Drip. However in that case it was dumping=20 > on getting the outer HTML zombies. I analyzed it further and it turns=20 > out that it is really necessary to call 'getIsNodeAttached()'. > > I hear you thinking... How is this possible? It is just an independent > function showing some property in the leak dialog. The=20 > getIsNodeAttached() function however does a: 'getPropertyValue(node,=20 > L"document", document);' > > It seems to be very important to get this 'document' property before=20 > getting the outerHTML of a leaked element. What could be the case? At=20 > the moment you ask for the document property and the node is not=20 > attached it will create a new 'document-fragment' object for you which > is returned. Only then (after getting this 'document' property) the=20 > get_outerHTML succeeds on the leaked html node. > > This behavior however only happens in the case the documentElement=20 > node (<html>) is leaking. If other nodes are leaking the crash will=20 > not happen (I have tested that). For that reason I added a new test=20 > into the repository: "tests\leakDocumentElementTest.htm" > > Then after a while I start thinking why is sIEve not crashing in this=20 > situation? Well... I don't show the outerHTML of leaked nodes in the=20 > dialog. I disabled that in the past also because of a crash) But when=20 > opening the properties sheet in sIEve with the leaking <html> node it=20 > properly shows the outerHTML. Reason behind that is the fact that=20 > before the outerHTML property is shown in the dialog also the=20 > 'document' property is shown.... And... it shows a (new) created document=20 > fragment object. > That's very helpful, Johan. I'm seriously thinking about reverting r138 and r139 and instead just=20 wrapping the property getter with a try / catch(...) in=20 getPropertyValue. This would let us show text nodes again and remove the explicit check for "filters". If an exception is thrown in the getter,=20 we'd simply show "(unknown)" for the value. What do you think? Is this too kludged? -Matthias Miller ------------------------------------------------------------------------ - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D1= 21642 _______________________________________________ Ieleak-devel mailing list Iel...@li... https://lists.sourceforge.net/lists/listinfo/ieleak-devel *********************************************************************** The information in this message is confidential and may be legally privileged. It is intended solely for the addressee. Access to this=20 message by anyone else is unauthorized. If you are not the=20 intended recipient, any disclosure, copying, or distribution of the=20 message, or any action or omission taken by you in reliance on=20 it is prohibited and may be unlawful. Please immediately contact=20 the sender if you have received this message in error. This email=20 does not constitute any commitment from Cordys Holding BV or=20 any of its subsidiaries except when expressly agreed in a written=20 agreement between the intended recipient and=20 Cordys Holding BV or its subsidiaries. *********************************************************************** |