summaryrefslogtreecommitdiffstats
path: root/WebCore/page/Frame.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2010-11-04 12:00:17 -0700
committerJohn Reck <jreck@google.com>2010-11-09 11:35:04 -0800
commite14391e94c850b8bd03680c23b38978db68687a8 (patch)
tree3fed87e6620fecaf3edc7259ae58a11662bedcb2 /WebCore/page/Frame.cpp
parent1bd705833a68f07850cf7e204b26f8d328d16951 (diff)
downloadexternal_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.cpp34
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