Bartosz Dziewoński <> changed:

           What    |Removed                     |Added
                 CC|                            |

--- Comment #5 from Bartosz Dziewoński <> ---
Alex's diagnosis looks correct. The <html> and <body> elements on the inner
frame do actually have a height of 0px, because all of their children are (in
this particular example, this might not always be the case) absolutely

Setting their height to 100% in CSS makes <html> span the entire height of its
docment (the iframe one in this case) and <body> the entire height of the
<html>, solving the issue.

Normally the styles set in the outer document do not apply to documents in
<iframe>s, but the OO.ui.Frame.static.transplantStyles method copies them when
the frame is created.

Since OOjs UI definitely shouldn't depend on `html, body { height: 100% }`
being present in page's CSS, I see two solutions to this (someone more
knowledgeable about the structure of OOjs should decide which one is saner, or
some up with a better one):

* Make OO.ui.Frame.static.transplantStyles set <html>'s and <body>'s height
  to 100%. This would be trivial to do but feel hacky to me.

* Use this.$clippableWindow instead of this.$clippableContainer in
  OO.ui.ClippableElement.prototype.clip when measuring heights, or just pass
  the window as the container to the constructor in these particular cases.
  This may or may not be a good idea.

You are receiving this mail because:
You are on the CC list for the bug.
Wikibugs-l mailing list

Reply via email to