Diff
Modified: trunk/LayoutTests/ChangeLog (172504 => 172505)
--- trunk/LayoutTests/ChangeLog 2014-08-12 23:13:18 UTC (rev 172504)
+++ trunk/LayoutTests/ChangeLog 2014-08-12 23:15:00 UTC (rev 172505)
@@ -1,3 +1,17 @@
+2014-08-12 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r172494.
+ https://bugs.webkit.org/show_bug.cgi?id=135864
+
+ asserting on bots (Requested by kling on #webkit).
+
+ Reverted changeset:
+
+ "Don't recurse into non-rendered subtrees when computing
+ style"
+ https://bugs.webkit.org/show_bug.cgi?id=135844
+ http://trac.webkit.org/changeset/172494
+
2014-08-12 Myles C. Maxfield <[email protected]>
Fonts forced to use non synthetic italics might be laid out with the incorrect baseline
Modified: trunk/LayoutTests/http/tests/security/video-poster-cross-origin-crash-expected.txt (172504 => 172505)
--- trunk/LayoutTests/http/tests/security/video-poster-cross-origin-crash-expected.txt 2014-08-12 23:13:18 UTC (rev 172504)
+++ trunk/LayoutTests/http/tests/security/video-poster-cross-origin-crash-expected.txt 2014-08-12 23:15:00 UTC (rev 172505)
@@ -1,2 +1,3 @@
CONSOLE MESSAGE: Cross-origin image load denied by Cross-Origin Resource Sharing policy.
+CONSOLE MESSAGE: Cross-origin image load denied by Cross-Origin Resource Sharing policy.
>>>
Modified: trunk/LayoutTests/platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt (172504 => 172505)
--- trunk/LayoutTests/platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt 2014-08-12 23:13:18 UTC (rev 172504)
+++ trunk/LayoutTests/platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt 2014-08-12 23:15:00 UTC (rev 172505)
@@ -4,7 +4,7 @@
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
RenderBlock {SUMMARY} at (0,0) size 784x184
- RenderInline {I} at (0,0) size 604x18
+ RenderInline {I} at (0,0) size 304x18
RenderRuby (inline) {RUBY} at (0,0) size 300x18
RenderRubyRun (anonymous) at (0,171) size 0x0
RenderRubyText {RT} at (0,0) size 0x0
@@ -20,7 +20,7 @@
RenderBlock {DIV} at (0,150) size 300x-8
RenderText {#text} at (300,157) size 4x18
text run at (300,157) width 4: " "
- RenderEmbeddedObject {OBJECT} at (304,21) size 300x150
+ RenderEmbeddedObject {OBJECT} at (304,21) size 300x150
RenderText {#text} at (0,0) size 0x0
RenderBlock {DIV} at (0,184) size 784x18
RenderInline {A} at (0,0) size 138x18 [color=#0000EE]
@@ -29,4 +29,4 @@
RenderText {#text} at (138,0) size 455x18
text run at (138,0) width 455: ". This test must be run under Guard Malloc. It passes if it does not crash."
selection start: position 0 of child 1 {OBJECT} of child 3 {H1} of child 0 {RUBY} of child 1 {I} of child 0 {SUMMARY} of body
-selection end: position 1 of child 2 {OBJECT} of child 1 {I} of child 0 {SUMMARY} of body
+selection end: position 0 of child 3 {#text} of child 0 {SUMMARY} of body
Modified: trunk/Source/WebCore/ChangeLog (172504 => 172505)
--- trunk/Source/WebCore/ChangeLog 2014-08-12 23:13:18 UTC (rev 172504)
+++ trunk/Source/WebCore/ChangeLog 2014-08-12 23:15:00 UTC (rev 172505)
@@ -1,3 +1,17 @@
+2014-08-12 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r172494.
+ https://bugs.webkit.org/show_bug.cgi?id=135864
+
+ asserting on bots (Requested by kling on #webkit).
+
+ Reverted changeset:
+
+ "Don't recurse into non-rendered subtrees when computing
+ style"
+ https://bugs.webkit.org/show_bug.cgi?id=135844
+ http://trac.webkit.org/changeset/172494
+
2014-08-12 Myles C. Maxfield <[email protected]>
Fonts forced to use non synthetic italics might be laid out with the incorrect baseline
Modified: trunk/Source/WebCore/style/StyleResolveTree.cpp (172504 => 172505)
--- trunk/Source/WebCore/style/StyleResolveTree.cpp 2014-08-12 23:13:18 UTC (rev 172504)
+++ trunk/Source/WebCore/style/StyleResolveTree.cpp 2014-08-12 23:15:00 UTC (rev 172505)
@@ -555,27 +555,6 @@
current.clearAfterPseudoElement();
}
-static void resetStyleForNonRenderedDescendants(Element& current)
-{
- ASSERT(!current.renderStyle());
- auto descendants = descendantsOfType<Element>(current);
- auto it = descendants.begin();
- auto end = descendants.end();
- while (it != end) {
- auto& element = *it;
- ASSERT(!element.renderStyle());
- if (element.needsStyleRecalc()) {
- element.resetComputedStyle();
- element.clearNeedsStyleRecalc();
- }
- if (element.childNeedsStyleRecalc()) {
- element.clearChildNeedsStyleRecalc();
- it.traverseNext();
- } else
- it.traverseNextSkippingChildren();
- }
-}
-
static bool needsPseudoElement(Element& current, PseudoId pseudoId)
{
if (!current.document().styleSheetCollection().usesBeforeAfterRules())
@@ -603,41 +582,36 @@
PostResolutionCallbackDisabler callbackDisabler(current.document());
WidgetHierarchyUpdatesSuspensionScope suspendWidgetHierarchyUpdates;
- if (isInsertionPoint(current)) {
- attachDistributedChildren(toInsertionPoint(current), inheritedStyle, renderTreePosition);
- return;
- }
-
if (current.hasCustomStyleResolveCallbacks())
current.willAttachRenderers();
createRendererIfNeeded(current, inheritedStyle, renderTreePosition, resolvedStyle);
- if (RenderStyle* style = current.renderStyle()) {
- StyleResolverParentPusher parentPusher(¤t);
+ StyleResolverParentPusher parentPusher(¤t);
- RenderTreePosition childRenderTreePosition(current.renderer());
- attachBeforeOrAfterPseudoElementIfNeeded(current, BEFORE, childRenderTreePosition);
+ RenderTreePosition childRenderTreePosition(current.renderer());
+ attachBeforeOrAfterPseudoElementIfNeeded(current, BEFORE, childRenderTreePosition);
- if (ShadowRoot* shadowRoot = current.shadowRoot()) {
- parentPusher.push();
- attachShadowRoot(*shadowRoot);
- } else if (current.firstChild())
- parentPusher.push();
+ if (ShadowRoot* shadowRoot = current.shadowRoot()) {
+ parentPusher.push();
+ attachShadowRoot(*shadowRoot);
+ } else if (current.firstChild())
+ parentPusher.push();
- attachChildren(current, style, childRenderTreePosition);
+ if (isInsertionPoint(current))
+ attachDistributedChildren(toInsertionPoint(current), inheritedStyle, renderTreePosition);
+ else
+ attachChildren(current, current.renderStyle(), childRenderTreePosition);
- if (AXObjectCache* cache = current.document().axObjectCache())
- cache->updateCacheAfterNodeIsAttached(¤t);
+ current.clearNeedsStyleRecalc();
+ current.clearChildNeedsStyleRecalc();
- attachBeforeOrAfterPseudoElementIfNeeded(current, AFTER, childRenderTreePosition);
+ if (AXObjectCache* cache = current.document().axObjectCache())
+ cache->updateCacheAfterNodeIsAttached(¤t);
- current.updateFocusAppearanceAfterAttachIfNeeded();
- } else
- resetStyleForNonRenderedDescendants(current);
+ attachBeforeOrAfterPseudoElementIfNeeded(current, AFTER, childRenderTreePosition);
- current.clearNeedsStyleRecalc();
- current.clearChildNeedsStyleRecalc();
+ current.updateFocusAppearanceAfterAttachIfNeeded();
if (current.hasCustomStyleResolveCallbacks())
current.didAttachRenderers();
@@ -910,9 +884,7 @@
if (inheritedStyle && (change >= Inherit || current.needsStyleRecalc()))
change = resolveLocal(current, inheritedStyle, renderTreePosition, change);
- RenderStyle* style = current.renderStyle();
-
- if (change != Detach && style) {
+ if (change != Detach) {
StyleResolverParentPusher parentPusher(¤t);
if (ShadowRoot* shadowRoot = current.shadowRoot()) {
@@ -945,7 +917,7 @@
childElement->setNeedsStyleRecalc();
if (change >= Inherit || childElement->childNeedsStyleRecalc() || childElement->needsStyleRecalc()) {
parentPusher.push();
- resolveTree(*childElement, style, childRenderTreePosition, change);
+ resolveTree(*childElement, current.renderStyle(), childRenderTreePosition, change);
}
forceCheckOfNextElementSibling = childRulesChanged && hasDirectAdjacentRules;
forceCheckOfAnyElementSibling = forceCheckOfAnyElementSibling || (childRulesChanged && hasIndirectAdjacentRules);
@@ -953,8 +925,6 @@
updateBeforeOrAfterPseudoElement(current, change, AFTER, childRenderTreePosition);
}
- if (change != Detach && !style)
- resetStyleForNonRenderedDescendants(current);
current.clearNeedsStyleRecalc();
current.clearChildNeedsStyleRecalc();