So I am creating a Chrome app with an embedded <webview>
element. The embedded webapp contains a lot of legacy code such as window.showModalDialog
calls (which Chrome no longer supports).
The thing I'm trying to do now is to polyfill those calls. I've created a simple test example:
<webview src="http://legacyCodeIsAwesome.com/" style="width:100%; height:100%"></webview>
Code operating on the webview element:
webview.addEventListener('contentload', function() {
webview.executeScript(
{
code: 'window.showModalDialog = function() { console.log ("Hello, world");}',
runAt: 'document_start'
}
);
});
The above code runs (adding a debug console.log
works), only it doesn't do what it's supposed to do, which is overwrite the showModalDialog
function.
Is there some sort of restriction on overwriting functions on the window
object in webviews? Is there a way around it?