[Chromium] Fixed Layout API needs to check that a FrameView has been created to avoid...
authorfsamuel@chromium.org <fsamuel@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Oct 2011 02:37:01 +0000 (02:37 +0000)
committerfsamuel@chromium.org <fsamuel@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Oct 2011 02:37:01 +0000 (02:37 +0000)
https://bugs.webkit.org/show_bug.cgi?id=70519

Reviewed by Adam Barth.

Simple patch. Upcoming patches for https://bugs.webkit.org/show_bug.cgi?id=70559 will make
use of these methods in certain situations where the main frame doesn't yet have a FrameView.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::isFixedLayoutModeEnabled):
(WebKit::WebViewImpl::enableFixedLayoutMode):
(WebKit::WebViewImpl::fixedLayoutSize):
(WebKit::WebViewImpl::setFixedLayoutSize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@98059 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/src/WebViewImpl.cpp

index f0ceed2584cd965b29c492ccfe99d0229029b413..43f45b05036840933ca1c67ab56dbc38c5a80cc9 100644 (file)
@@ -1,3 +1,19 @@
+2011-10-20  Fady Samuel  <fsamuel@chromium.org>
+
+        [Chromium] Fixed Layout API needs to check that a FrameView has been created to avoid segfaults
+        https://bugs.webkit.org/show_bug.cgi?id=70519
+
+        Reviewed by Adam Barth.
+
+        Simple patch. Upcoming patches for https://bugs.webkit.org/show_bug.cgi?id=70559 will make
+        use of these methods in certain situations where the main frame doesn't yet have a FrameView.
+
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::isFixedLayoutModeEnabled):
+        (WebKit::WebViewImpl::enableFixedLayoutMode):
+        (WebKit::WebViewImpl::fixedLayoutSize):
+        (WebKit::WebViewImpl::setFixedLayoutSize):
+
 2011-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
 
         Unreviewed.  Rolled DEPS.
index 15c8e245a6433e0b34b336b23daca0058dcfd770..4e8c66cf848f74cdf991036c58983ea78023067a 100644 (file)
@@ -1919,7 +1919,7 @@ bool WebViewImpl::isFixedLayoutModeEnabled() const
         return false;
 
     Frame* frame = page()->mainFrame();
-    if (!frame)
+    if (!frame || !frame->view())
         return false;
 
     return frame->view()->useFixedLayout();
@@ -1931,7 +1931,7 @@ void WebViewImpl::enableFixedLayoutMode(bool enable)
         return;
 
     Frame* frame = page()->mainFrame();
-    if (!frame)
+    if (!frame || !frame->view())
         return;
 
     frame->view()->setUseFixedLayout(enable);
@@ -1943,7 +1943,7 @@ WebSize WebViewImpl::fixedLayoutSize() const
         return WebSize();
 
     Frame* frame = page()->mainFrame();
-    if (!frame)
+    if (!frame || !frame->view())
         return WebSize();
 
     return frame->view()->fixedLayoutSize();
@@ -1955,7 +1955,7 @@ void WebViewImpl::setFixedLayoutSize(const WebSize& layoutSize)
         return;
 
     Frame* frame = page()->mainFrame();
-    if (!frame)
+    if (!frame || !frame->view())
         return;
 
     frame->view()->setFixedLayoutSize(layoutSize);