Title: [124910] branches/safari-536.26-branch

Diff

Modified: branches/safari-536.26-branch/LayoutTests/ChangeLog (124909 => 124910)


--- branches/safari-536.26-branch/LayoutTests/ChangeLog	2012-08-07 19:52:15 UTC (rev 124909)
+++ branches/safari-536.26-branch/LayoutTests/ChangeLog	2012-08-07 20:04:10 UTC (rev 124910)
@@ -1,5 +1,19 @@
 2012-08-06  Lucas Forschler  <[email protected]>
 
+    Merge 118236
+
+    2012-05-23  Abhishek Arya  <[email protected]>
+
+            ASSERT failure toRenderProgress in HTMLProgressElement::didElementStateChange
+            https://bugs.webkit.org/show_bug.cgi?id=87274
+
+            Reviewed by Darin Adler.
+
+            * fast/runin/progress-run-in-crash-expected.txt: Added.
+            * fast/runin/progress-run-in-crash.html: Added.
+
+2012-08-06  Lucas Forschler  <[email protected]>
+
     Merge 120845
 
     2012-06-20  Nate Chapin  <[email protected]>

Copied: branches/safari-536.26-branch/LayoutTests/fast/runin/progress-run-in-crash-expected.txt (from rev 118236, trunk/LayoutTests/fast/runin/progress-run-in-crash-expected.txt) (0 => 124910)


--- branches/safari-536.26-branch/LayoutTests/fast/runin/progress-run-in-crash-expected.txt	                        (rev 0)
+++ branches/safari-536.26-branch/LayoutTests/fast/runin/progress-run-in-crash-expected.txt	2012-08-07 20:04:10 UTC (rev 124910)
@@ -0,0 +1,4 @@
+WebKit Bug 87274 - ASSERT failure toRenderProgress in HTMLProgressElement::didElementStateChange.
+Test passes if it does not crash.
+
+

Copied: branches/safari-536.26-branch/LayoutTests/fast/runin/progress-run-in-crash.html (from rev 118236, trunk/LayoutTests/fast/runin/progress-run-in-crash.html) (0 => 124910)


--- branches/safari-536.26-branch/LayoutTests/fast/runin/progress-run-in-crash.html	                        (rev 0)
+++ branches/safari-536.26-branch/LayoutTests/fast/runin/progress-run-in-crash.html	2012-08-07 20:04:10 UTC (rev 124910)
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+WebKit Bug 87274 - ASSERT failure toRenderProgress in HTMLProgressElement::didElementStateChange.<br />
+Test passes if it does not crash.<br />
+<body>
+<progress id="progress1" style="-webkit-appearance: none"></progress><div></div>
+<script>
+if (window.layoutTestController)
+    layoutTestController.dumpAsText();
+
+document.body.offsetTop;
+progress1.style.display = 'run-in';
+</script>
+</body>
+</html>

Modified: branches/safari-536.26-branch/Source/WebCore/ChangeLog (124909 => 124910)


--- branches/safari-536.26-branch/Source/WebCore/ChangeLog	2012-08-07 19:52:15 UTC (rev 124909)
+++ branches/safari-536.26-branch/Source/WebCore/ChangeLog	2012-08-07 20:04:10 UTC (rev 124910)
@@ -1,5 +1,26 @@
 2012-08-06  Lucas Forschler  <[email protected]>
 
+    Merge 118236
+
+    2012-05-23  Abhishek Arya  <[email protected]>
+
+            ASSERT failure toRenderProgress in HTMLProgressElement::didElementStateChange
+            https://bugs.webkit.org/show_bug.cgi?id=87274
+
+            Reviewed by Darin Adler.
+
+            Progress bar can't run-in. Prevent it from becoming a run-in, leading to an
+            unworkable RenderInline.
+
+            Test: fast/runin/progress-run-in-crash.html
+
+            * html/HTMLProgressElement.cpp:
+            (WebCore::HTMLProgressElement::didElementStateChange):
+            * rendering/RenderBlock.cpp:
+            (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):
+
+2012-08-06  Lucas Forschler  <[email protected]>
+
     Merge 121803
 
     2012-07-03  Nate Chapin  <[email protected]>

Modified: branches/safari-536.26-branch/Source/WebCore/html/HTMLProgressElement.cpp (124909 => 124910)


--- branches/safari-536.26-branch/Source/WebCore/html/HTMLProgressElement.cpp	2012-08-07 19:52:15 UTC (rev 124909)
+++ branches/safari-536.26-branch/Source/WebCore/html/HTMLProgressElement.cpp	2012-08-07 20:04:10 UTC (rev 124910)
@@ -140,7 +140,7 @@
 void HTMLProgressElement::didElementStateChange()
 {
     m_value->setWidthPercentage(position() * 100);
-    if (renderer()) {
+    if (renderer() && renderer()->isProgress()) {
         RenderProgress* render = toRenderProgress(renderer());
         bool wasDeterminate = render->isDeterminate();
         renderer()->updateFromElement();

Modified: branches/safari-536.26-branch/Source/WebCore/rendering/RenderBlock.cpp (124909 => 124910)


--- branches/safari-536.26-branch/Source/WebCore/rendering/RenderBlock.cpp	2012-08-07 19:52:15 UTC (rev 124909)
+++ branches/safari-536.26-branch/Source/WebCore/rendering/RenderBlock.cpp	2012-08-07 20:04:10 UTC (rev 124910)
@@ -1776,6 +1776,9 @@
     Node* runInNode = child->node();
     if (runInNode && runInNode->hasTagName(selectTag))
         return false;
+    
+    if (runInNode && runInNode->hasTagName(progressTag)) 
+        return false;
 
     RenderBlock* blockRunIn = toRenderBlock(child);
     RenderObject* curr = blockRunIn->nextSibling();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to