webContents: provide responses for executeJavscript method

This commit is contained in:
Robo 2016-02-17 22:33:27 +05:30
parent d00490271b
commit 2b547bd44a
9 changed files with 113 additions and 13 deletions

View file

@ -307,7 +307,7 @@ var registerBrowserPluginElement = function() {
// Registers <webview> custom element.
var registerWebViewElement = function() {
var createBlockHandler, createNonBlockHandler, i, j, len, len1, m, methods, nonblockMethods, proto;
var createBlockHandler, createNonBlockHandler, i, j, len, len1, m, methods, nonblockMethods, webFrameMethods, proto;
proto = Object.create(HTMLObjectElement.prototype);
proto.createdCallback = function() {
return new WebViewImpl(this);
@ -391,14 +391,16 @@ var registerWebViewElement = function() {
'printToPDF',
];
nonblockMethods = [
'executeJavaScript',
'insertCSS',
'insertText',
'send',
'sendInputEvent',
'sendInputEvent'
];
webFrameMethods = [
'executeJavaScript',
'insertText',
'setZoomFactor',
'setZoomLevel',
'setZoomLevelLimits',
'setZoomLevelLimits'
];
// Forward proto.foo* method calls to WebViewImpl.foo*.
@ -430,6 +432,11 @@ var registerWebViewElement = function() {
proto[m] = createNonBlockHandler(m);
}
// Forward proto.foo* webframe method calls to WebFrame.foo*.
for (let method of webFrameMethods) {
proto[method] = webFrame[method].bind(webFrame);
}
// WebContents associated with this webview.
proto.getWebContents = function() {
var internal = v8Util.getHiddenValue(this, 'internal');