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

Side by Side Diff: Source/core/html/HTMLImageElement.cpp

Issue 205523003: Remove beforeload events. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Remove more tests Created 6 years, 9 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
« no previous file with comments | « Source/core/html/HTMLFrameElementBase.cpp ('k') | Source/core/html/HTMLLinkElement.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserv ed. 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserv ed.
5 * Copyright (C) 2010 Google Inc. All rights reserved. 5 * Copyright (C) 2010 Google Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 if (RuntimeEnabledFeatures::srcsetEnabled()) { 157 if (RuntimeEnabledFeatures::srcsetEnabled()) {
158 ImageCandidate candidate = bestFitSourceForImageAttributes(document( ).devicePixelRatio(), fastGetAttribute(srcAttr), fastGetAttribute(srcsetAttr)); 158 ImageCandidate candidate = bestFitSourceForImageAttributes(document( ).devicePixelRatio(), fastGetAttribute(srcAttr), fastGetAttribute(srcsetAttr));
159 m_bestFitImageURL = candidate.toAtomicString(); 159 m_bestFitImageURL = candidate.toAtomicString();
160 float candidateScaleFactor = candidate.scaleFactor(); 160 float candidateScaleFactor = candidate.scaleFactor();
161 if (candidateScaleFactor > 0) 161 if (candidateScaleFactor > 0)
162 m_imageDevicePixelRatio = 1 / candidateScaleFactor; 162 m_imageDevicePixelRatio = 1 / candidateScaleFactor;
163 if (renderer() && renderer()->isImage()) 163 if (renderer() && renderer()->isImage())
164 toRenderImage(renderer())->setImageDevicePixelRatio(m_imageDevic ePixelRatio); 164 toRenderImage(renderer())->setImageDevicePixelRatio(m_imageDevic ePixelRatio);
165 } 165 }
166 m_imageLoader.updateFromElementIgnoringPreviousError(); 166 m_imageLoader.updateFromElementIgnoringPreviousError();
167 } 167 } else if (name == usemapAttr) {
168 else if (name == usemapAttr)
169 setIsLink(!value.isNull()); 168 setIsLink(!value.isNull());
170 else if (name == onbeforeloadAttr) 169 } else if (name == compositeAttr) {
171 setAttributeEventListener(EventTypeNames::beforeload, createAttributeEve ntListener(this, name, value));
172 else if (name == compositeAttr) {
173 // FIXME: images don't support blend modes in their compositing attribut e. 170 // FIXME: images don't support blend modes in their compositing attribut e.
174 blink::WebBlendMode blendOp = blink::WebBlendModeNormal; 171 blink::WebBlendMode blendOp = blink::WebBlendModeNormal;
175 if (!parseCompositeAndBlendOperator(value, m_compositeOperator, blendOp) ) 172 if (!parseCompositeAndBlendOperator(value, m_compositeOperator, blendOp) )
176 m_compositeOperator = CompositeSourceOver; 173 m_compositeOperator = CompositeSourceOver;
177 } else 174 } else {
178 HTMLElement::parseAttribute(name, value); 175 HTMLElement::parseAttribute(name, value);
176 }
179 } 177 }
180 178
181 const AtomicString& HTMLImageElement::altText() const 179 const AtomicString& HTMLImageElement::altText() const
182 { 180 {
183 // lets figure out the alt text.. magic stuff 181 // lets figure out the alt text.. magic stuff
184 // http://www.w3.org/TR/1998/REC-html40-19980424/appendix/notes.html#altgen 182 // http://www.w3.org/TR/1998/REC-html40-19980424/appendix/notes.html#altgen
185 // also heavily discussed by Hixie on bugzilla 183 // also heavily discussed by Hixie on bugzilla
186 const AtomicString& alt = fastGetAttribute(altAttr); 184 const AtomicString& alt = fastGetAttribute(altAttr);
187 if (!alt.isNull()) 185 if (!alt.isNull())
188 return alt; 186 return alt;
(...skipping 17 matching lines...) Expand all
206 if (shadow()) 204 if (shadow())
207 return HTMLElement::canStartSelection(); 205 return HTMLElement::canStartSelection();
208 206
209 return false; 207 return false;
210 } 208 }
211 209
212 void HTMLImageElement::attach(const AttachContext& context) 210 void HTMLImageElement::attach(const AttachContext& context)
213 { 211 {
214 HTMLElement::attach(context); 212 HTMLElement::attach(context);
215 213
216 if (renderer() && renderer()->isImage() && !m_imageLoader.hasPendingBeforeLo adEvent()) { 214 if (renderer() && renderer()->isImage()) {
217 RenderImage* renderImage = toRenderImage(renderer()); 215 RenderImage* renderImage = toRenderImage(renderer());
218 RenderImageResource* renderImageResource = renderImage->imageResource(); 216 RenderImageResource* renderImageResource = renderImage->imageResource();
219 if (renderImageResource->hasImage()) 217 if (renderImageResource->hasImage())
220 return; 218 return;
221 219
222 // If we have no image at all because we have no src attribute, set 220 // If we have no image at all because we have no src attribute, set
223 // image height and width for the alt text instead. 221 // image height and width for the alt text instead.
224 if (!m_imageLoader.image() && !renderImageResource->cachedImage()) 222 if (!m_imageLoader.image() && !renderImageResource->cachedImage())
225 renderImage->setImageSizeForAltText(); 223 renderImage->setImageSizeForAltText();
226 else 224 else
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 if (!image) 466 if (!image)
469 return FloatSize(); 467 return FloatSize();
470 LayoutSize size; 468 LayoutSize size;
471 size = image->imageSizeForRenderer(renderer(), 1.0f); // FIXME: Not sure abo ut this. 469 size = image->imageSizeForRenderer(renderer(), 1.0f); // FIXME: Not sure abo ut this.
472 if (renderer() && renderer()->isRenderImage() && image->image() && !image->i mage()->hasRelativeWidth()) 470 if (renderer() && renderer()->isRenderImage() && image->image() && !image->i mage()->hasRelativeWidth())
473 size.scale(toRenderImage(renderer())->imageDevicePixelRatio()); 471 size.scale(toRenderImage(renderer())->imageDevicePixelRatio());
474 return size; 472 return size;
475 } 473 }
476 474
477 } 475 }
OLDNEW
« no previous file with comments | « Source/core/html/HTMLFrameElementBase.cpp ('k') | Source/core/html/HTMLLinkElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698