Make the ThreadSafeRefCounted support in CrossThreadCopier work for T*.
authorlevin@chromium.org <levin@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 Sep 2011 22:48:38 +0000 (22:48 +0000)
committerlevin@chromium.org <levin@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 Sep 2011 22:48:38 +0000 (22:48 +0000)
commitfff49cb5fa78ed7cd9d67cf0c29039d96780d573
treeb3b7c70032c00ad18508e236c8d53d7b49f6eecb
parent4010e65d57d30a368cd8d496648993a20deaa12b
Make the ThreadSafeRefCounted support in CrossThreadCopier work for T*.
https://bugs.webkit.org/show_bug.cgi?id=67947

Reviewed by Adam Barth.

The changes are tested by compiling and added compile asserts to do some verification as well.

* platform/CrossThreadCopier.cpp:
Added some compile asserts to verify various match and non-matches for CrossThreadCopier.
* platform/CrossThreadCopier.h:
Added a typedef to convert T* to T, just like the typedef's to remove RefPtr and PassRefPtr.
Added a compile assert to verify that only one of the typedefs did anything.
(CrossThreadCopierBase<false, true, T>::copy): Remove "get" as it is unnecessary.
It shouldn't have been here (PassRefPtr and RefPtr easily and sometimes more efficiently
convert to PassRefPtr without get). Also, a raw pointer doesn't have a get() method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@94986 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/CrossThreadCopier.cpp
Source/WebCore/platform/CrossThreadCopier.h