Title: [93622] trunk/Source/WebKit/chromium
Revision
93622
Author
[email protected]
Date
2011-08-23 12:21:05 -0700 (Tue, 23 Aug 2011)

Log Message

New MainFrame views should inherit fixed layout settings from existing MainFrame view in Chromium.
https://bugs.webkit.org/show_bug.cgi?id=66780

Fixed layout mode is set from WebViewImpl, but new main FrameViews are created on loading new pages. The new page's FrameView should get its
fixed layout settings from the current page.

Reviewed by Darin Fisher.

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::createFrameView):

Modified Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (93621 => 93622)


--- trunk/Source/WebKit/chromium/ChangeLog	2011-08-23 19:07:59 UTC (rev 93621)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-08-23 19:21:05 UTC (rev 93622)
@@ -1,3 +1,16 @@
+2011-08-23  Fady Samuel  <[email protected]>
+
+        New MainFrame views should inherit fixed layout settings from existing MainFrame view in Chromium.
+        https://bugs.webkit.org/show_bug.cgi?id=66780
+
+        Fixed layout mode is set from WebViewImpl, but new main FrameViews are created on loading new pages. The new page's FrameView should get its
+        fixed layout settings from the current page.
+
+        Reviewed by Darin Fisher.
+
+        * src/WebFrameImpl.cpp:
+        (WebKit::WebFrameImpl::createFrameView):
+
 2011-08-23  Matt Falkenhagen  <[email protected]>
 
         [chromium] Update WebSettings to support per-script font settings

Modified: trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp (93621 => 93622)


--- trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp	2011-08-23 19:07:59 UTC (rev 93621)
+++ trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp	2011-08-23 19:21:05 UTC (rev 93622)
@@ -1979,8 +1979,15 @@
     ASSERT(page->mainFrame());
 
     bool isMainFrame = m_frame == page->mainFrame();
-    if (isMainFrame && m_frame->view())
+    bool useFixedLayout = false;
+    IntSize fixedLayoutSize;
+    if (isMainFrame && m_frame->view()) {
         m_frame->view()->setParentVisible(false);
+        // Save the fixed layout information before destroying the
+        // existing FrameView of this frame.
+        useFixedLayout = m_frame->view()->useFixedLayout();
+        fixedLayoutSize = m_frame->view()->fixedLayoutSize();
+    }
 
     m_frame->setView(0);
 
@@ -2011,6 +2018,10 @@
 #if ENABLE(GESTURE_RECOGNIZER)
     webView->resetGestureRecognizer();
 #endif
+
+    // Restore the saved fixed layout information.
+    view->setUseFixedLayout(useFixedLayout);
+    view->setFixedLayoutSize(fixedLayoutSize);
 }
 
 WebFrameImpl* WebFrameImpl::fromFrame(Frame* frame)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to