Title: [149377] trunk/Source/WebCore
- Revision
- 149377
- Author
- [email protected]
- Date
- 2013-04-30 10:35:33 -0700 (Tue, 30 Apr 2013)
Log Message
REGRESSION(r149313) Crash at WebCore::FrameView::setFrameRect() when navigating back to previous page while find banner is displayed.
<http://webkit.org/b/115421>
<rdar://problem/13765739>
Reviewed by Antti Koivisto.
Add missing null-checks for Document and StyleResolver when re-evaluating media queries due to viewport changes.
No layout test, since we can't show the find banner from WebCore, and I can't think of another way to
trigger a back navigation to a Document-less Frame that would also change the FrameView's size.
* page/FrameView.cpp:
(WebCore::FrameView::setFrameRect):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (149376 => 149377)
--- trunk/Source/WebCore/ChangeLog 2013-04-30 17:18:59 UTC (rev 149376)
+++ trunk/Source/WebCore/ChangeLog 2013-04-30 17:35:33 UTC (rev 149377)
@@ -1,3 +1,19 @@
+2013-04-30 Andreas Kling <[email protected]>
+
+ REGRESSION(r149313) Crash at WebCore::FrameView::setFrameRect() when navigating back to previous page while find banner is displayed.
+ <http://webkit.org/b/115421>
+ <rdar://problem/13765739>
+
+ Reviewed by Antti Koivisto.
+
+ Add missing null-checks for Document and StyleResolver when re-evaluating media queries due to viewport changes.
+
+ No layout test, since we can't show the find banner from WebCore, and I can't think of another way to
+ trigger a back navigation to a Document-less Frame that would also change the FrameView's size.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setFrameRect):
+
2013-04-30 Glenn Adams <[email protected]>
The bison grammar for @supports should return 0 in case of an error
Modified: trunk/Source/WebCore/page/FrameView.cpp (149376 => 149377)
--- trunk/Source/WebCore/page/FrameView.cpp 2013-04-30 17:18:59 UTC (rev 149376)
+++ trunk/Source/WebCore/page/FrameView.cpp 2013-04-30 17:35:33 UTC (rev 149377)
@@ -477,10 +477,12 @@
}
#endif
+ Document* document = m_frame ? m_frame->document() : 0;
+
// Viewport-dependent media queries may cause us to need completely different style information.
- if (m_frame->document()->styleResolver()->affectedByViewportChange()) {
- m_frame->document()->styleResolverChanged(DeferRecalcStyle);
- InspectorInstrumentation::mediaQueryResultChanged(m_frame->document());
+ if (document && document->styleResolver() && document->styleResolver()->affectedByViewportChange()) {
+ document->styleResolverChanged(DeferRecalcStyle);
+ InspectorInstrumentation::mediaQueryResultChanged(document);
}
if (renderView && !renderView->printing()) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes