newList.listNode.replace( groupObj.root );\r
}\r
\r
+ var headerTagRegex = /^h[1-6]$/;\r
+\r
function createList( editor, groupObj, listsCreated )\r
{\r
var contents = groupObj.contents,\r
{\r
var contentBlock = listContents.shift(),\r
listItem = doc.createElement( 'li' );\r
- contentBlock.moveChildren( listItem );\r
- contentBlock.remove();\r
+\r
+ // Preserve heading structure when converting to list item. (#5271)\r
+ if ( headerTagRegex.test( contentBlock.getName() ) )\r
+ contentBlock.appendTo( listItem );\r
+ else\r
+ {\r
+ contentBlock.copyAttributes( listItem );\r
+ contentBlock.moveChildren( listItem );\r
+ contentBlock.remove();\r
+ }\r
+\r
listItem.appendTo( listNode );\r
\r
// Append a bogus BR to force the LI to render at full height\r