Changeset 87709 in webkit
- Timestamp:
- May 30, 2011 10:00:51 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r87705 r87709 1 2011-05-30 Andrey Petrov <andrey.petrov@gmail.com> 2 3 Reviewed by Hajime Morita. 4 5 Using jQuery to show/hide IMG elements crashes WebKit 6 https://bugs.webkit.org/show_bug.cgi?id=31721 7 8 * editing/pasteboard/copy-standalone-image-crash-expected.txt: Added. 9 * editing/pasteboard/copy-standalone-image-crash.html: Added. 10 1 11 2011-05-30 Kent Tamura <tkent@chromium.org> 2 12 -
trunk/Source/WebCore/ChangeLog
r87708 r87709 1 2011-05-30 Andrey Petrov <andrey.petrov@gmail.com> 2 3 Reviewed by Hajime Morita. 4 5 Using jQuery to show/hide IMG elements crashes WebKit 6 https://bugs.webkit.org/show_bug.cgi?id=31721 7 8 For platform code, do not assert nodes always have renderer at 9 the time context menu action is invoked. 10 Renderer can actually be empty for a given node if it was hidden 11 or removed from domtree by some non-user generated event (e.g timeout) 12 after the popup menu had been created. 13 14 Changing Chromium, Gtk, Mac, Qt, Win and WinCE. 15 16 Test: editing/pasteboard/copy-standalone-image-crash.html 17 18 * platform/chromium/PasteboardChromium.cpp: 19 (WebCore::Pasteboard::writeImage): 20 * platform/gtk/PasteboardGtk.cpp: 21 (WebCore::Pasteboard::writeImage): 22 * platform/mac/PasteboardMac.mm: 23 (WebCore::Pasteboard::writeImage): 24 * platform/qt/PasteboardQt.cpp: 25 (WebCore::Pasteboard::writeImage): 26 * platform/win/PasteboardWin.cpp: 27 (WebCore::Pasteboard::writeImage): 28 * platform/wince/PasteboardWinCE.cpp: 29 (WebCore::Pasteboard::writeImage): 30 1 31 2011-05-30 Daniel Bates <dbates@webkit.org> 2 32 -
trunk/Source/WebCore/platform/chromium/PasteboardChromium.cpp
r76340 r87709 123 123 { 124 124 ASSERT(node); 125 ASSERT(node->renderer()); 126 ASSERT(node->renderer()->isImage()); 125 126 if (!(node->renderer() && node->renderer()->isImage())) 127 return; 128 127 129 RenderImage* renderer = toRenderImage(node->renderer()); 128 130 CachedImage* cachedImage = renderer->cachedImage(); … … 131 133 Image* image = cachedImage->image(); 132 134 ASSERT(image); 133 135 134 136 NativeImagePtr bitmap = image->nativeImageForCurrentFrame(); 135 137 if (!bitmap) -
trunk/Source/WebCore/platform/gtk/PasteboardGtk.cpp
r85064 r87709 119 119 { 120 120 ASSERT(node); 121 ASSERT(node->renderer()); 121 122 if (!(node->renderer() && node->renderer()->isImage())) 123 return; 124 122 125 RenderImage* renderer = toRenderImage(node->renderer()); 123 126 CachedImage* cachedImage = renderer->cachedImage(); -
trunk/Source/WebCore/platform/mac/PasteboardMac.mm
r87189 r87709 292 292 { 293 293 ASSERT(node); 294 295 if (!(node->renderer() && node->renderer()->isImage())) 296 return; 297 294 298 Frame* frame = node->document()->frame(); 295 299 … … 297 301 ASSERT(cocoaURL); 298 302 299 ASSERT(node->renderer() && node->renderer()->isImage());300 303 RenderImage* renderer = toRenderImage(node->renderer()); 301 304 CachedImage* cachedImage = renderer->cachedImage(); -
trunk/Source/WebCore/platform/qt/PasteboardQt.cpp
r81967 r87709 153 153 void Pasteboard::writeImage(Node* node, const KURL&, const String&) 154 154 { 155 ASSERT(node && node->renderer() && node->renderer()->isImage()); 155 ASSERT(node); 156 157 if (!(node->renderer() && node->renderer()->isImage())) 158 return; 156 159 157 160 #ifndef QT_NO_CLIPBOARD -
trunk/Source/WebCore/platform/win/PasteboardWin.cpp
r85420 r87709 209 209 void Pasteboard::writeImage(Node* node, const KURL&, const String&) 210 210 { 211 ASSERT(node && node->renderer() && node->renderer()->isImage()); 211 ASSERT(node); 212 213 if (!(node->renderer() && node->renderer()->isImage())) 214 return; 215 212 216 RenderImage* renderer = toRenderImage(node->renderer()); 213 217 CachedImage* cachedImage = renderer->cachedImage(); -
trunk/Source/WebCore/platform/wince/PasteboardWinCE.cpp
r67788 r87709 201 201 void Pasteboard::writeImage(Node* node, const KURL&, const String&) 202 202 { 203 ASSERT(node && node->renderer() && node->renderer()->isImage()); 203 ASSERT(node); 204 205 if (!(node->renderer() && node->renderer()->isImage())) 206 return; 207 204 208 RenderImage* renderer = static_cast<RenderImage*>(node->renderer()); 205 209 CachedImage* cachedImage = static_cast<CachedImage*>(renderer->cachedImage());
Note: See TracChangeset
for help on using the changeset viewer.