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

Side by Side Diff: Source/core/css/resolver/ElementStyleResources.cpp

Issue 1308953009: Move Image ownership out of CSSValue (Closed) 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
4 * Copyright (C) 2013 Google Inc. All rights reserved. 4 * Copyright (C) 2013 Google Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 return setOrPendingFromValue(property, toCSSImageSetValue(value)); 49 return setOrPendingFromValue(property, toCSSImageSetValue(value));
50 50
51 if (value->isCursorImageValue()) 51 if (value->isCursorImageValue())
52 return cursorOrPendingFromValue(property, toCSSCursorImageValue(value)); 52 return cursorOrPendingFromValue(property, toCSSCursorImageValue(value));
53 53
54 return nullptr; 54 return nullptr;
55 } 55 }
56 56
57 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::generatedOrPendingFrom Value(CSSPropertyID property, CSSImageGeneratorValue* value) 57 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::generatedOrPendingFrom Value(CSSPropertyID property, CSSImageGeneratorValue* value)
58 { 58 {
59 if (value->isPending()) { 59 if (value->isPending(mutableCssImages())) {
60 m_pendingImageProperties.set(property, value); 60 m_pendingImageProperties.set(property, value);
61 return StylePendingImage::create(value); 61 return StylePendingImage::create(value);
62 } 62 }
63 return StyleGeneratedImage::create(value); 63 return StyleGeneratedImage::create(value);
64 } 64 }
65 65
66 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::setOrPendingFromValue( CSSPropertyID property, CSSImageSetValue* value) 66 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::setOrPendingFromValue( CSSPropertyID property, CSSImageSetValue* value)
67 { 67 {
68 RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImageSet(m_devi ceScaleFactor); 68 RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImageSet(m_devi ceScaleFactor);
69 if (image && image->isPendingImage()) 69 if (image && image->isPendingImage())
70 m_pendingImageProperties.set(property, value); 70 m_pendingImageProperties.set(property, value);
71 return image.release(); 71 return image.release();
72 } 72 }
73 73
74 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cachedOrPendingFromVal ue(Document& document, CSSPropertyID property, CSSImageValue* value) 74 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cachedOrPendingFromVal ue(Document& document, CSSPropertyID property, CSSImageValue* value)
75 { 75 {
76 RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage(); 76 RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage(mutableCs sImages());
77 if (image) { 77 ASSERT(image);
78 if (image->isPendingImage()) 78 if (image->isPendingImage())
79 m_pendingImageProperties.set(property, value); 79 m_pendingImageProperties.set(property, value);
80 else 80 else
81 value->restoreCachedResourceIfNeeded(document); 81 value->restoreCachedResourceIfNeeded(document, mutableCssImages());
82 }
83 return image.release(); 82 return image.release();
84 } 83 }
85 84
86 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cursorOrPendingFromVal ue(CSSPropertyID property, CSSCursorImageValue* value) 85 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cursorOrPendingFromVal ue(CSSPropertyID property, CSSCursorImageValue* value)
87 { 86 {
88 RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage(m_deviceS caleFactor); 87 RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage(mutableCs sImages(), m_deviceScaleFactor);
89 if (image && image->isPendingImage()) 88 if (image && image->isPendingImage())
90 m_pendingImageProperties.set(property, value); 89 m_pendingImageProperties.set(property, value);
91 return image.release(); 90 return image.release();
92 } 91 }
93 92
94 void ElementStyleResources::clearPendingImageProperties() 93 void ElementStyleResources::clearPendingImageProperties()
95 { 94 {
96 m_pendingImageProperties.clear(); 95 m_pendingImageProperties.clear();
97 } 96 }
98 97
99 void ElementStyleResources::clearPendingSVGDocuments() 98 void ElementStyleResources::clearPendingSVGDocuments()
100 { 99 {
101 m_pendingSVGDocuments.clear(); 100 m_pendingSVGDocuments.clear();
102 } 101 }
103 102
103 void ElementStyleResources::clearCSSImages()
104 {
105 printf("ElementStyleResources clearing\n");
106 m_cssImages.clear();
107 printf("ElementStyleResources cleared\n");
108 }
109
104 void ElementStyleResources::addPendingSVGDocument(FilterOperation* filterOperati on, CSSSVGDocumentValue* cssSVGDocumentValue) 110 void ElementStyleResources::addPendingSVGDocument(FilterOperation* filterOperati on, CSSSVGDocumentValue* cssSVGDocumentValue)
105 { 111 {
106 m_pendingSVGDocuments.set(filterOperation, cssSVGDocumentValue); 112 m_pendingSVGDocuments.set(filterOperation, cssSVGDocumentValue);
107 } 113 }
108 114
109 } 115 }
OLDNEW
« no previous file with comments | « Source/core/css/resolver/ElementStyleResources.h ('k') | Source/core/css/resolver/StyleResourceLoader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698