OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2010 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 Loading... |
34 #include "platform/graphics/Image.h" | 34 #include "platform/graphics/Image.h" |
35 | 35 |
36 namespace blink { | 36 namespace blink { |
37 | 37 |
38 // StylePendingImage is a placeholder StyleImage that is entered into the Comput
edStyle during | 38 // StylePendingImage is a placeholder StyleImage that is entered into the Comput
edStyle during |
39 // style resolution, in order to avoid loading images that are not referenced by
the final style. | 39 // style resolution, in order to avoid loading images that are not referenced by
the final style. |
40 // They should never exist in a ComputedStyle after it has been returned from th
e style selector. | 40 // They should never exist in a ComputedStyle after it has been returned from th
e style selector. |
41 | 41 |
42 class StylePendingImage final : public StyleImage { | 42 class StylePendingImage final : public StyleImage { |
43 public: | 43 public: |
44 static PassRefPtrWillBeRawPtr<StylePendingImage> create(const CSSValue& valu
e) | 44 // TODO(sashab): Make this take a PassRefPtrWillBeRawPtr<const CSSValue>. |
| 45 static PassRefPtrWillBeRawPtr<StylePendingImage> create(PassRefPtrWillBeRawP
tr<CSSValue> value) |
45 { | 46 { |
46 return adoptRefWillBeNoop(new StylePendingImage(value)); | 47 return adoptRefWillBeNoop(new StylePendingImage(value)); |
47 } | 48 } |
48 | 49 |
49 WrappedImagePtr data() const override { return m_value.get(); } | 50 WrappedImagePtr data() const override { return m_value.get(); } |
50 | 51 |
51 PassRefPtrWillBeRawPtr<CSSValue> cssValue() const override { return m_value;
} | 52 PassRefPtrWillBeRawPtr<CSSValue> cssValue() const override { return m_value;
} |
52 | 53 |
53 PassRefPtrWillBeRawPtr<CSSValue> computedCSSValue() const override | 54 PassRefPtrWillBeRawPtr<CSSValue> computedCSSValue() const override |
54 { | 55 { |
(...skipping 21 matching lines...) Expand all Loading... |
76 } | 77 } |
77 bool knownToBeOpaque(const LayoutObject*) const override { return false; } | 78 bool knownToBeOpaque(const LayoutObject*) const override { return false; } |
78 | 79 |
79 DEFINE_INLINE_VIRTUAL_TRACE() | 80 DEFINE_INLINE_VIRTUAL_TRACE() |
80 { | 81 { |
81 visitor->trace(m_value); | 82 visitor->trace(m_value); |
82 StyleImage::trace(visitor); | 83 StyleImage::trace(visitor); |
83 } | 84 } |
84 | 85 |
85 private: | 86 private: |
86 explicit StylePendingImage(const CSSValue& value) | 87 explicit StylePendingImage(PassRefPtrWillBeRawPtr<CSSValue> value) |
87 : m_value(const_cast<CSSValue*>(&value)) | 88 : m_value(value) |
88 { | 89 { |
89 m_isPendingImage = true; | 90 m_isPendingImage = true; |
90 } | 91 } |
91 | 92 |
92 // TODO(sashab): Replace this with <const CSSValue> once RefPtrWillBeMember<
> | 93 // TODO(sashab): Replace this with <const CSSValue> once RefPtrWillBeMember<
> |
93 // supports const types. | 94 // supports const types. |
94 RefPtrWillBeMember<CSSValue> m_value; | 95 RefPtrWillBeMember<CSSValue> m_value; |
95 }; | 96 }; |
96 | 97 |
97 DEFINE_STYLE_IMAGE_TYPE_CASTS(StylePendingImage, isPendingImage()); | 98 DEFINE_STYLE_IMAGE_TYPE_CASTS(StylePendingImage, isPendingImage()); |
98 | 99 |
99 } | 100 } |
100 #endif | 101 #endif |
OLD | NEW |