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

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

Issue 1555633002: Oilpan: prefinalize CSSCrossfadeValue. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: whitespace Created 4 years, 11 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
« no previous file with comments | « no previous file | third_party/WebKit/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 23 matching lines...) Expand all
34 #include "platform/graphics/Image.h" 34 #include "platform/graphics/Image.h"
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 WILL_BE_USING_PRE_FINALIZER(CSSCrossfadeValue, dispose);
44 public: 45 public:
45 static PassRefPtrWillBeRawPtr<CSSCrossfadeValue> create(PassRefPtrWillBeRawP tr<CSSValue> fromValue, PassRefPtrWillBeRawPtr<CSSValue> toValue, PassRefPtrWill BeRawPtr<CSSPrimitiveValue> percentageValue) 46 static PassRefPtrWillBeRawPtr<CSSCrossfadeValue> create(PassRefPtrWillBeRawP tr<CSSValue> fromValue, PassRefPtrWillBeRawPtr<CSSValue> toValue, PassRefPtrWill BeRawPtr<CSSPrimitiveValue> percentageValue)
46 { 47 {
47 return adoptRefWillBeNoop(new CSSCrossfadeValue(fromValue, toValue, perc entageValue)); 48 return adoptRefWillBeNoop(new CSSCrossfadeValue(fromValue, toValue, perc entageValue));
48 } 49 }
49 50
50 ~CSSCrossfadeValue(); 51 ~CSSCrossfadeValue();
51 52
52 String customCSSText() const; 53 String customCSSText() const;
53 54
54 PassRefPtr<Image> image(const LayoutObject*, const IntSize&); 55 PassRefPtr<Image> image(const LayoutObject*, const IntSize&);
55 bool isFixedSize() const { return true; } 56 bool isFixedSize() const { return true; }
56 IntSize fixedSize(const LayoutObject*); 57 IntSize fixedSize(const LayoutObject*);
57 58
58 bool isPending() const; 59 bool isPending() const;
59 bool knownToBeOpaque(const LayoutObject*) const; 60 bool knownToBeOpaque(const LayoutObject*) const;
60 61
61 void loadSubimages(Document*); 62 void loadSubimages(Document*);
62 63
63 bool hasFailedOrCanceledSubresources() const; 64 bool hasFailedOrCanceledSubresources() const;
64 65
65 bool equals(const CSSCrossfadeValue&) const; 66 bool equals(const CSSCrossfadeValue&) const;
66 67
67 PassRefPtrWillBeRawPtr<CSSCrossfadeValue> valueWithURLsMadeAbsolute(); 68 PassRefPtrWillBeRawPtr<CSSCrossfadeValue> valueWithURLsMadeAbsolute();
68 69
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(); 70 DECLARE_TRACE_AFTER_DISPATCH();
75 71
76 private: 72 private:
77 CSSCrossfadeValue(PassRefPtrWillBeRawPtr<CSSValue> fromValue, PassRefPtrWill BeRawPtr<CSSValue> toValue, PassRefPtrWillBeRawPtr<CSSPrimitiveValue> percentage Value) 73 CSSCrossfadeValue(PassRefPtrWillBeRawPtr<CSSValue> fromValue, PassRefPtrWill BeRawPtr<CSSValue> toValue, PassRefPtrWillBeRawPtr<CSSPrimitiveValue> percentage Value);
78 : CSSImageGeneratorValue(CrossfadeClass) 74
79 , m_fromValue(fromValue) 75 void dispose();
80 , m_toValue(toValue)
81 , m_percentageValue(percentageValue)
82 , m_cachedFromImage(nullptr)
83 , m_cachedToImage(nullptr)
84 , m_crossfadeSubimageObserver(this) { }
85 76
86 class CrossfadeSubimageObserverProxy final : public ImageResourceClient { 77 class CrossfadeSubimageObserverProxy final : public ImageResourceClient {
87 DISALLOW_NEW(); 78 DISALLOW_NEW();
88 public: 79 public:
89 explicit CrossfadeSubimageObserverProxy(CSSCrossfadeValue* ownerValue) 80 explicit CrossfadeSubimageObserverProxy(CSSCrossfadeValue* ownerValue)
90 : m_ownerValue(ownerValue) 81 : m_ownerValue(ownerValue)
91 , m_ready(false) { } 82 , m_ready(false) { }
92 83
93 ~CrossfadeSubimageObserverProxy() override { } 84 ~CrossfadeSubimageObserverProxy() override { }
94 DEFINE_INLINE_TRACE() 85 DEFINE_INLINE_TRACE()
(...skipping 21 matching lines...) Expand all
116 RefPtr<Image> m_generatedImage; 107 RefPtr<Image> m_generatedImage;
117 108
118 CrossfadeSubimageObserverProxy m_crossfadeSubimageObserver; 109 CrossfadeSubimageObserverProxy m_crossfadeSubimageObserver;
119 }; 110 };
120 111
121 DEFINE_CSS_VALUE_TYPE_CASTS(CSSCrossfadeValue, isCrossfadeValue()); 112 DEFINE_CSS_VALUE_TYPE_CASTS(CSSCrossfadeValue, isCrossfadeValue());
122 113
123 } // namespace blink 114 } // namespace blink
124 115
125 #endif // CSSCrossfadeValue_h 116 #endif // CSSCrossfadeValue_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698