From c9e80c7e5c1558445c3bf1cc967c7128c8052340 Mon Sep 17 00:00:00 2001
From: Daniel Holbert
Date: Thu, 11 Oct 2012 18:41:05 -0700
Subject: [PATCH] Bug 799647 part 1: Use style-context parent instead of frame
parent when resolving "align-self:auto" on a flex item. r=dbaron
---
layout/generic/nsFlexContainerFrame.cpp | 3 +-
...xbox-align-self-baseline-horiz-1-ref.xhtml | 4 --
.../flexbox-align-self-baseline-horiz-1.xhtml | 4 --
...xbox-align-self-baseline-horiz-4-ref.xhtml | 38 +++++++++++++++++++
.../flexbox-align-self-baseline-horiz-4.xhtml | 37 ++++++++++++++++++
layout/reftests/flexbox/reftest.list | 5 +++
6 files changed, 82 insertions(+), 9 deletions(-)
create mode 100644 layout/reftests/flexbox/flexbox-align-self-baseline-horiz-4-ref.xhtml
create mode 100644 layout/reftests/flexbox/flexbox-align-self-baseline-horiz-4.xhtml
diff --git a/layout/generic/nsFlexContainerFrame.cpp b/layout/generic/nsFlexContainerFrame.cpp
index d04a26a0bba..e5770cc83e7 100644
--- a/layout/generic/nsFlexContainerFrame.cpp
+++ b/layout/generic/nsFlexContainerFrame.cpp
@@ -698,7 +698,8 @@ FlexItem::FlexItem(nsIFrame* aChildFrame,
// Resolve "align-self: auto" to parent's "align-items" value.
if (mAlignSelf == NS_STYLE_ALIGN_SELF_AUTO) {
- mAlignSelf = mFrame->GetParent()->GetStylePosition()->mAlignItems;
+ mAlignSelf =
+ mFrame->GetStyleContext()->GetParent()->GetStylePosition()->mAlignItems;
}
// If the flex item's inline axis is the same as the cross axis, then
diff --git a/layout/reftests/flexbox/flexbox-align-self-baseline-horiz-1-ref.xhtml b/layout/reftests/flexbox/flexbox-align-self-baseline-horiz-1-ref.xhtml
index 5e86a376a33..d7502e1c2e7 100644
--- a/layout/reftests/flexbox/flexbox-align-self-baseline-horiz-1-ref.xhtml
+++ b/layout/reftests/flexbox/flexbox-align-self-baseline-horiz-1-ref.xhtml
@@ -43,7 +43,6 @@
.orange { background: orange; }
.pink { background: pink; }
.aqua { background: aqua; }
- .violet { background: violet; }
.tan { background: tan; }
@@ -56,9 +55,6 @@
>sub
diff --git a/layout/reftests/flexbox/flexbox-align-self-baseline-horiz-1.xhtml b/layout/reftests/flexbox/flexbox-align-self-baseline-horiz-1.xhtml
index 96c2b55a98c..7630e1b8d40 100644
--- a/layout/reftests/flexbox/flexbox-align-self-baseline-horiz-1.xhtml
+++ b/layout/reftests/flexbox/flexbox-align-self-baseline-horiz-1.xhtml
@@ -43,7 +43,6 @@
.orange { background: orange; }
.pink { background: pink; }
.aqua { background: aqua; }
- .violet { background: violet; }
.tan { background: tan; }
@@ -54,9 +53,6 @@
super
sub
big
text
3lines
-
ital
ic
+
+
diff --git a/layout/reftests/flexbox/flexbox-align-self-baseline-horiz-4-ref.xhtml b/layout/reftests/flexbox/flexbox-align-self-baseline-horiz-4-ref.xhtml
new file mode 100644
index 00000000000..867fa4cfc82
--- /dev/null
+++ b/layout/reftests/flexbox/flexbox-align-self-baseline-horiz-4-ref.xhtml
@@ -0,0 +1,38 @@
+
+
+
+
+