File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -53,7 +53,7 @@ class HTMLDocument extends Document {
5353 get head ( ) {
5454 const { documentElement} = this ;
5555 let { firstElementChild} = documentElement ;
56- if ( ! firstElementChild ) {
56+ if ( ! firstElementChild || firstElementChild . tagName !== 'HEAD' ) {
5757 firstElementChild = this . createElement ( 'head' ) ;
5858 documentElement . prepend ( firstElementChild ) ;
5959 }
@@ -66,7 +66,7 @@ class HTMLDocument extends Document {
6666 get body ( ) {
6767 const { head} = this ;
6868 let { nextElementSibling} = head ;
69- if ( ! nextElementSibling ) {
69+ if ( ! nextElementSibling || nextElementSibling . tagName !== 'BODY' ) {
7070 nextElementSibling = this . createElement ( 'body' ) ;
7171 head . after ( nextElementSibling ) ;
7272 }
Original file line number Diff line number Diff line change @@ -52,7 +52,7 @@ export class HTMLDocument extends Document {
5252 get head ( ) {
5353 const { documentElement} = this ;
5454 let { firstElementChild} = documentElement ;
55- if ( ! firstElementChild ) {
55+ if ( ! firstElementChild || firstElementChild . tagName !== 'HEAD' ) {
5656 firstElementChild = this . createElement ( 'head' ) ;
5757 documentElement . prepend ( firstElementChild ) ;
5858 }
@@ -65,7 +65,7 @@ export class HTMLDocument extends Document {
6565 get body ( ) {
6666 const { head} = this ;
6767 let { nextElementSibling} = head ;
68- if ( ! nextElementSibling ) {
68+ if ( ! nextElementSibling || nextElementSibling . tagName !== 'BODY' ) {
6969 nextElementSibling = this . createElement ( 'body' ) ;
7070 head . after ( nextElementSibling ) ;
7171 }
Original file line number Diff line number Diff line change @@ -64,3 +64,5 @@ window.addEventListener = window.removeEventListener = window.dispatchEvent = nu
6464assert ( window . addEventListener , null ) ;
6565
6666assert ( typeof window . performance . now ( ) , 'number' ) ;
67+
68+ assert ( parseHTML ( '<html><body><div>asdf</div></body></html>' ) . document . body . outerHTML , '<body><div>asdf</div></body>' ) ;
Original file line number Diff line number Diff line change @@ -16711,7 +16711,7 @@ class HTMLDocument extends Document$1 {
1671116711 get head() {
1671216712 const {documentElement} = this;
1671316713 let {firstElementChild} = documentElement;
16714- if (!firstElementChild) {
16714+ if (!firstElementChild || firstElementChild.tagName !== 'HEAD' ) {
1671516715 firstElementChild = this.createElement('head');
1671616716 documentElement.prepend(firstElementChild);
1671716717 }
@@ -16724,7 +16724,7 @@ class HTMLDocument extends Document$1 {
1672416724 get body() {
1672516725 const {head} = this;
1672616726 let {nextElementSibling} = head;
16727- if (!nextElementSibling) {
16727+ if (!nextElementSibling || nextElementSibling.tagName !== 'BODY' ) {
1672816728 nextElementSibling = this.createElement('body');
1672916729 head.after(nextElementSibling);
1673016730 }
You can’t perform that action at this time.
0 commit comments