| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009, 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010 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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 "sk_sp<T> can be passed across threads only if T is SkRefCnt."); | 118 "sk_sp<T> can be passed across threads only if T is SkRefCnt."); |
| 119 }; | 119 }; |
| 120 | 120 |
| 121 // nullptr_t can be passed through without any changes. | 121 // nullptr_t can be passed through without any changes. |
| 122 template <> | 122 template <> |
| 123 struct CrossThreadCopier<std::nullptr_t> | 123 struct CrossThreadCopier<std::nullptr_t> |
| 124 : public CrossThreadCopierPassThrough<std::nullptr_t> { | 124 : public CrossThreadCopierPassThrough<std::nullptr_t> { |
| 125 STATIC_ONLY(CrossThreadCopier); | 125 STATIC_ONLY(CrossThreadCopier); |
| 126 }; | 126 }; |
| 127 | 127 |
| 128 // To allow a type to be passed across threads using its copy constructor, add a
forward declaration of the type and | 128 // To allow a type to be passed across threads using its copy constructor, add a |
| 129 // provide a specialization of CrossThreadCopier<T> in this file, like IntRect b
elow. | 129 // forward declaration of the type and provide a specialization of |
| 130 // CrossThreadCopier<T> in this file, like IntRect below. |
| 130 template <> | 131 template <> |
| 131 struct CrossThreadCopier<IntRect> | 132 struct CrossThreadCopier<IntRect> |
| 132 : public CrossThreadCopierPassThrough<IntRect> { | 133 : public CrossThreadCopierPassThrough<IntRect> { |
| 133 STATIC_ONLY(CrossThreadCopier); | 134 STATIC_ONLY(CrossThreadCopier); |
| 134 }; | 135 }; |
| 135 | 136 |
| 136 template <> | 137 template <> |
| 137 struct CrossThreadCopier<IntSize> | 138 struct CrossThreadCopier<IntSize> |
| 138 : public CrossThreadCopierPassThrough<IntSize> { | 139 : public CrossThreadCopierPassThrough<IntSize> { |
| 139 STATIC_ONLY(CrossThreadCopier); | 140 STATIC_ONLY(CrossThreadCopier); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 struct CrossThreadCopier<ResourceResponse> { | 216 struct CrossThreadCopier<ResourceResponse> { |
| 216 STATIC_ONLY(CrossThreadCopier); | 217 STATIC_ONLY(CrossThreadCopier); |
| 217 typedef WTF::PassedWrapper<std::unique_ptr<CrossThreadResourceResponseData>> | 218 typedef WTF::PassedWrapper<std::unique_ptr<CrossThreadResourceResponseData>> |
| 218 Type; | 219 Type; |
| 219 PLATFORM_EXPORT static Type copy(const ResourceResponse&); | 220 PLATFORM_EXPORT static Type copy(const ResourceResponse&); |
| 220 }; | 221 }; |
| 221 | 222 |
| 222 } // namespace blink | 223 } // namespace blink |
| 223 | 224 |
| 224 #endif // CrossThreadCopier_h | 225 #endif // CrossThreadCopier_h |
| OLD | NEW |