[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198
jer.noble at apple.com
jer.noble at apple.com
Sun Feb 20 22:44:53 UTC 2011
The following commit has been merged in the webkit-1.3 branch:
commit a5a90d69486d4be9d95d094f13555070e3138a0f
Author: jer.noble at apple.com <jer.noble at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Jan 11 00:29:21 2011 +0000
2011-01-10 Jer Noble <jer.noble at apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=52095
REGRESSION (r75277): 2 test cases (<1%) had incorrect layout
Fixes tests:
fullscreen/full-screen-remove-ancestor.html
fullscreen/full-screen-remove.html
Revert change made in r75326, now that the underlying issue has been fixed.
* fullscreen/full-screen-remove-ancestor-expected.txt:
* fullscreen/full-screen-remove-expected.txt:
2011-01-10 Jer Noble <jer.noble at apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=52095
REGRESSION (r75277): 2 test cases (<1%) had incorrect layout
Fixes tests:
fullscreen/full-screen-remove-ancestor.html
fullscreen/full-screen-remove.html
Previously, the above tests were failing because DRT dumped the contents of their
<script> tags, though all the explicit tests were passing. This was caused by
the document's render tree being left in an inconsistent state when a full screen
element's ancestor was removed from the DOM.
In nodeWillBeRemoved(), match the code in webkitDidExitFullScreen().
Don't detach the documentElement, but rather simply call recalcStyle(Force).
* dom/Document.cpp:
(WebCore::Document::nodeWillBeRemoved):
* rendering/RenderFullScreen.cpp:
(RenderFullScreen::setAnimating): #if ENABLED -> # if USE
* rendering/RenderFullScreen.h:
(WebCore::RenderFullScreen::RenderFullScreen): RenderFullScreen should be an anonymous renderer.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index bd04498..039789a 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,19 @@
+2011-01-10 Jer Noble <jer.noble at apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52095
+ REGRESSION (r75277): 2 test cases (<1%) had incorrect layout
+
+ Fixes tests:
+ fullscreen/full-screen-remove-ancestor.html
+ fullscreen/full-screen-remove.html
+
+ Revert change made in r75326, now that the underlying issue has been fixed.
+
+ * fullscreen/full-screen-remove-ancestor-expected.txt:
+ * fullscreen/full-screen-remove-expected.txt:
+
2011-01-10 Mihai Parparita <mihaip at chromium.org>
Unreviewed Chromium test expectations update.
diff --git a/LayoutTests/fullscreen/full-screen-remove-ancestor-expected.txt b/LayoutTests/fullscreen/full-screen-remove-ancestor-expected.txt
index 70479f3..d9a0ab3 100644
--- a/LayoutTests/fullscreen/full-screen-remove-ancestor-expected.txt
+++ b/LayoutTests/fullscreen/full-screen-remove-ancestor-expected.txt
@@ -1,42 +1,6 @@
-
EVENT(webkitfullscreenchange)
EXPECTED (document.webkitCurrentFullScreenElement == '[object HTMLElement]') OK
EVENT(webkitfullscreenchange)
EXPECTED (document.webkitCurrentFullScreenElement == '[object HTMLHtmlElement]') OK
END OF TEST
-
-
- // Bail out early if the full screen API is not enabled or is missing:
- if (Element.prototype.webkitRequestFullScreen == undefined) {
- logResult(false, "Element.prototype.webkitRequestFullScreen == undefined");
- endTest();
- } else {
- var callback;
- var fullscreenChanged = function(event)
- {
- if (callback)
- callback(event)
- };
- waitForEvent(document, 'webkitfullscreenchange', fullscreenChanged);
-
- var span = document.getElementsByTagName('span')[0];
- var div = span.parentNode;
-
- var spanEnteredFullScreen = function(event) {
- callback = documentEnteredFullScreen;
- testExpected("document.webkitCurrentFullScreenElement", span);
- document.body.removeChild(div);
- };
-
- var documentEnteredFullScreen = function(event) {
- callback = null;
- testExpected("document.webkitCurrentFullScreenElement", document.documentElement);
- endTest();
- };
-
- callback = spanEnteredFullScreen;
- span.webkitRequestFullScreen();
- }
-
-
diff --git a/LayoutTests/fullscreen/full-screen-remove-expected.txt b/LayoutTests/fullscreen/full-screen-remove-expected.txt
index 8dc2714..d9a0ab3 100644
--- a/LayoutTests/fullscreen/full-screen-remove-expected.txt
+++ b/LayoutTests/fullscreen/full-screen-remove-expected.txt
@@ -1,41 +1,6 @@
-
EVENT(webkitfullscreenchange)
EXPECTED (document.webkitCurrentFullScreenElement == '[object HTMLElement]') OK
EVENT(webkitfullscreenchange)
EXPECTED (document.webkitCurrentFullScreenElement == '[object HTMLHtmlElement]') OK
END OF TEST
-
-
- // Bail out early if the full screen API is not enabled or is missing:
- if (Element.prototype.webkitRequestFullScreen == undefined) {
- logResult(false, "Element.prototype.webkitRequestFullScreen == undefined");
- endTest();
- } else {
- var callback;
- var fullscreenChanged = function(event)
- {
- if (callback)
- callback(event)
- };
- waitForEvent(document, 'webkitfullscreenchange', fullscreenChanged);
-
- var span = document.getElementsByTagName('span')[0];
-
- var spanEnteredFullScreen = function(event) {
- callback = documentEnteredFullScreen;
- testExpected("document.webkitCurrentFullScreenElement", span);
- span.parentNode.removeChild(span);
- };
-
- var documentEnteredFullScreen = function(event) {
- callback = null;
- testExpected("document.webkitCurrentFullScreenElement", document.documentElement);
- endTest();
- };
-
- callback = spanEnteredFullScreen;
- span.webkitRequestFullScreen();
- }
-
-
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 8170f43..ba84174 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,29 @@
+2011-01-10 Jer Noble <jer.noble at apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52095
+ REGRESSION (r75277): 2 test cases (<1%) had incorrect layout
+
+ Fixes tests:
+ fullscreen/full-screen-remove-ancestor.html
+ fullscreen/full-screen-remove.html
+
+ Previously, the above tests were failing because DRT dumped the contents of their
+ <script> tags, though all the explicit tests were passing. This was caused by
+ the document's render tree being left in an inconsistent state when a full screen
+ element's ancestor was removed from the DOM.
+
+ In nodeWillBeRemoved(), match the code in webkitDidExitFullScreen().
+ Don't detach the documentElement, but rather simply call recalcStyle(Force).
+
+ * dom/Document.cpp:
+ (WebCore::Document::nodeWillBeRemoved):
+ * rendering/RenderFullScreen.cpp:
+ (RenderFullScreen::setAnimating): #if ENABLED -> # if USE
+ * rendering/RenderFullScreen.h:
+ (WebCore::RenderFullScreen::RenderFullScreen): RenderFullScreen should be an anonymous renderer.
+
2011-01-10 Martin Robinson <mrobinson at igalia.com>
Reviewed by Xan Lopez.
diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp
index e4b1128..1e12958 100644
--- a/Source/WebCore/dom/Document.cpp
+++ b/Source/WebCore/dom/Document.cpp
@@ -3389,11 +3389,13 @@ void Document::nodeWillBeRemoved(Node* n)
ASSERT(n);
if (n->contains(m_fullScreenElement.get())) {
ASSERT(n != documentElement());
+
+ if (m_fullScreenRenderer)
+ m_fullScreenRenderer->remove();
+
setFullScreenRenderer(0);
m_fullScreenElement = documentElement();
- m_fullScreenElement->setNeedsStyleRecalc();
- m_fullScreenElement->detach();
- updateStyleIfNeeded();
+ recalcStyle(Force);
m_fullScreenChangeDelayTimer.startOneShot(0);
}
#endif
diff --git a/Source/WebCore/rendering/RenderFullScreen.cpp b/Source/WebCore/rendering/RenderFullScreen.cpp
index 7cd452f..cc53a6e 100644
--- a/Source/WebCore/rendering/RenderFullScreen.cpp
+++ b/Source/WebCore/rendering/RenderFullScreen.cpp
@@ -35,7 +35,7 @@ using namespace WebCore;
void RenderFullScreen::setAnimating(bool animating)
{
m_isAnimating = animating;
-#if ENABLE(ACCELERATED_COMPOSITING)
+#if USE(ACCELERATED_COMPOSITING)
if (layer())
layer()->contentChanged(RenderLayer::FullScreenChanged);
#endif
diff --git a/Source/WebCore/rendering/RenderFullScreen.h b/Source/WebCore/rendering/RenderFullScreen.h
index 52d4ee2..30f95c1 100644
--- a/Source/WebCore/rendering/RenderFullScreen.h
+++ b/Source/WebCore/rendering/RenderFullScreen.h
@@ -33,7 +33,7 @@ namespace WebCore {
class RenderFullScreen : public RenderFlexibleBox {
public:
- RenderFullScreen(Node* node) : RenderFlexibleBox(node) { setReplaced(false); setIsAnonymous(false); }
+ RenderFullScreen(Node* node) : RenderFlexibleBox(node) { setReplaced(false); }
virtual bool isRenderFullScreen() const { return true; }
virtual const char* renderName() const { return "RenderFullScreen"; }
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list