Bug 965030 - Pass the correct positioned frame to PushAbsoluteContainingBlock. r=roc

This commit is contained in:
Matt Woodrow 2014-01-30 18:40:23 +13:00
Родитель 11a504ae71
Коммит ff3e7f88a3
4 изменённых файлов: 15 добавлений и 1 удалений

Просмотреть файл

@ -3659,7 +3659,7 @@ nsCSSFrameConstructor::ConstructFrameFromItemInternal(FrameConstructionItem& aIt
(maybeAbsoluteContainingBlockDisplay->HasTransformStyle() &&
cb->IsFrameOfType(nsIFrame::eSupportsCSSTransforms))) &&
!cb->IsSVGText()) {
aState.PushAbsoluteContainingBlock(cb, primaryFrame, absoluteSaveState);
aState.PushAbsoluteContainingBlock(cb, cb, absoluteSaveState);
}
}

Просмотреть файл

@ -0,0 +1,9 @@
<!DOCTYPE html>
<div style="height: 100px">
</div>
<svg width="200" height="200" style="overflow: visible">
<foreignObject width="200" height="200">
<div id="x" style="position:fixed; top: 0; left: 0; width: 100px; height: 100px; background-color: red">
</div>
</foreignObject>
</svg>

Просмотреть файл

@ -0,0 +1,4 @@
<!DOCTYPE html>
<div style="height: 100px">
</div>
<div style="top: 100px; width: 100px; height: 100px; background-color:red"></div>

Просмотреть файл

@ -172,6 +172,7 @@ skip-if(B2G) == foreignObject-start-hidden-02.svg pass.svg
skip-if(B2G) == foreignObject-style-change-01.svg pass.svg
== foreignObject-dynamic-abspos-01.html foreignObject-dynamic-abspos-01-ref.html
fuzzy-if(Android,18,600) == foreignObject-fixedpos-01.html foreignObject-dynamic-abspos-01-ref.html
== foreignObject-fixedpos-02.html foreignObject-fixedpos-ref.html
== foreignObject-dynamic-fixedpos-01.html foreignObject-dynamic-abspos-01-ref.html
== g-transform-01.svg pass.svg
== getElementById-a-element-01.svg pass.svg