Title: [195208] releases/WebKitGTK/webkit-2.10
- Revision
- 195208
- Author
- [email protected]
- Date
- 2016-01-18 04:52:33 -0800 (Mon, 18 Jan 2016)
Log Message
Merge r194638 - isAnonymousInlineBlock() should exclude any ruby content.
https://bugs.webkit.org/show_bug.cgi?id=152648
<rdar://problem/23872549>
Reviewed by David Hyatt.
isAnonymousInlineBlock is designed for the new Block-Inside-Inline Model
and all other anonymous inline-block renderers (including Ruby) should bail out of it.
(see webkit.org/b/143145)
Source/WebCore:
Test: fast/ruby/ruby-inline-margin-collapse-crash.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::isAnonymousInlineBlock):
* rendering/RenderObject.h:
(WebCore::RenderObject::isAnonymousInlineBlock): Deleted.
LayoutTests:
* fast/ruby/ruby-inline-margin-collapse-crash-expected.txt: Added.
* fast/ruby/ruby-inline-margin-collapse-crash.html: Added.
Modified Paths
Added Paths
Diff
Modified: releases/WebKitGTK/webkit-2.10/LayoutTests/ChangeLog (195207 => 195208)
--- releases/WebKitGTK/webkit-2.10/LayoutTests/ChangeLog 2016-01-18 12:18:35 UTC (rev 195207)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/ChangeLog 2016-01-18 12:52:33 UTC (rev 195208)
@@ -1,3 +1,18 @@
+2016-01-06 Zalan Bujtas <[email protected]>
+
+ isAnonymousInlineBlock() should exclude any ruby content.
+ https://bugs.webkit.org/show_bug.cgi?id=152648
+ <rdar://problem/23872549>
+
+ Reviewed by David Hyatt.
+
+ isAnonymousInlineBlock is designed for the new Block-Inside-Inline Model
+ and all other anonymous inline-block renderers (including Ruby) should bail out of it.
+ (see webkit.org/b/143145)
+
+ * fast/ruby/ruby-inline-margin-collapse-crash-expected.txt: Added.
+ * fast/ruby/ruby-inline-margin-collapse-crash.html: Added.
+
2016-01-05 Pranjal Jumde <[email protected]>
Image should not be re-registered if m_form already exists. This leads to an assertion failure.
Added: releases/WebKitGTK/webkit-2.10/LayoutTests/fast/ruby/ruby-inline-margin-collapse-crash-expected.txt (0 => 195208)
--- releases/WebKitGTK/webkit-2.10/LayoutTests/fast/ruby/ruby-inline-margin-collapse-crash-expected.txt (rev 0)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/fast/ruby/ruby-inline-margin-collapse-crash-expected.txt 2016-01-18 12:52:33 UTC (rev 195208)
@@ -0,0 +1 @@
+Pass if no crash or assert in debug.
Added: releases/WebKitGTK/webkit-2.10/LayoutTests/fast/ruby/ruby-inline-margin-collapse-crash.html (0 => 195208)
--- releases/WebKitGTK/webkit-2.10/LayoutTests/fast/ruby/ruby-inline-margin-collapse-crash.html (rev 0)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/fast/ruby/ruby-inline-margin-collapse-crash.html 2016-01-18 12:52:33 UTC (rev 195208)
@@ -0,0 +1,11 @@
+<script>
+ if (window.testRunner)
+ testRunner.dumpAsText();
+</script>
+<style>
+ ruby:after {
+ display: block;
+ content: "bar";
+ }
+</style>
+Pass if no crash or assert in debug.<ruby>
Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog (195207 => 195208)
--- releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog 2016-01-18 12:18:35 UTC (rev 195207)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog 2016-01-18 12:52:33 UTC (rev 195208)
@@ -1,3 +1,22 @@
+2016-01-06 Zalan Bujtas <[email protected]>
+
+ isAnonymousInlineBlock() should exclude any ruby content.
+ https://bugs.webkit.org/show_bug.cgi?id=152648
+ <rdar://problem/23872549>
+
+ Reviewed by David Hyatt.
+
+ isAnonymousInlineBlock is designed for the new Block-Inside-Inline Model
+ and all other anonymous inline-block renderers (including Ruby) should bail out of it.
+ (see webkit.org/b/143145)
+
+ Test: fast/ruby/ruby-inline-margin-collapse-crash.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::isAnonymousInlineBlock):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isAnonymousInlineBlock): Deleted.
+
2016-01-05 Pranjal Jumde <[email protected]>
Image should not be re-registered if m_form already exists. This leads to an assertion failure.
Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/RenderObject.cpp (195207 => 195208)
--- releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/RenderObject.cpp 2016-01-18 12:18:35 UTC (rev 195207)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/RenderObject.cpp 2016-01-18 12:52:33 UTC (rev 195208)
@@ -56,6 +56,7 @@
#include "RenderMultiColumnFlowThread.h"
#include "RenderNamedFlowFragment.h"
#include "RenderNamedFlowThread.h"
+#include "RenderRuby.h"
#include "RenderSVGResourceContainer.h"
#include "RenderScrollbarPart.h"
#include "RenderTheme.h"
@@ -1700,6 +1701,11 @@
return hasLayer() && downcast<RenderLayerModelObject>(*this).layer()->isComposited();
}
+bool RenderObject::isAnonymousInlineBlock() const
+{
+ return isAnonymous() && style().display() == INLINE_BLOCK && style().styleType() == NOPSEUDO && isRenderBlockFlow() && !isRubyRun() && !isRubyBase() && !isRuby(parent());
+}
+
bool RenderObject::hitTest(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestFilter hitTestFilter)
{
bool inside = false;
Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/RenderObject.h (195207 => 195208)
--- releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/RenderObject.h 2016-01-18 12:18:35 UTC (rev 195207)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/rendering/RenderObject.h 2016-01-18 12:52:33 UTC (rev 195208)
@@ -490,11 +490,7 @@
#endif
;
}
- bool isAnonymousInlineBlock() const
- {
- return isAnonymous() && style().display() == INLINE_BLOCK && style().styleType() == NOPSEUDO && isRenderBlockFlow() && !isRubyRun() && !isRubyBase();
- }
-
+ bool isAnonymousInlineBlock() const;
bool isElementContinuation() const { return node() && node()->renderer() != this; }
bool isInlineElementContinuation() const { return isElementContinuation() && isInline(); }
bool isBlockElementContinuation() const { return isElementContinuation() && !isInline(); }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes