Title: [99208] trunk/Source/WebKit/chromium
- Revision
- 99208
- Author
- [email protected]
- Date
- 2011-11-03 10:06:59 -0700 (Thu, 03 Nov 2011)
Log Message
[Chromium] Refactor WebFrameImpl::createFrameView() to use Frame:createView
https://bugs.webkit.org/show_bug.cgi?id=70507
Reviewed by Darin Fisher.
No change in functionality except for fixed layout mode. Fixed layout mode has
not been fully upstreamed yet, so no new tests yet:
https://bugs.webkit.org/show_bug.cgi?id=70562 will address this.
This patch also fixes https://bugs.webkit.org/show_bug.cgi?id=70555
It was decided that fixed layout mode might need to be disabled for some content,
and so this change enables the embedder to decide whether to enable fixed layout on
navigation.
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::createFrameView):
Modified Paths
Diff
Modified: trunk/Source/WebKit/chromium/ChangeLog (99207 => 99208)
--- trunk/Source/WebKit/chromium/ChangeLog 2011-11-03 17:06:51 UTC (rev 99207)
+++ trunk/Source/WebKit/chromium/ChangeLog 2011-11-03 17:06:59 UTC (rev 99208)
@@ -1,3 +1,22 @@
+2011-11-03 Fady Samuel <[email protected]>
+
+ [Chromium] Refactor WebFrameImpl::createFrameView() to use Frame:createView
+ https://bugs.webkit.org/show_bug.cgi?id=70507
+
+ Reviewed by Darin Fisher.
+
+ No change in functionality except for fixed layout mode. Fixed layout mode has
+ not been fully upstreamed yet, so no new tests yet:
+ https://bugs.webkit.org/show_bug.cgi?id=70562 will address this.
+
+ This patch also fixes https://bugs.webkit.org/show_bug.cgi?id=70555
+ It was decided that fixed layout mode might need to be disabled for some content,
+ and so this change enables the embedder to decide whether to enable fixed layout on
+ navigation.
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::createFrameView):
+
2011-10-28 Hans Wennborg <[email protected]>
IndexedDB: Recycle cursor objects when calling continue()
Modified: trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp (99207 => 99208)
--- trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp 2011-11-03 17:06:51 UTC (rev 99207)
+++ trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp 2011-11-03 17:06:59 UTC (rev 99208)
@@ -2060,54 +2060,12 @@
{
ASSERT(m_frame); // If m_frame doesn't exist, we probably didn't init properly.
- Page* page = m_frame->page();
- ASSERT(page);
- ASSERT(page->mainFrame());
-
- bool isMainFrame = m_frame == page->mainFrame();
- 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);
-
WebViewImpl* webView = viewImpl();
+ m_frame->createView(webView->size(), Color::white, webView->isTransparent(), webView->fixedLayoutSize(), webView->isFixedLayoutModeEnabled());
- RefPtr<FrameView> view;
- if (isMainFrame)
- view = FrameView::create(m_frame, webView->size());
- else
- view = FrameView::create(m_frame);
-
- m_frame->setView(view);
-
- if (webView->isTransparent())
- view->setTransparent(true);
-
- // FIXME: The Mac code has a comment about this possibly being unnecessary.
- // See installInFrame in WebCoreFrameBridge.mm
- if (m_frame->ownerRenderer())
- m_frame->ownerRenderer()->setWidget(view.get());
-
- if (HTMLFrameOwnerElement* owner = m_frame->ownerElement())
- view->setCanHaveScrollbars(owner->scrollingMode() != ScrollbarAlwaysOff);
-
- if (isMainFrame)
- view->setParentVisible(true);
-
#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