[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373
agl at chromium.org
agl at chromium.org
Thu Apr 8 00:28:41 UTC 2010
The following commit has been merged in the webkit-1.2 branch:
commit a037148a1f2061504a705b2efc0ec906fc342898
Author: agl at chromium.org <agl at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Dec 9 01:43:05 2009 +0000
2009-12-08 Adam Langley <agl at google.com>
Reviewed by Darin Adler.
Fix assertion failure in WebCore::RenderBlock::startDelayUpdateScrollInfo
startDelayUpdateScrollInfo calls a function that can end up calling
startDelayUpdateScrollInfo again. However, it's static state is
inconsistent when this happens leading to an assertion failure (or
probably a memory leak if assertions are off).
Thanks to Robert Swiecki for the test case.
https://bugs.webkit.org/show_bug.cgi?id=32172
http://code.google.com/p/chromium/issues/detail?id=28880
Test: fast/css/recursive-delay-update-scroll.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::finishDelayUpdateScrollInfo):
2009-12-08 Adam Langley <agl at google.com>
Reviewed by Darin Adler.
Fix assertion failure in WebCore::RenderBlock::startDelayUpdateScrollInfo
startDelayUpdateScrollInfo calls a function that can end up calling
startDelayUpdateScrollInfo again. However, it's static state is
inconsistent when this happens leading to an assertion failure (or
probably a memory leak if assertions are off).
Thanks to Robert Swiecki for the test case.
https://bugs.webkit.org/show_bug.cgi?id=32172
http://code.google.com/p/chromium/issues/detail?id=28880
* fast/css/recursive-delay-update-scroll.html: Added.
* fast/css/recursive-delay-update-scroll-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 258cfcc..233b0a3 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,23 @@
+2009-12-08 Adam Langley <agl at google.com>
+
+ Reviewed by Darin Adler.
+
+ Fix assertion failure in WebCore::RenderBlock::startDelayUpdateScrollInfo
+
+ startDelayUpdateScrollInfo calls a function that can end up calling
+ startDelayUpdateScrollInfo again. However, it's static state is
+ inconsistent when this happens leading to an assertion failure (or
+ probably a memory leak if assertions are off).
+
+ Thanks to Robert Swiecki for the test case.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32172
+ http://code.google.com/p/chromium/issues/detail?id=28880
+
+
+ * fast/css/recursive-delay-update-scroll.html: Added.
+ * fast/css/recursive-delay-update-scroll-expected.txt: Added.
+
2009-12-08 Nikolas Zimmermann <nzimmermann at rim.com>
Not reviewed. Skip another failing media test, that I already mentioned in the bug report.
diff --git a/LayoutTests/editing/selection/doubleclick-whitespace-img-crash-expected.txt b/LayoutTests/fast/css/recursive-delay-update-scroll-expected.txt
similarity index 100%
copy from LayoutTests/editing/selection/doubleclick-whitespace-img-crash-expected.txt
copy to LayoutTests/fast/css/recursive-delay-update-scroll-expected.txt
diff --git a/LayoutTests/fast/css/recursive-delay-update-scroll.html b/LayoutTests/fast/css/recursive-delay-update-scroll.html
new file mode 100644
index 0000000..cc29ed1
--- /dev/null
+++ b/LayoutTests/fast/css/recursive-delay-update-scroll.html
@@ -0,0 +1,32 @@
+<html>
+ <head>
+ <script>
+ if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+ </script>
+
+ <style media="all" type="text/css">
+ body {
+ display: -webkit-box;
+ }
+
+ .test {
+ margin-right: -1000000;
+ overflow-y: auto;
+ }
+ </style>
+ </head>
+
+ <body>
+ <!-- This would previously trigger an assertion failure. Thanks to Robert
+ Swiecki for the test case. -->
+
+ <form class="test">
+ <select class="test">
+ <option>1</option>
+ </select>
+ </form>
+
+ <p>PASS</p>
+ </body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 5b82e83..6f5b02c 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,24 @@
+2009-12-08 Adam Langley <agl at google.com>
+
+ Reviewed by Darin Adler.
+
+ Fix assertion failure in WebCore::RenderBlock::startDelayUpdateScrollInfo
+
+ startDelayUpdateScrollInfo calls a function that can end up calling
+ startDelayUpdateScrollInfo again. However, it's static state is
+ inconsistent when this happens leading to an assertion failure (or
+ probably a memory leak if assertions are off).
+
+ Thanks to Robert Swiecki for the test case.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32172
+ http://code.google.com/p/chromium/issues/detail?id=28880
+
+ Test: fast/css/recursive-delay-update-scroll.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
+
2009-12-08 Steve Falkenburg <sfalken at apple.com>
Reviewed by Adam Roben.
diff --git a/WebCore/rendering/RenderBlock.cpp b/WebCore/rendering/RenderBlock.cpp
index 8d2e3d1..3faac5c 100644
--- a/WebCore/rendering/RenderBlock.cpp
+++ b/WebCore/rendering/RenderBlock.cpp
@@ -617,15 +617,15 @@ void RenderBlock::finishDelayUpdateScrollInfo()
if (gDelayUpdateScrollInfo == 0) {
ASSERT(gDelayedUpdateScrollInfoSet);
- for (DelayedUpdateScrollInfoSet::iterator it = gDelayedUpdateScrollInfoSet->begin(); it != gDelayedUpdateScrollInfoSet->end(); ++it) {
+ OwnPtr<DelayedUpdateScrollInfoSet> infoSet(gDelayedUpdateScrollInfoSet);
+ gDelayedUpdateScrollInfoSet = 0;
+
+ for (DelayedUpdateScrollInfoSet::iterator it = infoSet->begin(); it != infoSet->end(); ++it) {
RenderBlock* block = *it;
if (block->hasOverflowClip()) {
block->layer()->updateScrollInfoAfterLayout();
}
}
-
- delete gDelayedUpdateScrollInfoSet;
- gDelayedUpdateScrollInfoSet = 0;
}
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list