| 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 // Traits for the CrossThreadTask. They are used to map a cross-thread-capable | 43 // Traits for the CrossThreadTask. They are used to map a cross-thread-capable |
| 44 // copied type to a CrossThreadTask constructor parameter type. | 44 // copied type to a CrossThreadTask constructor parameter type. |
| 45 template<typename T> struct CrossThreadTaskTraits { | 45 template<typename T> struct CrossThreadTaskTraits { |
| 46 typedef const T& ParamType; | 46 typedef const T& ParamType; |
| 47 }; | 47 }; |
| 48 | 48 |
| 49 // We can copy pointer-like values. | 49 // We can copy pointer-like values. |
| 50 template<typename T> struct CrossThreadTaskTraits<T*> { | 50 template<typename T> struct CrossThreadTaskTraits<T*> { |
| 51 typedef T* ParamType; | 51 typedef T* ParamType; |
| 52 }; | 52 }; |
| 53 template<typename T> struct CrossThreadTaskTraits<PassRefPtr<T> > { | 53 template<typename T> struct CrossThreadTaskTraits<PassRefPtr<T>> { |
| 54 typedef PassRefPtr<T> ParamType; | 54 typedef PassRefPtr<T> ParamType; |
| 55 }; | 55 }; |
| 56 template<typename T> struct CrossThreadTaskTraits<PassOwnPtr<T> > { | 56 template<typename T> struct CrossThreadTaskTraits<PassOwnPtr<T>> { |
| 57 typedef PassOwnPtr<T> ParamType; | 57 typedef PassOwnPtr<T> ParamType; |
| 58 }; | 58 }; |
| 59 template<typename T> struct CrossThreadTaskTraits<RawPtr<T> > { | 59 template<typename T> struct CrossThreadTaskTraits<RawPtr<T>> { |
| 60 typedef RawPtr<T> ParamType; | 60 typedef RawPtr<T> ParamType; |
| 61 }; | 61 }; |
| 62 | 62 |
| 63 template<typename P1, typename MP1> | 63 template<typename P1, typename MP1> |
| 64 class CrossThreadTask1 : public ExecutionContextTask { | 64 class CrossThreadTask1 : public ExecutionContextTask { |
| 65 public: | 65 public: |
| 66 typedef void (*Method)(ExecutionContext*, MP1); | 66 typedef void (*Method)(ExecutionContext*, MP1); |
| 67 typedef CrossThreadTask1<P1, MP1> CrossThreadTask; | 67 typedef CrossThreadTask1<P1, MP1> CrossThreadTask; |
| 68 typedef typename CrossThreadTaskTraits<P1>::ParamType Param1; | 68 typedef typename CrossThreadTaskTraits<P1>::ParamType Param1; |
| 69 | 69 |
| (...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 745 CrossThreadCopier<P2>::copy(parameter2), | 745 CrossThreadCopier<P2>::copy(parameter2), |
| 746 CrossThreadCopier<P3>::copy(parameter3), | 746 CrossThreadCopier<P3>::copy(parameter3), |
| 747 CrossThreadCopier<P4>::copy(parameter4), | 747 CrossThreadCopier<P4>::copy(parameter4), |
| 748 CrossThreadCopier<P5>::copy(parameter5), | 748 CrossThreadCopier<P5>::copy(parameter5), |
| 749 CrossThreadCopier<P6>::copy(parameter6))); | 749 CrossThreadCopier<P6>::copy(parameter6))); |
| 750 } | 750 } |
| 751 | 751 |
| 752 } // namespace blink | 752 } // namespace blink |
| 753 | 753 |
| 754 #endif // CrossThreadTask_h | 754 #endif // CrossThreadTask_h |
| OLD | NEW |