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

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

Issue 1369213002: Revert of Replace RawPtr with RefPtr on StylePendingImage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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) 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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
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()) {
60 m_pendingImageProperties.add(property); 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 if (value->isCachePending(m_deviceScaleFactor)) { 68 RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImageSet(m_devi ceScaleFactor);
69 m_pendingImageProperties.add(property); 69 if (image && image->isPendingImage())
70 return StylePendingImage::create(value); 70 m_pendingImageProperties.set(property, value);
71 } 71 return image.release();
72 return value->cachedImageSet(m_deviceScaleFactor);
73 } 72 }
74 73
75 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cachedOrPendingFromVal ue(Document& document, CSSPropertyID property, CSSImageValue* value) 74 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cachedOrPendingFromVal ue(Document& document, CSSPropertyID property, CSSImageValue* value)
76 { 75 {
77 if (value->isCachePending()) { 76 RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage();
78 m_pendingImageProperties.add(property); 77 if (image) {
79 return StylePendingImage::create(value); 78 if (image->isPendingImage())
79 m_pendingImageProperties.set(property, value);
80 else
81 value->restoreCachedResourceIfNeeded(document);
80 } 82 }
81 value->restoreCachedResourceIfNeeded(document); 83 return image.release();
82 return value->cachedImage();
83 } 84 }
84 85
85 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cursorOrPendingFromVal ue(CSSPropertyID property, CSSCursorImageValue* value) 86 PassRefPtrWillBeRawPtr<StyleImage> ElementStyleResources::cursorOrPendingFromVal ue(CSSPropertyID property, CSSCursorImageValue* value)
86 { 87 {
87 if (value->isCachePending(m_deviceScaleFactor)) { 88 RefPtrWillBeRawPtr<StyleImage> image = value->cachedOrPendingImage(m_deviceS caleFactor);
88 m_pendingImageProperties.add(property); 89 if (image && image->isPendingImage())
89 return StylePendingImage::create(value); 90 m_pendingImageProperties.set(property, value);
90 } 91 return image.release();
91 return value->cachedImage(m_deviceScaleFactor);
92 } 92 }
93 93
94 void ElementStyleResources::clearPendingImageProperties() 94 void ElementStyleResources::clearPendingImageProperties()
95 { 95 {
96 m_pendingImageProperties.clear(); 96 m_pendingImageProperties.clear();
97 } 97 }
98 98
99 void ElementStyleResources::clearPendingSVGDocuments() 99 void ElementStyleResources::clearPendingSVGDocuments()
100 { 100 {
101 m_pendingSVGDocuments.clear(); 101 m_pendingSVGDocuments.clear();
102 } 102 }
103 103
104 void ElementStyleResources::addPendingSVGDocument(FilterOperation* filterOperati on, CSSSVGDocumentValue* cssSVGDocumentValue) 104 void ElementStyleResources::addPendingSVGDocument(FilterOperation* filterOperati on, CSSSVGDocumentValue* cssSVGDocumentValue)
105 { 105 {
106 m_pendingSVGDocuments.set(filterOperation, cssSVGDocumentValue); 106 m_pendingSVGDocuments.set(filterOperation, cssSVGDocumentValue);
107 } 107 }
108 108
109 } 109 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698