Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(501)

Side by Side Diff: Source/platform/CrossThreadCopier.cpp

Issue 813883002: replace COMPILE_ASSERT with static_assert in platform/ (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: final fixups Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/platform/CrossThreadCopier.h ('k') | Source/platform/EventTracer.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 CrossThreadCopierBase<false, false, false, ResourceRequest>::Type CrossThreadCop ierBase<false, false, false, ResourceRequest>::copy(const ResourceRequest& reque st) 58 CrossThreadCopierBase<false, false, false, ResourceRequest>::Type CrossThreadCop ierBase<false, false, false, ResourceRequest>::copy(const ResourceRequest& reque st)
59 { 59 {
60 return request.copyData(); 60 return request.copyData();
61 } 61 }
62 62
63 CrossThreadCopierBase<false, false, false, ResourceResponse>::Type CrossThreadCo pierBase<false, false, false, ResourceResponse>::copy(const ResourceResponse& re sponse) 63 CrossThreadCopierBase<false, false, false, ResourceResponse>::Type CrossThreadCo pierBase<false, false, false, ResourceResponse>::copy(const ResourceResponse& re sponse)
64 { 64 {
65 return response.copyData(); 65 return response.copyData();
66 } 66 }
67 67
68 // Test CrossThreadCopier using COMPILE_ASSERT. 68 // Test CrossThreadCopier using static_assert.
69 69
70 // Verify that ThreadSafeRefCounted objects get handled correctly. 70 // Verify that ThreadSafeRefCounted objects get handled correctly.
71 class CopierThreadSafeRefCountedTest : public ThreadSafeRefCounted<CopierThreadS afeRefCountedTest> { 71 class CopierThreadSafeRefCountedTest : public ThreadSafeRefCounted<CopierThreadS afeRefCountedTest> {
72 }; 72 };
73 73
74 COMPILE_ASSERT((WTF::IsSameType< 74 static_assert((WTF::IsSameType<
75 PassRefPtr<CopierThreadSafeRefCountedTest>, 75 PassRefPtr<CopierThreadSafeRefCountedTest>,
76 CrossThreadCopier<PassRefPtr<CopierThreadSafeRefCountedTest> > ::Type 76 CrossThreadCopier<PassRefPtr<CopierThreadSafeRefCountedTest>>::Type
77 >::value), 77 >::value),
78 PassRefPtrTest); 78 "PassRefPtr test");
79 COMPILE_ASSERT((WTF::IsSameType< 79 static_assert((WTF::IsSameType<
80 PassRefPtr<CopierThreadSafeRefCountedTest>, 80 PassRefPtr<CopierThreadSafeRefCountedTest>,
81 CrossThreadCopier<RefPtr<CopierThreadSafeRefCountedTest> >::Ty pe 81 CrossThreadCopier<RefPtr<CopierThreadSafeRefCountedTest>>::Type
82 >::value), 82 >::value),
83 RefPtrTest); 83 "RefPtr test");
84 COMPILE_ASSERT((WTF::IsSameType< 84 static_assert((WTF::IsSameType<
85 PassRefPtr<CopierThreadSafeRefCountedTest>, 85 PassRefPtr<CopierThreadSafeRefCountedTest>,
86 CrossThreadCopier<CopierThreadSafeRefCountedTest*>::Type 86 CrossThreadCopier<CopierThreadSafeRefCountedTest*>::Type
87 >::value), 87 >::value),
88 RawPointerTest); 88 "RawPointer test");
89 89
90 90
91 // Add a generic specialization which will let's us verify that no other templat e matches. 91 // Add a generic specialization which will let's us verify that no other templat e matches.
92 template<typename T> struct CrossThreadCopierBase<false, false, false, T> { 92 template<typename T> struct CrossThreadCopierBase<false, false, false, T> {
93 typedef int Type; 93 typedef int Type;
94 }; 94 };
95 95
96 // Verify that RefCounted objects only match our generic template which exposes Type as int. 96 // Verify that RefCounted objects only match our generic template which exposes Type as int.
97 class CopierRefCountedTest : public RefCounted<CopierRefCountedTest> { 97 class CopierRefCountedTest : public RefCounted<CopierRefCountedTest> {
98 }; 98 };
99 99
100 COMPILE_ASSERT((WTF::IsSameType< 100 static_assert((WTF::IsSameType<
101 int, 101 int,
102 CrossThreadCopier<PassRefPtr<CopierRefCountedTest> >::Type 102 CrossThreadCopier<PassRefPtr<CopierRefCountedTest>>::Type
103 >::value), 103 >::value),
104 PassRefPtrRefCountedTest); 104 "PassRefPtr<RefCountedTest> test");
105 105
106 COMPILE_ASSERT((WTF::IsSameType< 106 static_assert((WTF::IsSameType<
107 int, 107 int,
108 CrossThreadCopier<RefPtr<CopierRefCountedTest> >::Type 108 CrossThreadCopier<RefPtr<CopierRefCountedTest>>::Type
109 >::value), 109 >::value),
110 RefPtrRefCountedTest); 110 "RefPtr<RefCounted> test");
111 111
112 COMPILE_ASSERT((WTF::IsSameType< 112 static_assert((WTF::IsSameType<
113 int, 113 int,
114 CrossThreadCopier<CopierRefCountedTest*>::Type 114 CrossThreadCopier<CopierRefCountedTest*>::Type
115 >::value), 115 >::value),
116 RawPointerRefCountedTest); 116 "Raw pointer RefCounted test");
117 117
118 // Verify that PassOwnPtr gets passed through. 118 // Verify that PassOwnPtr gets passed through.
119 COMPILE_ASSERT((WTF::IsSameType< 119 static_assert((WTF::IsSameType<
120 PassOwnPtr<float>, 120 PassOwnPtr<float>,
121 CrossThreadCopier<PassOwnPtr<float> >::Type 121 CrossThreadCopier<PassOwnPtr<float>>::Type
122 >::value), 122 >::value),
123 PassOwnPtrTest); 123 "PassOwnPtr test");
124 124
125 // Verify that PassOwnPtr does not get passed through. 125 // Verify that PassOwnPtr does not get passed through.
126 COMPILE_ASSERT((WTF::IsSameType< 126 static_assert((WTF::IsSameType<
127 int, 127 int,
128 CrossThreadCopier<OwnPtr<float> >::Type 128 CrossThreadCopier<OwnPtr<float>>::Type
129 >::value), 129 >::value),
130 OwnPtrTest); 130 "OwnPtr test");
131 131
132 } // namespace blink 132 } // namespace blink
OLDNEW
« no previous file with comments | « Source/platform/CrossThreadCopier.h ('k') | Source/platform/EventTracer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698