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

Side by Side Diff: Source/core/css/CSSCrossfadeValue.h

Issue 1305383006: Oilpan: Unship CSSValues and AnimatableValues Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 months 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/css/CSSCounterValue.cpp ('k') | Source/core/css/CSSCrossfadeValue.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) 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2011 Apple 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 24 matching lines...) Expand all
35 35
36 namespace blink { 36 namespace blink {
37 37
38 class ImageResource; 38 class ImageResource;
39 class CrossfadeSubimageObserverProxy; 39 class CrossfadeSubimageObserverProxy;
40 class LayoutObject; 40 class LayoutObject;
41 41
42 class CSSCrossfadeValue final : public CSSImageGeneratorValue { 42 class CSSCrossfadeValue final : public CSSImageGeneratorValue {
43 friend class CrossfadeSubimageObserverProxy; 43 friend class CrossfadeSubimageObserverProxy;
44 public: 44 public:
45 static PassRefPtrWillBeRawPtr<CSSCrossfadeValue> create(PassRefPtrWillBeRawP tr<CSSValue> fromValue, PassRefPtrWillBeRawPtr<CSSValue> toValue) 45 static PassRefPtr<CSSCrossfadeValue> create(PassRefPtr<CSSValue> fromValue, PassRefPtr<CSSValue> toValue)
46 { 46 {
47 return adoptRefWillBeNoop(new CSSCrossfadeValue(fromValue, toValue)); 47 return adoptRef(new CSSCrossfadeValue(fromValue, toValue));
48 } 48 }
49 49
50 ~CSSCrossfadeValue(); 50 ~CSSCrossfadeValue();
51 51
52 String customCSSText() const; 52 String customCSSText() const;
53 53
54 PassRefPtr<Image> image(LayoutObject*, const IntSize&); 54 PassRefPtr<Image> image(LayoutObject*, const IntSize&);
55 bool isFixedSize() const { return true; } 55 bool isFixedSize() const { return true; }
56 IntSize fixedSize(const LayoutObject*); 56 IntSize fixedSize(const LayoutObject*);
57 57
58 bool isPending() const; 58 bool isPending() const;
59 bool knownToBeOpaque(const LayoutObject*) const; 59 bool knownToBeOpaque(const LayoutObject*) const;
60 60
61 void loadSubimages(Document*); 61 void loadSubimages(Document*);
62 62
63 void setPercentage(PassRefPtrWillBeRawPtr<CSSPrimitiveValue> percentageValue ) { m_percentageValue = percentageValue; } 63 void setPercentage(PassRefPtr<CSSPrimitiveValue> percentageValue) { m_percen tageValue = percentageValue; }
64 64
65 bool hasFailedOrCanceledSubresources() const; 65 bool hasFailedOrCanceledSubresources() const;
66 66
67 bool equals(const CSSCrossfadeValue&) const; 67 bool equals(const CSSCrossfadeValue&) const;
68 68
69 // Promptly remove as a ImageResource client.
70 EAGERLY_FINALIZE();
71 #if ENABLE(OILPAN)
72 DECLARE_EAGER_FINALIZATION_OPERATOR_NEW();
73 #endif
74 DECLARE_TRACE_AFTER_DISPATCH();
75
76 private: 69 private:
77 CSSCrossfadeValue(PassRefPtrWillBeRawPtr<CSSValue> fromValue, PassRefPtrWill BeRawPtr<CSSValue> toValue) 70 CSSCrossfadeValue(PassRefPtr<CSSValue> fromValue, PassRefPtr<CSSValue> toVal ue)
78 : CSSImageGeneratorValue(CrossfadeClass) 71 : CSSImageGeneratorValue(CrossfadeClass)
79 , m_fromValue(fromValue) 72 , m_fromValue(fromValue)
80 , m_toValue(toValue) 73 , m_toValue(toValue)
81 , m_cachedFromImage(0) 74 , m_cachedFromImage(0)
82 , m_cachedToImage(0) 75 , m_cachedToImage(0)
83 , m_crossfadeSubimageObserver(this) { } 76 , m_crossfadeSubimageObserver(this) { }
84 77
85 class CrossfadeSubimageObserverProxy final : public ImageResourceClient { 78 class CrossfadeSubimageObserverProxy final : public ImageResourceClient {
86 DISALLOW_ALLOCATION(); 79 DISALLOW_ALLOCATION();
87 public: 80 public:
88 explicit CrossfadeSubimageObserverProxy(CSSCrossfadeValue* ownerValue) 81 explicit CrossfadeSubimageObserverProxy(CSSCrossfadeValue* ownerValue)
89 : m_ownerValue(ownerValue) 82 : m_ownerValue(ownerValue)
90 , m_ready(false) { } 83 , m_ready(false) { }
91 84
92 ~CrossfadeSubimageObserverProxy() override { } 85 ~CrossfadeSubimageObserverProxy() override { }
93 DEFINE_INLINE_TRACE()
94 {
95 visitor->trace(m_ownerValue);
96 }
97 86
98 void imageChanged(ImageResource*, const IntRect* = nullptr) override; 87 void imageChanged(ImageResource*, const IntRect* = nullptr) override;
99 void setReady(bool ready) { m_ready = ready; } 88 void setReady(bool ready) { m_ready = ready; }
100 private: 89 private:
101 RawPtrWillBeMember<CSSCrossfadeValue> m_ownerValue; 90 RawPtr<CSSCrossfadeValue> m_ownerValue;
102 bool m_ready; 91 bool m_ready;
103 }; 92 };
104 93
105 void crossfadeChanged(const IntRect&); 94 void crossfadeChanged(const IntRect&);
106 95
107 RefPtrWillBeMember<CSSValue> m_fromValue; 96 RefPtr<CSSValue> m_fromValue;
108 RefPtrWillBeMember<CSSValue> m_toValue; 97 RefPtr<CSSValue> m_toValue;
109 RefPtrWillBeMember<CSSPrimitiveValue> m_percentageValue; 98 RefPtr<CSSPrimitiveValue> m_percentageValue;
110 99
111 ResourcePtr<ImageResource> m_cachedFromImage; 100 ResourcePtr<ImageResource> m_cachedFromImage;
112 ResourcePtr<ImageResource> m_cachedToImage; 101 ResourcePtr<ImageResource> m_cachedToImage;
113 102
114 RefPtr<Image> m_generatedImage; 103 RefPtr<Image> m_generatedImage;
115 104
116 CrossfadeSubimageObserverProxy m_crossfadeSubimageObserver; 105 CrossfadeSubimageObserverProxy m_crossfadeSubimageObserver;
117 }; 106 };
118 107
119 DEFINE_CSS_VALUE_TYPE_CASTS(CSSCrossfadeValue, isCrossfadeValue()); 108 DEFINE_CSS_VALUE_TYPE_CASTS(CSSCrossfadeValue, isCrossfadeValue());
120 109
121 } // namespace blink 110 } // namespace blink
122 111
123 #endif // CSSCrossfadeValue_h 112 #endif // CSSCrossfadeValue_h
OLDNEW
« no previous file with comments | « Source/core/css/CSSCounterValue.cpp ('k') | Source/core/css/CSSCrossfadeValue.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698