[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
cmarrin at apple.com
cmarrin at apple.com
Wed Dec 22 14:51:59 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 7826be57e05491c4f582c78c1c2b27c7588b6919
Author: cmarrin at apple.com <cmarrin at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 22 18:44:59 2010 +0000
2010-10-21 Chris Marrin <cmarrin at apple.com>
Reviewed by Adam Roben.
Content in <iframe> doesn't appear when going back to http://webkit.org/blog/386/3d-transforms/
https://bugs.webkit.org/show_bug.cgi?id=32447
Added documentDidBecomeActive() when document comes back from cache to cause compositing
layers in iframes to be reattached.
There is no layout test, but I added a manual test. This test is ready to be a layout test
but currently DRT disables the WebCore page cache, so the back/forward essentially do a
page load which does not exhibit the bug.
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
* manual-tests/compositing/show-composited-iframe-on-back-button.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 94d5af0..1b7a984 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,21 @@
+2010-10-21 Chris Marrin <cmarrin at apple.com>
+
+ Reviewed by Adam Roben.
+
+ Content in <iframe> doesn't appear when going back to http://webkit.org/blog/386/3d-transforms/
+ https://bugs.webkit.org/show_bug.cgi?id=32447
+
+ Added documentDidBecomeActive() when document comes back from cache to cause compositing
+ layers in iframes to be reattached.
+
+ There is no layout test, but I added a manual test. This test is ready to be a layout test
+ but currently DRT disables the WebCore page cache, so the back/forward essentially do a
+ page load which does not exhibit the bug.
+
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrameBase::restore):
+ * manual-tests/compositing/show-composited-iframe-on-back-button.html: Added.
+
2010-10-22 Patrick Gansterer <paroga at webkit.org>
Reviewed by Adam Roben.
diff --git a/WebCore/history/CachedFrame.cpp b/WebCore/history/CachedFrame.cpp
index 470e03f..a3ef401 100644
--- a/WebCore/history/CachedFrame.cpp
+++ b/WebCore/history/CachedFrame.cpp
@@ -115,6 +115,8 @@ void CachedFrameBase::restore()
if (m_document->hasListenerType(Document::TOUCH_LISTENER))
m_document->page()->chrome()->client()->needTouchEvents(true);
#endif
+
+ m_document->documentDidBecomeActive();
}
CachedFrame::CachedFrame(Frame* frame)
diff --git a/WebCore/manual-tests/compositing/show-composited-iframe-on-back-button.html b/WebCore/manual-tests/compositing/show-composited-iframe-on-back-button.html
new file mode 100644
index 0000000..fff8888
--- /dev/null
+++ b/WebCore/manual-tests/compositing/show-composited-iframe-on-back-button.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+ <!--
+ This content was originally intended as a layout test, but the sequencing performed by
+ queueBackNavigation/queueForwardNavigation differs somehow from what occurs when hitting
+ the back and forward buttons, so the error does not occur. I've left all the LayoutTestController
+ logic in the test in case this is fixed in the future.
+ -->
+
+ <title>Show composited iframe contents when navigating back to page</title>
+ <style type="text/css" media="screen">
+ #box {
+ background-color: red;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: translateZ(0);
+ }
+ iframe {
+ margin: 20px;
+ height: 250px;
+ width: 250px;
+ border: 1px solid black;
+ }
+
+ .composited {
+ -webkit-transform: translateZ(0);
+ }
+
+ </style>
+ <script type="text/javascript" charset="utf-8">
+ var dumpLayerTree = function()
+ {
+ if (window.layoutTestController) {
+ document.getElementById('layers').innerHTML += "Layer Tree after\n\n"+layoutTestController.layerTreeAsText()+"\n\n";
+ }
+ }
+
+ if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ }
+
+ function onPageShow(evt)
+ {
+ if (!evt.persisted && window.layoutTestController) {
+ // this is the first time the page has been loaded, then setup the
+ // to-be-tested scenario.
+ document.getElementById('layers').innerHTML = "Layer Tree before\n\n"+layoutTestController.layerTreeAsText()+"\n\n";
+ layoutTestController.queueLoad("resources/subframe.html");
+ layoutTestController.queueBackNavigation(1);
+ layoutTestController.queueForwardNavigation(1);
+ layoutTestController.queueBackNavigation(1);
+ layoutTestController.queueNonLoadingScript("dumpLayerTree()");
+ }
+ }
+
+ window.onpageshow = onPageShow;
+ </script>
+</head>
+<body>
+<p>
+ This page has a composited iframe. When navigating to a new page and then back to this one, the iframe contents should show up.
+</p>
+ Click on the following URL and then click back. When navigating back to this page, the blue box inside the black rectangle
+ should show up.
+</p>
+<pre>
+ <a href="http://apple.com">http://apple.com</a>
+</pre>
+ <div id=box></div>
+ <iframe id="iframe" scrolling="no" src="resources/composited-subframe.html"></iframe>
+<br>
+<pre id="layers"></pre>
+</body>
+</html>
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list