Commit acab5085 authored by ager@chromium.org's avatar ager@chromium.org

Fix crash in webmidi.

If a garbage collected class is polymorphic (has virtual methods) it
needs to have a vtable from its left-most base class. Otherwise
pointers to the polymorphic subclasses are not guaranteed to point
to the beginning of the object.

This should have been caught by the gc plugin. We will investigate
that separately.

R=oilpan-reviews@chromium.org, sigbjornf@chromium.org, yhirano@chromium.org, zerny@chromium.org
BUG=411742

Review URL: https://codereview.chromium.org/562573002

git-svn-id: svn://svn.chromium.org/blink/trunk@181718 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 4913ba88
...@@ -31,7 +31,7 @@ public: ...@@ -31,7 +31,7 @@ public:
bool has(const String& key) const { return m_entries.contains(key); } bool has(const String& key) const { return m_entries.contains(key); }
Iterator* iterator(ScriptState*, ExceptionState&) { return entries(); } Iterator* iterator(ScriptState*, ExceptionState&) { return entries(); }
void trace(Visitor* visitor) virtual void trace(Visitor* visitor)
{ {
visitor->trace(m_entries); visitor->trace(m_entries);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment