From fd3fb159ca7e3d0431e5297141c7fbcd3b04ad79 Mon Sep 17 00:00:00 2001 From: Artem Lavrov Date: Tue, 8 Feb 2022 11:56:37 +0300 Subject: [PATCH] fix `script in svg` (close #2735) (#2736) --- .../dom-processor/client-dom-adapter.ts | 4 ++-- test/client/fixtures/utils/dom-test.js | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/client/dom-processor/client-dom-adapter.ts b/src/client/dom-processor/client-dom-adapter.ts index 960d70896..034d238bc 100644 --- a/src/client/dom-processor/client-dom-adapter.ts +++ b/src/client/dom-processor/client-dom-adapter.ts @@ -51,11 +51,11 @@ export default class ClientDomAdapter extends BaseDomAdapter { } setScriptContent (script: HTMLElement, content: string): void { - nativeMethods.scriptTextSetter.call(script, content); + nativeMethods.nodeTextContentSetter.call(script, content); } getScriptContent (script: HTMLElement) { - return nativeMethods.scriptTextGetter.call(script); + return nativeMethods.nodeTextContentGetter.call(script); } getStyleContent (style: HTMLElement) { diff --git a/test/client/fixtures/utils/dom-test.js b/test/client/fixtures/utils/dom-test.js index c280d8371..c92a90cc8 100644 --- a/test/client/fixtures/utils/dom-test.js +++ b/test/client/fixtures/utils/dom-test.js @@ -1165,3 +1165,24 @@ test('hammerhead should use the native classList getter in addClass, removeClass Object.defineProperty(window[elementClassListPropOwnerName], 'classList', storedСlassListDescriptor); }); + +test('should not throw an error when process a script inside the svg (GH-2735)', function () { + var div = document.createElement('div'); + + document.body.appendChild(div); + + div.innerHTML = [ + '', + '', + '', + ' ' + ].join('\n'); + + ok(true); + + document.body.removeChild(div); +});