Title: [153592] trunk/Source/WebCore
- Revision
- 153592
- Author
- [email protected]
- Date
- 2013-08-01 11:12:57 -0700 (Thu, 01 Aug 2013)
Log Message
[BlackBerry] Crash at absoluteClippedOverflowRect() in PluginView::calculateClipRect()
https://bugs.webkit.org/show_bug.cgi?id=119401
Patch by Jacky Jiang <[email protected]> on 2013-08-01.
Reviewed by George Staikos.
JIRA 462881
The renderer of the PluginView's element has been detached due to transition
to a new load. We should return an empty contentRect if there even isn't
a renderer. This is a speculative fix based on the stack trace provided.
* plugins/blackberry/PluginViewBlackBerry.cpp:
(WebCore::PluginView::calculateClipRect):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (153591 => 153592)
--- trunk/Source/WebCore/ChangeLog 2013-08-01 17:59:44 UTC (rev 153591)
+++ trunk/Source/WebCore/ChangeLog 2013-08-01 18:12:57 UTC (rev 153592)
@@ -1,3 +1,18 @@
+2013-08-01 Jacky Jiang <[email protected]>
+
+ [BlackBerry] Crash at absoluteClippedOverflowRect() in PluginView::calculateClipRect()
+ https://bugs.webkit.org/show_bug.cgi?id=119401
+
+ Reviewed by George Staikos.
+
+ JIRA 462881
+ The renderer of the PluginView's element has been detached due to transition
+ to a new load. We should return an empty contentRect if there even isn't
+ a renderer. This is a speculative fix based on the stack trace provided.
+
+ * plugins/blackberry/PluginViewBlackBerry.cpp:
+ (WebCore::PluginView::calculateClipRect):
+
2013-08-01 Tim Horton <[email protected]>
Unavailable plug-in indicator arrow should be inside the rounded rect, not in its own circle
Modified: trunk/Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp (153591 => 153592)
--- trunk/Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp 2013-08-01 17:59:44 UTC (rev 153591)
+++ trunk/Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp 2013-08-01 18:12:57 UTC (rev 153592)
@@ -500,14 +500,15 @@
{
FrameView* frameView = toFrameView(parent());
bool visible = frameView && isVisible();
+ RenderObject* renderer = m_element->renderer();
- if (visible && frameView->width() && frameView->height()) {
+ if (visible && frameView->width() && frameView->height() && renderer) {
IntSize windowSize = frameView->hostWindow()->platformPageClient()->viewportSize();
// Get the clipped rectangle for this player within the current frame.
IntRect visibleContentRect;
- IntRect contentRect = m_element->renderer()->absoluteClippedOverflowRect();
- FloatPoint contentLocal = m_element->renderer()->absoluteToLocal(FloatPoint(contentRect.location()));
+ IntRect contentRect = renderer->absoluteClippedOverflowRect();
+ FloatPoint contentLocal = renderer->absoluteToLocal(FloatPoint(contentRect.location()));
contentRect.setLocation(roundedIntPoint(contentLocal));
contentRect.move(frameRect().x(), frameRect().y());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes