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

Side by Side Diff: third_party/WebKit/Source/core/svg/SVGFEImageElement.cpp

Issue 2469873002: [ImageResource 4] Split ImageResource into Resource and Image parts (Closed)
Patch Set: style Created 4 years 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) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org>
4 * Copyright (C) 2010 Dirk Schulze <krit@webkit.org> 4 * Copyright (C) 2010 Dirk Schulze <krit@webkit.org>
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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 m_cachedImage->removeObserver(this); 68 m_cachedImage->removeObserver(this);
69 m_cachedImage = nullptr; 69 m_cachedImage = nullptr;
70 } 70 }
71 71
72 removeAllOutgoingReferences(); 72 removeAllOutgoingReferences();
73 } 73 }
74 74
75 void SVGFEImageElement::fetchImageResource() { 75 void SVGFEImageElement::fetchImageResource() {
76 FetchRequest request( 76 FetchRequest request(
77 ResourceRequest(ownerDocument()->completeURL(hrefString())), localName()); 77 ResourceRequest(ownerDocument()->completeURL(hrefString())), localName());
78 m_cachedImage = ImageResource::fetch(request, document().fetcher()); 78 m_cachedImage = ImageResourceContent::fetch(request, document().fetcher());
79 79
80 if (m_cachedImage) 80 if (m_cachedImage)
81 m_cachedImage->addObserver(this); 81 m_cachedImage->addObserver(this);
82 } 82 }
83 83
84 void SVGFEImageElement::buildPendingResource() { 84 void SVGFEImageElement::buildPendingResource() {
85 clearResourceReferences(); 85 clearResourceReferences();
86 if (!isConnected()) 86 if (!isConnected())
87 return; 87 return;
88 88
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 buildPendingResource(); 128 buildPendingResource();
129 return InsertionDone; 129 return InsertionDone;
130 } 130 }
131 131
132 void SVGFEImageElement::removedFrom(ContainerNode* rootParent) { 132 void SVGFEImageElement::removedFrom(ContainerNode* rootParent) {
133 SVGFilterPrimitiveStandardAttributes::removedFrom(rootParent); 133 SVGFilterPrimitiveStandardAttributes::removedFrom(rootParent);
134 if (rootParent->isConnected()) 134 if (rootParent->isConnected())
135 clearResourceReferences(); 135 clearResourceReferences();
136 } 136 }
137 137
138 void SVGFEImageElement::imageNotifyFinished(ImageResource*) { 138 void SVGFEImageElement::imageNotifyFinished(ImageResourceContent*) {
139 if (!isConnected()) 139 if (!isConnected())
140 return; 140 return;
141 141
142 Element* parent = parentElement(); 142 Element* parent = parentElement();
143 if (!parent || !isSVGFilterElement(parent) || !parent->layoutObject()) 143 if (!parent || !isSVGFilterElement(parent) || !parent->layoutObject())
144 return; 144 return;
145 145
146 if (LayoutObject* layoutObject = this->layoutObject()) 146 if (LayoutObject* layoutObject = this->layoutObject())
147 markForLayoutAndParentResourceInvalidation(layoutObject); 147 markForLayoutAndParentResourceInvalidation(layoutObject);
148 } 148 }
149 149
150 FilterEffect* SVGFEImageElement::build(SVGFilterBuilder*, Filter* filter) { 150 FilterEffect* SVGFEImageElement::build(SVGFilterBuilder*, Filter* filter) {
151 if (m_cachedImage) { 151 if (m_cachedImage) {
152 // Don't use the broken image icon on image loading errors. 152 // Don't use the broken image icon on image loading errors.
153 RefPtr<Image> image = 153 RefPtr<Image> image =
154 m_cachedImage->errorOccurred() ? nullptr : m_cachedImage->getImage(); 154 m_cachedImage->errorOccurred() ? nullptr : m_cachedImage->getImage();
155 return FEImage::createWithImage(filter, image, 155 return FEImage::createWithImage(filter, image,
156 m_preserveAspectRatio->currentValue()); 156 m_preserveAspectRatio->currentValue());
157 } 157 }
158 158
159 return FEImage::createWithIRIReference(filter, treeScope(), hrefString(), 159 return FEImage::createWithIRIReference(filter, treeScope(), hrefString(),
160 m_preserveAspectRatio->currentValue()); 160 m_preserveAspectRatio->currentValue());
161 } 161 }
162 162
163 } // namespace blink 163 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/svg/SVGFEImageElement.h ('k') | third_party/WebKit/Source/core/svg/SVGImageElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698