/mod/lti/view.php contains markup that overrides settings of the current pagelayout and theme which cause the page to display incorrectly depending on the display type that the user selects.
- setting body overflow:hidden
- adding padding to the object bottom
steps to reproduce:
- create an external tool instance with "embed (no blocks)" or "embed (with blocks)" set as the display type
- save and display
results: depending on the viewport height and the height of the header/breadcrumb of the current theme, the object frame is cut off on the bottom of the viewport (because the object is hard-coded to 600px high). In addition the blocks on the page are hidden due to the overflow value.
There are multiple things that need to be addressed here:
- I believe that this overflow:hidden can be entirely removed and the pagelayout itself should handle how the page is output - just because there's no footer (site footer) doesn't mean there's nothing below (like overflowed object container)
- The code adds padding below the object via JS because "the bottom of the object wasn't visible in some themes"
- The real issue is the body overflow:hidden, not padding/borders, etc... this again can be removed
- Again if this can't be removed it should be moved to styles.css
- This should be done by placing the object in a relative position in a container div so that the object height can be set to 100% and the container can control the height relative to the viewport or page height