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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194638
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2016-01-06 Zalan Bujtas <zalan@apple.com>
+
+ 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-06 Andy VanWagoner <thetalecrafter@gmail.com>
[ES6] Date.prototype should be a plain object
--- /dev/null
+Pass if no crash or assert in debug.
--- /dev/null
+<script>
+ if (window.testRunner)
+ testRunner.dumpAsText();
+</script>
+<style>
+ ruby:after {
+ display: block;
+ content: "bar";
+ }
+</style>
+Pass if no crash or assert in debug.<ruby>
+2016-01-06 Zalan Bujtas <zalan@apple.com>
+
+ 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 Zalan Bujtas <zalan@apple.com>
showRenderTree: add inline-block/inline/block column.
#include "RenderMultiColumnFlowThread.h"
#include "RenderNamedFlowFragment.h"
#include "RenderNamedFlowThread.h"
+#include "RenderRuby.h"
#include "RenderSVGResourceContainer.h"
#include "RenderScrollbarPart.h"
#include "RenderTableRow.h"
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;
#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(); }