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

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

Issue 2351363002: Make CSSStyleImageValue a member of CanvasImageSource. (Closed)
Patch Set: Created 4 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CSSStyleImageValue_h 5 #ifndef CSSStyleImageValue_h
6 #define CSSStyleImageValue_h 6 #define CSSStyleImageValue_h
7 7
8 #include "core/CoreExport.h"
9 #include "core/css/CSSImageValue.h"
8 #include "core/css/CSSImageValue.h" 10 #include "core/css/CSSImageValue.h"
9 #include "core/css/cssom/CSSResourceValue.h" 11 #include "core/css/cssom/CSSResourceValue.h"
12 #include "core/css/cssom/CSSStyleValue.h"
10 #include "core/fetch/ImageResource.h" 13 #include "core/fetch/ImageResource.h"
14 #include "core/html/canvas/CanvasImageSource.h"
15 #include "core/imagebitmap/ImageBitmapSource.h"
11 #include "core/style/StyleImage.h" 16 #include "core/style/StyleImage.h"
12 17
13
14 namespace blink { 18 namespace blink {
15 19
16 class CORE_EXPORT CSSStyleImageValue : public CSSResourceValue { 20 class CORE_EXPORT CSSStyleImageValue : public CSSResourceValue, public CanvasIma geSource {
17 WTF_MAKE_NONCOPYABLE(CSSStyleImageValue); 21 WTF_MAKE_NONCOPYABLE(CSSStyleImageValue);
18 DEFINE_WRAPPERTYPEINFO(); 22 DEFINE_WRAPPERTYPEINFO();
19 public: 23 public:
20 virtual ~CSSStyleImageValue() { } 24 virtual ~CSSStyleImageValue() { }
21 25
22 StyleValueType type() const override { return ImageType; } 26 StyleValueType type() const override { return ImageType; }
23 27
24 double intrinsicWidth(bool& isNull); 28 double intrinsicWidth(bool& isNull) const;
25 double intrinsicHeight(bool& isNull); 29 double intrinsicHeight(bool& isNull) const;
26 double intrinsicRatio(bool& isNull); 30 double intrinsicRatio(bool& isNull);
27 31
32 // CanvasImageSource
33 bool isCSSImageValue() const final { return true; }
34 int sourceWidth() final;
35 int sourceHeight() final;
36 bool wouldTaintOrigin(SecurityOrigin* destinationSecurityOrigin) const final
37 {
38 return true;
39 }
40 FloatSize elementSize(const FloatSize& defaultObjectSize) const final;
41 PassRefPtr<Image> getSourceImageForCanvas(SourceImageStatus*, AccelerationHi nt, SnapshotReason, const FloatSize&) const final;
42
28 DEFINE_INLINE_VIRTUAL_TRACE() 43 DEFINE_INLINE_VIRTUAL_TRACE()
29 { 44 {
30 visitor->trace(m_imageValue); 45 visitor->trace(m_imageValue);
31 CSSStyleValue::trace(visitor); 46 CSSStyleValue::trace(visitor);
32 CSSResourceValue::trace(visitor); 47 CSSResourceValue::trace(visitor);
33 } 48 }
34 49
35 protected: 50 protected:
36 CSSStyleImageValue(const CSSImageValue* imageValue) 51 CSSStyleImageValue(const CSSImageValue* imageValue)
37 : m_imageValue(imageValue) 52 : m_imageValue(imageValue)
(...skipping 14 matching lines...) Expand all
52 { 67 {
53 if (isCachePending()) 68 if (isCachePending())
54 return Resource::Status::NotStarted; 69 return Resource::Status::NotStarted;
55 return m_imageValue->cachedImage()->cachedImage()->getStatus(); 70 return m_imageValue->cachedImage()->cachedImage()->getStatus();
56 } 71 }
57 }; 72 };
58 73
59 } // namespace blink 74 } // namespace blink
60 75
61 #endif // CSSResourceValue_h 76 #endif // CSSResourceValue_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698