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

Side by Side Diff: sky/engine/core/rendering/RenderImageResourceStyleImage.cpp

Issue 1214633005: Remove CSS clients of ImageResource (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 5 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 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll <knoll@kde.org> 2 * Copyright (C) 1999 Lars Knoll <knoll@kde.org>
3 * Copyright (C) 1999 Antti Koivisto <koivisto@kde.org> 3 * Copyright (C) 1999 Antti Koivisto <koivisto@kde.org>
4 * Copyright (C) 2000 Dirk Mueller <mueller@kde.org> 4 * Copyright (C) 2000 Dirk Mueller <mueller@kde.org>
5 * Copyright (C) 2006 Allan Sandfeld Jensen <kde@carewolf.com> 5 * Copyright (C) 2006 Allan Sandfeld Jensen <kde@carewolf.com>
6 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> 6 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
7 * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010 Apple Inc. All rights reserved. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010 Apple Inc. All rights reserved.
8 * Copyright (C) 2010 Google Inc. All rights reserved. 8 * Copyright (C) 2010 Google Inc. All rights reserved.
9 * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com> 9 * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
10 * 10 *
(...skipping 11 matching lines...) Expand all
22 * along with this library; see the file COPYING.LIB. If not, write to 22 * along with this library; see the file COPYING.LIB. If not, write to
23 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 23 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
24 * Boston, MA 02110-1301, USA. 24 * Boston, MA 02110-1301, USA.
25 * 25 *
26 */ 26 */
27 27
28 #include "sky/engine/core/rendering/RenderImageResourceStyleImage.h" 28 #include "sky/engine/core/rendering/RenderImageResourceStyleImage.h"
29 29
30 #include "sky/engine/core/fetch/ImageResource.h" 30 #include "sky/engine/core/fetch/ImageResource.h"
31 #include "sky/engine/core/rendering/RenderObject.h" 31 #include "sky/engine/core/rendering/RenderObject.h"
32 #include "sky/engine/core/rendering/style/StyleFetchedImage.h"
33 32
34 namespace blink { 33 namespace blink {
35 34
36 RenderImageResourceStyleImage::RenderImageResourceStyleImage(StyleImage* styleIm age) 35 RenderImageResourceStyleImage::RenderImageResourceStyleImage(StyleImage* styleIm age)
37 : m_styleImage(styleImage) 36 : m_styleImage(styleImage)
38 { 37 {
39 ASSERT(m_styleImage); 38 ASSERT(m_styleImage);
40 } 39 }
41 40
42 RenderImageResourceStyleImage::~RenderImageResourceStyleImage() 41 RenderImageResourceStyleImage::~RenderImageResourceStyleImage()
43 { 42 {
44 } 43 }
45 44
46 void RenderImageResourceStyleImage::initialize(RenderObject* renderer) 45 void RenderImageResourceStyleImage::initialize(RenderObject* renderer)
47 { 46 {
48 RenderImageResource::initialize(renderer); 47 RenderImageResource::initialize(renderer);
49
50 if (m_styleImage->isImageResource())
51 m_cachedImage = toStyleFetchedImage(m_styleImage)->cachedImage();
52
53 m_styleImage->addClient(m_renderer); 48 m_styleImage->addClient(m_renderer);
54 } 49 }
55 50
56 void RenderImageResourceStyleImage::shutdown() 51 void RenderImageResourceStyleImage::shutdown()
57 { 52 {
58 ASSERT(m_renderer); 53 ASSERT(m_renderer);
59 m_styleImage->removeClient(m_renderer); 54 m_styleImage->removeClient(m_renderer);
60 m_cachedImage = 0; 55 m_cachedImage = 0;
61 } 56 }
62 57
63 PassRefPtr<Image> RenderImageResourceStyleImage::image(int width, int height) co nst 58 PassRefPtr<Image> RenderImageResourceStyleImage::image(int width, int height) co nst
64 { 59 {
65 // Generated content may trigger calls to image() while we're still pending, don't assert but gracefully exit. 60 // Generated content may trigger calls to image() while we're still pending, don't assert but gracefully exit.
66 if (m_styleImage->isPendingImage()) 61 if (m_styleImage->isPendingImage())
67 return nullptr; 62 return nullptr;
68 return m_styleImage->image(m_renderer, IntSize(width, height)); 63 return m_styleImage->image(m_renderer, IntSize(width, height));
69 } 64 }
70 65
71 void RenderImageResourceStyleImage::setContainerSizeForRenderer(const IntSize& s ize) 66 void RenderImageResourceStyleImage::setContainerSizeForRenderer(const IntSize& s ize)
72 { 67 {
73 ASSERT(m_renderer); 68 ASSERT(m_renderer);
74 m_styleImage->setContainerSizeForRenderer(m_renderer, size); 69 m_styleImage->setContainerSizeForRenderer(m_renderer, size);
75 } 70 }
76 71
77 } // namespace blink 72 } // namespace blink
OLDNEW
« no previous file with comments | « sky/engine/core/rendering/HitTestResult.cpp ('k') | sky/engine/core/rendering/style/StyleFetchedImage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698