Make WTF::IsGarbageCollectedType<> work for GC mixin instances.
The trick that IsGarbageCollectedType<T> uses of probing for the presence
of a "marker" type name within T to detect if T derives from a GC base
or is another kind of heap object, doesn't work for GC mixins.
For instance,
class Mixin : public GarbageCollectedMixin { ... };
class Use : public GarbageCollected<Use>, public Mixin {
USING_GARBAGE_COLLECTED_MIXIN(Use);
...
};
As both GarbageCollected<> and GarbageCollectedMixin<> provide the marker
type name, referring to the marker type name is ambiguous when attempted
over Use. Address the problem by overriding and defining the marker for
mixin instances also.
R=haraken
BUG=
Review URL: https://codereview.chromium.org/1851383002
Cr-Commit-Position: refs/heads/master@{#384851}
3 files changed