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

Side by Side Diff: sky/engine/core/html/HTMLImageElement.cpp

Issue 715963003: Remove alt text from images. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: minor improvement Created 6 years, 1 month 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
« no previous file with comments | « sky/engine/core/html/HTMLImageElement.h ('k') | sky/engine/core/rendering/RenderImage.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 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 UseCounter::count(document(), UseCounter::SrcsetWDescriptor); 144 UseCounter::count(document(), UseCounter::SrcsetWDescriptor);
145 } else if (!candidate.srcOrigin()) { 145 } else if (!candidate.srcOrigin()) {
146 UseCounter::count(document(), UseCounter::SrcsetXDescriptor); 146 UseCounter::count(document(), UseCounter::SrcsetXDescriptor);
147 } 147 }
148 if (renderer() && renderer()->isImage()) 148 if (renderer() && renderer()->isImage())
149 toRenderImage(renderer())->setImageDevicePixelRatio(m_imageDevicePixelRa tio); 149 toRenderImage(renderer())->setImageDevicePixelRatio(m_imageDevicePixelRa tio);
150 } 150 }
151 151
152 void HTMLImageElement::parseAttribute(const QualifiedName& name, const AtomicStr ing& value) 152 void HTMLImageElement::parseAttribute(const QualifiedName& name, const AtomicStr ing& value)
153 { 153 {
154 if (name == HTMLNames::altAttr) { 154 if (name == HTMLNames::srcAttr || name == HTMLNames::srcsetAttr || name == H TMLNames::sizesAttr) {
155 if (renderer() && renderer()->isImage())
156 toRenderImage(renderer())->updateAltText();
157 } else if (name == HTMLNames::srcAttr || name == HTMLNames::srcsetAttr || na me == HTMLNames::sizesAttr) {
158 selectSourceURL(ImageLoader::UpdateIgnorePreviousError); 155 selectSourceURL(ImageLoader::UpdateIgnorePreviousError);
159 } else { 156 } else {
160 HTMLElement::parseAttribute(name, value); 157 HTMLElement::parseAttribute(name, value);
161 } 158 }
162 } 159 }
163 160
164 const AtomicString& HTMLImageElement::altText() const
165 {
166 // lets figure out the alt text.. magic stuff
167 // http://www.w3.org/TR/1998/REC-html40-19980424/appendix/notes.html#altgen
168 // also heavily discussed by Hixie on bugzilla
169 const AtomicString& alt = getAttribute(HTMLNames::altAttr);
170 if (!alt.isNull())
171 return alt;
172 // fall back to title attribute
173 return getAttribute(HTMLNames::titleAttr);
174 }
175
176 RenderObject* HTMLImageElement::createRenderer(RenderStyle* style) 161 RenderObject* HTMLImageElement::createRenderer(RenderStyle* style)
177 { 162 {
178 RenderImage* image = new RenderImage(this); 163 RenderImage* image = new RenderImage(this);
179 image->setImageResource(RenderImageResource::create()); 164 image->setImageResource(RenderImageResource::create());
180 image->setImageDevicePixelRatio(m_imageDevicePixelRatio); 165 image->setImageDevicePixelRatio(m_imageDevicePixelRatio);
181 return image; 166 return image;
182 } 167 }
183 168
184 bool HTMLImageElement::canStartSelection() const 169 bool HTMLImageElement::canStartSelection() const
185 { 170 {
186 if (shadow()) 171 if (shadow())
187 return HTMLElement::canStartSelection(); 172 return HTMLElement::canStartSelection();
188 173
189 return false; 174 return false;
190 } 175 }
191 176
192 void HTMLImageElement::attach(const AttachContext& context) 177 void HTMLImageElement::attach(const AttachContext& context)
193 { 178 {
194 HTMLElement::attach(context); 179 HTMLElement::attach(context);
195 180
196 if (renderer() && renderer()->isImage()) { 181 if (renderer() && renderer()->isImage()) {
197 RenderImage* renderImage = toRenderImage(renderer()); 182 RenderImage* renderImage = toRenderImage(renderer());
198 RenderImageResource* renderImageResource = renderImage->imageResource(); 183 RenderImageResource* renderImageResource = renderImage->imageResource();
199 if (renderImageResource->hasImage()) 184 if (renderImageResource->hasImage())
200 return; 185 return;
201 186
202 // If we have no image at all because we have no src attribute, set 187 if (imageLoader().image() || renderImageResource->cachedImage())
203 // image height and width for the alt text instead.
204 if (!imageLoader().image() && !renderImageResource->cachedImage())
205 renderImage->setImageSizeForAltText();
206 else
207 renderImageResource->setImageResource(imageLoader().image()); 188 renderImageResource->setImageResource(imageLoader().image());
208
209 } 189 }
210 } 190 }
211 191
212 Node::InsertionNotificationRequest HTMLImageElement::insertedInto(ContainerNode* insertionPoint) 192 Node::InsertionNotificationRequest HTMLImageElement::insertedInto(ContainerNode* insertionPoint)
213 { 193 {
214 if (m_listener) 194 if (m_listener)
215 document().mediaQueryMatcher().addViewportListener(m_listener.get()); 195 document().mediaQueryMatcher().addViewportListener(m_listener.get());
216 196
217 // If we have been inserted from a renderer-less document, 197 // If we have been inserted from a renderer-less document,
218 // our loader may have not fetched the image, so do it now. 198 // our loader may have not fetched the image, so do it now.
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 } 415 }
436 imageLoader().updateFromElement(behavior); 416 imageLoader().updateFromElement(behavior);
437 } 417 }
438 418
439 const KURL& HTMLImageElement::sourceURL() const 419 const KURL& HTMLImageElement::sourceURL() const
440 { 420 {
441 return cachedImage()->response().url(); 421 return cachedImage()->response().url();
442 } 422 }
443 423
444 } 424 }
OLDNEW
« no previous file with comments | « sky/engine/core/html/HTMLImageElement.h ('k') | sky/engine/core/rendering/RenderImage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698