Source/WebKit/chromium/ChangeLog

 12011-10-25 Fady Samuel <fsamuel@chromium.org>
 2
 3 [Chromium] Refactor WebFrameImpl::createFrameView() to use Frame:createView
 4 https://bugs.webkit.org/show_bug.cgi?id=70507
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 No change in functionality except for fixed layout mode. Fixed layout mode has
 9 not been fully upstreamed yet, so no new tests yet:
 10 https://bugs.webkit.org/show_bug.cgi?id=70562 will address this.
 11
 12 This patch also fixes https://bugs.webkit.org/show_bug.cgi?id=70555
 13 It was decided that fixed layout mode might need to be disabled for some content,
 14 and so this change enables the embedder to decide whether to enable fixed layout on
 15 navigation.
 16
 17 * src/WebFrameImpl.cpp:
 18 (WebKit::WebFrameImpl::createFrameView):
 19
1202011-10-24 Geoffrey Garen <ggaren@apple.com>
221
322 Removed SharedUChar and tightened language around its previous uses

Source/WebKit/chromium/src/WebFrameImpl.cpp

@@void WebFrameImpl::createFrameView()
19931993{
19941994 ASSERT(m_frame); // If m_frame doesn't exist, we probably didn't init properly.
19951995
1996  Page* page = m_frame->page();
1997  ASSERT(page);
1998  ASSERT(page->mainFrame());
1999 
2000  bool isMainFrame = m_frame == page->mainFrame();
2001  bool useFixedLayout = false;
2002  IntSize fixedLayoutSize;
2003  if (isMainFrame && m_frame->view()) {
2004  m_frame->view()->setParentVisible(false);
2005  // Save the fixed layout information before destroying the
2006  // existing FrameView of this frame.
2007  useFixedLayout = m_frame->view()->useFixedLayout();
2008  fixedLayoutSize = m_frame->view()->fixedLayoutSize();
2009  }
2010 
2011  m_frame->setView(0);
2012 
20131996 WebViewImpl* webView = viewImpl();
2014 
2015  RefPtr<FrameView> view;
2016  if (isMainFrame)
2017  view = FrameView::create(m_frame, webView->size());
2018  else
2019  view = FrameView::create(m_frame);
2020 
2021  m_frame->setView(view);
2022 
2023  if (webView->isTransparent())
2024  view->setTransparent(true);
2025 
2026  // FIXME: The Mac code has a comment about this possibly being unnecessary.
2027  // See installInFrame in WebCoreFrameBridge.mm
2028  if (m_frame->ownerRenderer())
2029  m_frame->ownerRenderer()->setWidget(view.get());
2030 
2031  if (HTMLFrameOwnerElement* owner = m_frame->ownerElement())
2032  view->setCanHaveScrollbars(owner->scrollingMode() != ScrollbarAlwaysOff);
2033 
2034  if (isMainFrame)
2035  view->setParentVisible(true);
 1997 m_frame->createView(webView->size(), Color::white, false /* transparent */, webView->fixedLayoutSize(), webView->isFixedLayoutModeEnabled());
20361998
20371999#if ENABLE(GESTURE_RECOGNIZER)
20382000 webView->resetGestureRecognizer();
20392001#endif
2040 
2041  // Restore the saved fixed layout information.
2042  view->setUseFixedLayout(useFixedLayout);
2043  view->setFixedLayoutSize(fixedLayoutSize);
20442002}
20452003
20462004WebFrameImpl* WebFrameImpl::fromFrame(Frame* frame)