diff options
author | John Reck <jreck@google.com> | 2010-11-04 12:00:17 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2010-11-09 11:35:04 -0800 |
commit | e14391e94c850b8bd03680c23b38978db68687a8 (patch) | |
tree | 3fed87e6620fecaf3edc7259ae58a11662bedcb2 /WebCore/page/Frame.cpp | |
parent | 1bd705833a68f07850cf7e204b26f8d328d16951 (diff) | |
download | external_webkit-e14391e94c850b8bd03680c23b38978db68687a8.zip external_webkit-e14391e94c850b8bd03680c23b38978db68687a8.tar.gz external_webkit-e14391e94c850b8bd03680c23b38978db68687a8.tar.bz2 |
Merge Webkit at r70949: Initial merge by git.
Change-Id: I77b8645c083b5d0da8dba73ed01d4014aab9848e
Diffstat (limited to 'WebCore/page/Frame.cpp')
-rw-r--r-- | WebCore/page/Frame.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/WebCore/page/Frame.cpp b/WebCore/page/Frame.cpp index 1b476a0..a4d33a3 100644 --- a/WebCore/page/Frame.cpp +++ b/WebCore/page/Frame.cpp @@ -163,6 +163,7 @@ inline Frame::Frame(Page* page, HTMLFrameOwnerElement* ownerElement, FrameLoader , m_lifeSupportTimer(this, &Frame::lifeSupportTimerFired) , m_pageZoomFactor(parentPageZoomFactor(this)) , m_textZoomFactor(parentTextZoomFactor(this)) + , m_pageScaleFactor(1) #if ENABLE(ORIENTATION_EVENTS) , m_orientation(0) #endif @@ -748,6 +749,10 @@ void Frame::transferChildFrameToNewDocument() // Let external clients update themselves. loader()->client()->didTransferChildFrameToNewDocument(oldPage); + // Update resource tracking now that frame could be in a different page. + if (oldPage != newPage) + loader()->transferLoadingResourcesFromPage(oldPage); + // Do the same for all the children. for (Frame* child = tree()->firstChild(); child; child = child->tree()->nextSibling()) child->transferChildFrameToNewDocument(); @@ -883,6 +888,13 @@ IntRect Frame::tiledBackingStoreVisibleRect() return IntRect(); return m_page->chrome()->client()->visibleRectForTiledBackingStore(); } + +Color Frame::tiledBackingStoreBackgroundColor() const +{ + if (!m_view) + return Color(); + return m_view->baseBackgroundColor(); +} #endif String Frame::layerTreeAsText() const @@ -956,4 +968,26 @@ void Frame::setPageAndTextZoomFactors(float pageZoomFactor, float textZoomFactor } } +void Frame::scalePage(float scale) +{ + if (m_pageScaleFactor == scale) + return; + + m_pageScaleFactor = scale; + + Document* document = this->document(); + if (!document) + return; + + if (document->renderer()) + document->renderer()->setNeedsLayout(true); + + document->recalcStyle(Node::Force); + + if (FrameView* view = this->view()) { + if (document->renderer() && document->renderer()->needsLayout() && view->didFirstLayout()) + view->layout(); + } +} + } // namespace WebCore |