Title: [117336] trunk/Source/WebCore
- Revision
- 117336
- Author
- jp...@apple.com
- Date
- 2012-05-16 13:56:50 -0700 (Wed, 16 May 2012)
Log Message
ImageLoader can still dispatch beforeload events for ImageDocuments
https://bugs.webkit.org/show_bug.cgi?id=86658
<rdar://problem/11465863>
Reviewed by Brady Eidson.
Prevent flags regarding sending beforeload events from being set on ImageDocuments.
No new tests; testing framework doesn't allow for testing ImageDocuments with injected _javascript_.
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (117335 => 117336)
--- trunk/Source/WebCore/ChangeLog 2012-05-16 20:50:53 UTC (rev 117335)
+++ trunk/Source/WebCore/ChangeLog 2012-05-16 20:56:50 UTC (rev 117336)
@@ -1,3 +1,18 @@
+2012-05-16 Jeffrey Pfau <jp...@apple.com>
+
+ ImageLoader can still dispatch beforeload events for ImageDocuments
+ https://bugs.webkit.org/show_bug.cgi?id=86658
+ <rdar://problem/11465863>
+
+ Reviewed by Brady Eidson.
+
+ Prevent flags regarding sending beforeload events from being set on ImageDocuments.
+
+ No new tests; testing framework doesn't allow for testing ImageDocuments with injected _javascript_.
+
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageLoader::updateFromElement):
+
2012-05-16 Julien Chaffraix <jchaffr...@webkit.org>
layerX/layerY warning should be removed
Modified: trunk/Source/WebCore/loader/ImageLoader.cpp (117335 => 117336)
--- trunk/Source/WebCore/loader/ImageLoader.cpp 2012-05-16 20:50:53 UTC (rev 117335)
+++ trunk/Source/WebCore/loader/ImageLoader.cpp 2012-05-16 20:56:50 UTC (rev 117336)
@@ -194,15 +194,18 @@
errorEventSender().cancelEvent(this);
m_image = newImage;
- m_hasPendingBeforeLoadEvent = newImage;
+ m_hasPendingBeforeLoadEvent = !m_element->document()->isImageDocument() && newImage;
m_hasPendingLoadEvent = newImage;
m_imageComplete = !newImage;
if (newImage) {
- if (!m_element->document()->hasListenerType(Document::BEFORELOAD_LISTENER) || m_element->document()->isImageDocument())
- dispatchPendingBeforeLoadEvent();
- else
- beforeLoadEventSender().dispatchEventSoon(this);
+ if (!m_element->document()->isImageDocument()) {
+ if (!m_element->document()->hasListenerType(Document::BEFORELOAD_LISTENER))
+ dispatchPendingBeforeLoadEvent();
+ else
+ beforeLoadEventSender().dispatchEventSoon(this);
+ } else
+ updateRenderer();
// If newImage is cached, addClient() will result in the load event
// being queued to fire. Ensure this happens after beforeload is
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes