OSDN Git Service

If "widget" is already existed in the HashMap when
authorGrace Kloba <klobag@google.com>
Thu, 1 Apr 2010 07:18:59 +0000 (00:18 -0700)
committerGrace Kloba <klobag@google.com>
Thu, 1 Apr 2010 07:18:59 +0000 (00:18 -0700)
commit72dc094b5140ab6a3cd9e4984d566b8c788f5e1f
tree619068149eb01880975c2e0ca0bc5c2ceb57be8e
parenta622a48d6cc2bea33d2467de9d31feb1b03b03eb
If "widget" is already existed in the HashMap when
createScriptInstanceForWidget(widget) is called,
we need to release the reference of the matching
npObject to avoid leak.

HTMLPlugInElement::getInstance() only calls
createScriptInstanceForWidget(widget) once. But
HTMLEmbedElement is using its closest ancestor who
has objectTag to get the widget. So the same widget
can exist in the HashMap if both <object> and its
child <embed>'s getInstance() are called.

Fix http://b/issue?id=2553266
WebCore/bindings/v8/ScriptController.cpp