Changeset 243249 in webkit
- Timestamp:
- Mar 20, 2019, 3:49:44 PM (7 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
dom/Node.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r243247 r243249 1 2019-03-20 Dean Jackson <dino@apple.com> 2 3 [iOS] Crash in WebCore::Node::renderRect 4 https://bugs.webkit.org/show_bug.cgi?id=196035 5 <rdar://problem/49076783> 6 7 Reviewed by Antoine Quint. 8 9 When renderRect was called on an HTMLAreaElement, it would 10 ASSERT because it doesn't have a renderer. We hadn't noticed 11 this before because none of our tests were hitting this in 12 debug mode. 13 14 The fix is to ask the corresponding HTMLImageElement for 15 its renderer, and use that for the returned rectangle. 16 17 Covered by these tests that had become flakey: 18 fast/images/imagemap-in-shadow-tree.html 19 http/tests/download/area-download.html 20 21 * dom/Node.cpp: 22 (WebCore::Node::renderRect): 23 1 24 2019-03-20 Youenn Fablet <youenn@apple.com> 2 25 -
trunk/Source/WebCore/dom/Node.cpp
r243233 r243249 43 43 #include "EventHandler.h" 44 44 #include "FrameView.h" 45 #include "HTMLAreaElement.h" 45 46 #include "HTMLBodyElement.h" 46 47 #include "HTMLCollection.h" … … 796 797 { 797 798 RenderObject* hitRenderer = this->renderer(); 798 ASSERT(hitRenderer); 799 if (!hitRenderer && is<HTMLAreaElement>(*this)) { 800 auto& area = downcast<HTMLAreaElement>(*this); 801 if (auto* imageElement = area.imageElement()) 802 hitRenderer = imageElement->renderer(); 803 } 799 804 RenderObject* renderer = hitRenderer; 800 805 while (renderer && !renderer->isBody() && !renderer->isDocumentElementRenderer()) {
Note:
See TracChangeset
for help on using the changeset viewer.