PlatformRefPtrCairo is unecessary. It should be replaced by a RefPtr specialization. See this mailing list thread for more details: http://comments.gmane.org/gmane.os.opendarwin.webkit.devel/14529 This is the first step toward removing PlatformRefPtr entirely.
Created attachment 71651 [details] Remove PlatformRefPtrCairo
I heartily approve of this change. This should also resolve some of Darin's concerns about the use of the term 'Platform' in the RefPtr name. Let's get it approved and landed!
Created attachment 71789 [details] Patch also including RefPtrCair.cpp and RefPtrCairo.h My previous patch did not include RefPtrCairo.h and RefPtrCairo.cpp. I could not convince webkit-patch to include them for some reason, so I've had to roll the patch by hand.
Attachment 71789 [details] did not pass style-queue: Failed to run "['WebKitTools/Scripts/check-webkit-style']" exit_code: 1 WebCore/platform/graphics/cairo/RefPtrCairo.cpp:33: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebCore/platform/graphics/cairo/RefPtrCairo.cpp:39: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebCore/platform/graphics/cairo/RefPtrCairo.cpp:45: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebCore/platform/graphics/cairo/RefPtrCairo.cpp:51: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebCore/platform/graphics/cairo/RefPtrCairo.cpp:57: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebCore/platform/graphics/cairo/RefPtrCairo.cpp:63: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebCore/platform/graphics/cairo/RefPtrCairo.cpp:69: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebCore/platform/graphics/cairo/RefPtrCairo.cpp:75: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebCore/platform/graphics/cairo/RefPtrCairo.cpp:82: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] WebCore/platform/graphics/cairo/RefPtrCairo.cpp:88: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 10 in 18 files If any of these errors are false positives, please file a bug against check-webkit-style.
(In reply to comment #4) > WebCore/platform/graphics/cairo/RefPtrCairo.cpp:33: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] I believe these are all false positives. When making the patch I discovered that LIKELY will not accept a pointer as an argument. It requires something which evaluates to a boolean.
Attachment 71651 [details] did not build on gtk: Build output: http://queues.webkit.org/results/4819001
Committed r71204: <http://trac.webkit.org/changeset/71204>