[This is a follow up on the fix for bug 13603] It would be nice to refrain from creating additional empty residual style tags when recovering from parsing errors, for example <i><div></i></div> parses into <i></i><div><i></i></div>, and with n block-level tags in between you get n extra empty <i>s. Note, however, that this behavior conforms to the HTML5 spec.
Maybe the spec should change on this (if you think so, please send mail if you haven't already).
Bug 15056 is about eliminating the innermost empty inline (which even by the current spec shouldn't exist).
We're matching the HTML5 spec here. If the spec changes, we can consider this change.