happy-dom 20.3.4 → 20.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFrameURL.d.ts","sourceRoot":"","sources":["../../../src/browser/utilities/BrowserFrameURL.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IACnC;;;;;;OAMG;WACW,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG;CAalF"}
1
+ {"version":3,"file":"BrowserFrameURL.d.ts","sourceRoot":"","sources":["../../../src/browser/utilities/BrowserFrameURL.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IACnC;;;;;;OAMG;WACW,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG;CAclF"}
@@ -1,4 +1,5 @@
1
1
  import { URL } from 'url';
2
+ import * as PropertySymbol from '../../PropertySymbol.js';
2
3
  /**
3
4
  * Browser frame URL utility.
4
5
  */
@@ -16,7 +17,8 @@ export default class BrowserFrameURL {
16
17
  return new URL(url);
17
18
  }
18
19
  try {
19
- return new URL(url, frame.window.location.href);
20
+ // Use internal PropertySymbol.location to avoid being affected by mocks on window.location
21
+ return new URL(url, frame.window[PropertySymbol.location].href);
20
22
  }
21
23
  catch (e) {
22
24
  return new URL('about:blank');
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFrameURL.js","sourceRoot":"","sources":["../../../src/browser/utilities/BrowserFrameURL.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IACnC;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,CAAC,KAAoB,EAAE,GAAyB;QAC3E,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAExC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,CAAC;YACJ,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"BrowserFrameURL.js","sourceRoot":"","sources":["../../../src/browser/utilities/BrowserFrameURL.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IACnC;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,CAAC,KAAoB,EAAE,GAAyB;QAC3E,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAExC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,CAAC;YACJ,2FAA2F;YAC3F,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;CACD"}
@@ -11,13 +11,13 @@ export default class CookieURLUtility {
11
11
  * @returns "true" if cookie matches URL.
12
12
  */
13
13
  static cookieMatchesURL(cookie, url) {
14
- const isLocalhost = url.hostname === 'localhost' || url.hostname.endsWith('.localhost');
14
+ const isLocalhost = url.hostname === 'localhost' || url.hostname?.endsWith('.localhost');
15
15
  return ((!cookie.secure || url.protocol === 'https:' || isLocalhost) &&
16
- (!cookie.domain || url.hostname.endsWith(cookie.domain)) &&
17
- (!cookie.path || url.pathname.startsWith(cookie.path)) &&
16
+ (!cookie.domain || url.hostname?.endsWith(cookie.domain)) &&
17
+ (!cookie.path || url.pathname?.startsWith(cookie.path)) &&
18
18
  // @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
19
19
  ((cookie.sameSite === CookieSameSiteEnum.none && cookie.secure) ||
20
- cookie.originURL.hostname === url.hostname));
20
+ cookie.originURL?.hostname === url.hostname));
21
21
  }
22
22
  }
23
23
  //# sourceMappingURL=CookieURLUtility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CookieURLUtility.js","sourceRoot":"","sources":["../../../src/cookie/urilities/CookieURLUtility.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAIhE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACpC;;;;;;OAMG;IACI,MAAM,CAAC,gBAAgB,CAAC,MAAe,EAAE,GAAQ;QACvD,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACxF,OAAO,CACN,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,WAAW,CAAC;YAC5D,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtD,mGAAmG;YACnG,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC;gBAC9D,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,CAAC,CAC5C,CAAC;IACH,CAAC;CACD"}
1
+ {"version":3,"file":"CookieURLUtility.js","sourceRoot":"","sources":["../../../src/cookie/urilities/CookieURLUtility.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAIhE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACpC;;;;;;OAMG;IACI,MAAM,CAAC,gBAAgB,CAAC,MAAe,EAAE,GAAQ;QACvD,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzF,OAAO,CACN,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,WAAW,CAAC;YAC5D,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,mGAAmG;YACnG,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC;gBAC9D,MAAM,CAAC,SAAS,EAAE,QAAQ,KAAK,GAAG,CAAC,QAAQ,CAAC,CAC7C,CAAC;IACH,CAAC;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLDetailsElement.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-details-element/HTMLDetailsElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAC1D,OAAO,IAAI,MAAM,iBAAiB,CAAC;AAMnC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IAK1D,IAAW,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAErD;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,EAEzD;IAID;;OAEG;IACH,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,IAAI,EAAE,OAAO,EAM5B;IAED;;OAEG;IACa,CAAC,cAAc,CAAC,cAAc,CAAC,CAC9C,SAAS,EAAE,IAAI,EACf,iBAAiB,EAAE,IAAI,GAAG,IAAI,GAC5B,IAAI;IASP;;OAEG;IACa,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,IAAI,GAAG,IAAI;IAOhF;;OAEG;IACa,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;CAepD"}
1
+ {"version":3,"file":"HTMLDetailsElement.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-details-element/HTMLDetailsElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAC1D,OAAO,IAAI,MAAM,iBAAiB,CAAC;AAMnC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IAK1D,IAAW,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAErD;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,EAEzD;IAID;;OAEG;IACH,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,IAAI,EAAE,OAAO,EAM5B;IAED;;OAEG;IACa,CAAC,cAAc,CAAC,cAAc,CAAC,CAC9C,SAAS,EAAE,IAAI,EACf,iBAAiB,EAAE,IAAI,GAAG,IAAI,GAC5B,IAAI;IASP;;OAEG;IACa,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,IAAI,GAAG,IAAI;IAOhF;;OAEG;IACa,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;CAkCpD"}
@@ -64,11 +64,28 @@ export default class HTMLDetailsElement extends HTMLElement {
64
64
  dispatchEvent(event) {
65
65
  const returnValue = super.dispatchEvent(event);
66
66
  if (!event[PropertySymbol.defaultPrevented] &&
67
- event[PropertySymbol.target]?.[PropertySymbol.localName] === 'summary' &&
68
67
  event.type === 'click' &&
69
68
  event.eventPhase === EventPhaseEnum.bubbling &&
70
69
  event instanceof MouseEvent) {
71
- this.open = !this.open;
70
+ const target = event[PropertySymbol.target];
71
+ if (target) {
72
+ if (target[PropertySymbol.localName] === 'summary' &&
73
+ target[PropertySymbol.parentNode] === this) {
74
+ this.open = !this.open;
75
+ }
76
+ else {
77
+ let summaryElement = target;
78
+ for (const element of this[PropertySymbol.elementArray]) {
79
+ if (element[PropertySymbol.localName] === 'summary') {
80
+ summaryElement = element;
81
+ break;
82
+ }
83
+ }
84
+ if (summaryElement && summaryElement.contains(target)) {
85
+ this.open = !this.open;
86
+ }
87
+ }
88
+ }
72
89
  }
73
90
  return returnValue;
74
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLDetailsElement.js","sourceRoot":"","sources":["../../../src/nodes/html-details-element/HTMLDetailsElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAE1D,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,4BAA4B,MAAM,4CAA4C,CAAC;AAGtF;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IAC1D,SAAS;IAET,wCAAwC;IAExC,IAAW,QAAQ;QAClB,OAAO,4BAA4B,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,IAAW,QAAQ,CAAC,KAAsC;QACzD,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,uCAAuC;IAEvC;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,IAAa;QAC5B,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IAED;;OAEG;IACa,CAAC,cAAc,CAAC,cAAc,CAAC,CAC9C,SAAe,EACf,iBAA8B;QAE9B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACnE,IAAI,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;YAC/C,IAAI,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,iBAAiB,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnF,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACa,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,gBAAsB;QACxE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;YAC1E,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED;;OAEG;IACa,aAAa,CAAC,KAAY;QACzC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE/C,IACC,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC;YACtB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,SAAS;YACxF,KAAK,CAAC,IAAI,KAAK,OAAO;YACtB,KAAK,CAAC,UAAU,KAAK,cAAc,CAAC,QAAQ;YAC5C,KAAK,YAAY,UAAU,EAC1B,CAAC;YACF,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,CAAC;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;CACD"}
1
+ {"version":3,"file":"HTMLDetailsElement.js","sourceRoot":"","sources":["../../../src/nodes/html-details-element/HTMLDetailsElement.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeUtility.d.ts","sourceRoot":"","sources":["../../../src/nodes/node/NodeUtility.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,iBAAiB,CAAC;AAGnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAM5C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC/B;;;;;OAKG;WACW,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI;IAIzD;;;;;;;;;;;OAWG;WACW,mBAAmB,CAChC,YAAY,EAAE,IAAI,GAAG,IAAI,EACzB,aAAa,EAAE,IAAI,GAAG,IAAI,EAC1B,kBAAkB,UAAQ,GACxB,OAAO;IA6CV;;;;;;;;;;OAUG;WACW,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO;IAkB5D;;;;;;;;;OASG;WACW,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAe/C;;;;;;;;;OASG;WACW,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;IA0B7D;;;;;OAKG;WACW,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;IAYhE;;;;;OAKG;WACW,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IA0BhF;;;;;;OAMG;WACW,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO;CA4F5D"}
1
+ {"version":3,"file":"NodeUtility.d.ts","sourceRoot":"","sources":["../../../src/nodes/node/NodeUtility.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,iBAAiB,CAAC;AAGnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAM5C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC/B;;;;;OAKG;WACW,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI;IAIzD;;;;;;;;;;;OAWG;WACW,mBAAmB,CAChC,YAAY,EAAE,IAAI,GAAG,IAAI,EACzB,aAAa,EAAE,IAAI,GAAG,IAAI,EAC1B,kBAAkB,UAAQ,GACxB,OAAO;IAiDV;;;;;;;;;;OAUG;WACW,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO;IAkB5D;;;;;;;;;OASG;WACW,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAe/C;;;;;;;;;OASG;WACW,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;IA0B7D;;;;;OAKG;WACW,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;IAYhE;;;;;OAKG;WACW,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IA0BhF;;;;;;OAMG;WACW,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO;CA4F5D"}
@@ -49,6 +49,9 @@ export default class NodeUtility {
49
49
  if (ancestorNode === parent) {
50
50
  return true;
51
51
  }
52
+ if (ancestorNode[PropertySymbol.parentNode] === parent[PropertySymbol.parentNode]) {
53
+ return false;
54
+ }
52
55
  parent = parent[PropertySymbol.parentNode]
53
56
  ? parent[PropertySymbol.parentNode]
54
57
  : includeShadowRoots && parent.host
@@ -1 +1 @@
1
- {"version":3,"file":"NodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/node/NodeUtility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/node/NodeUtility.ts"],"names":[],"mappings":"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"}
package/lib/version.js CHANGED
@@ -1 +1 @@
1
- export default { version: '20.3.4' };
1
+ export default { version: '20.3.6' };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "20.3.4",
3
+ "version": "20.3.6",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -41,10 +41,10 @@
41
41
  "ws": "^8.18.3"
42
42
  },
43
43
  "devDependencies": {
44
- "@vitest/ui": "^3.2.3",
44
+ "@vitest/ui": "^4.0.16",
45
45
  "@webref/css": "6.6.2",
46
46
  "typescript": "^5.8.3",
47
- "vitest": "^3.2.2"
47
+ "vitest": "^4.0.16"
48
48
  },
49
49
  "engines": {
50
50
  "node": ">=20.0.0"
@@ -1,5 +1,6 @@
1
1
  import IBrowserFrame from '../types/IBrowserFrame.js';
2
2
  import { URL } from 'url';
3
+ import * as PropertySymbol from '../../PropertySymbol.js';
3
4
 
4
5
  /**
5
6
  * Browser frame URL utility.
@@ -20,7 +21,8 @@ export default class BrowserFrameURL {
20
21
  }
21
22
 
22
23
  try {
23
- return new URL(url, frame.window.location.href);
24
+ // Use internal PropertySymbol.location to avoid being affected by mocks on window.location
25
+ return new URL(url, frame.window[PropertySymbol.location].href);
24
26
  } catch (e) {
25
27
  return new URL('about:blank');
26
28
  }
@@ -14,14 +14,14 @@ export default class CookieURLUtility {
14
14
  * @returns "true" if cookie matches URL.
15
15
  */
16
16
  public static cookieMatchesURL(cookie: ICookie, url: URL): boolean {
17
- const isLocalhost = url.hostname === 'localhost' || url.hostname.endsWith('.localhost');
17
+ const isLocalhost = url.hostname === 'localhost' || url.hostname?.endsWith('.localhost');
18
18
  return (
19
19
  (!cookie.secure || url.protocol === 'https:' || isLocalhost) &&
20
- (!cookie.domain || url.hostname.endsWith(cookie.domain)) &&
21
- (!cookie.path || url.pathname.startsWith(cookie.path)) &&
20
+ (!cookie.domain || url.hostname?.endsWith(cookie.domain)) &&
21
+ (!cookie.path || url.pathname?.startsWith(cookie.path)) &&
22
22
  // @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
23
23
  ((cookie.sameSite === CookieSameSiteEnum.none && cookie.secure) ||
24
- cookie.originURL.hostname === url.hostname)
24
+ cookie.originURL?.hostname === url.hostname)
25
25
  );
26
26
  }
27
27
  }
@@ -80,12 +80,31 @@ export default class HTMLDetailsElement extends HTMLElement {
80
80
 
81
81
  if (
82
82
  !event[PropertySymbol.defaultPrevented] &&
83
- (<Element | null>event[PropertySymbol.target])?.[PropertySymbol.localName] === 'summary' &&
84
83
  event.type === 'click' &&
85
84
  event.eventPhase === EventPhaseEnum.bubbling &&
86
85
  event instanceof MouseEvent
87
86
  ) {
88
- this.open = !this.open;
87
+ const target = <Element | null>event[PropertySymbol.target];
88
+
89
+ if (target) {
90
+ if (
91
+ target[PropertySymbol.localName] === 'summary' &&
92
+ target[PropertySymbol.parentNode] === this
93
+ ) {
94
+ this.open = !this.open;
95
+ } else {
96
+ let summaryElement: Element | null = target;
97
+ for (const element of this[PropertySymbol.elementArray]) {
98
+ if (element[PropertySymbol.localName] === 'summary') {
99
+ summaryElement = element;
100
+ break;
101
+ }
102
+ }
103
+ if (summaryElement && summaryElement.contains(target)) {
104
+ this.open = !this.open;
105
+ }
106
+ }
107
+ }
89
108
  }
90
109
 
91
110
  return returnValue;
@@ -74,6 +74,10 @@ export default class NodeUtility {
74
74
  return true;
75
75
  }
76
76
 
77
+ if (ancestorNode[PropertySymbol.parentNode] === parent[PropertySymbol.parentNode]) {
78
+ return false;
79
+ }
80
+
77
81
  parent = parent[PropertySymbol.parentNode]
78
82
  ? parent[PropertySymbol.parentNode]
79
83
  : includeShadowRoots && (<ShadowRoot>parent).host