Index: chrome/renderer/resources/extensions/app_custom_bindings.js |
diff --git a/chrome/renderer/resources/extensions/app_custom_bindings.js b/chrome/renderer/resources/extensions/app_custom_bindings.js |
index 4d58054b989b2a6b18d6ff555db9153abf1fe7c9..f1f4e5caa173035288732023dde67dc410092d8b 100644 |
--- a/chrome/renderer/resources/extensions/app_custom_bindings.js |
+++ b/chrome/renderer/resources/extensions/app_custom_bindings.js |
@@ -35,13 +35,21 @@ var app = { |
// |
// So, define it manually, and let the getIsInstalled function act as its |
// documentation. |
-app.__defineGetter__('isInstalled', wrapForLogging(appNatives.GetIsInstalled)); |
+var isInstalled = wrapForLogging(appNatives.GetIsInstalled); |
+$Object.defineProperty( |
+ app, 'isInstalled', |
+ { |
+ __proto__: null, |
+ configurable: true, |
+ enumerable: true, |
+ get: function() { return isInstalled(); }, |
+ }); |
// Called by app_bindings.cc. |
function onInstallStateResponse(state, callbackId) { |
var callback = callbacks[callbackId]; |
delete callbacks[callbackId]; |
- if (typeof(callback) == 'function') { |
+ if (typeof callback == 'function') { |
try { |
callback(state); |
} catch (e) { |
@@ -52,16 +60,24 @@ function onInstallStateResponse(state, callbackId) { |
} |
// TODO(kalman): move this stuff to its own custom bindings. |
-var callbacks = {}; |
+var callbacks = { __proto__: null }; |
var nextCallbackId = 1; |
-app.installState = function getInstallState(callback) { |
+function getInstallState(callback) { |
var callbackId = nextCallbackId++; |
callbacks[callbackId] = callback; |
appNatives.GetInstallState(callbackId); |
-}; |
-if (extensionId) |
- app.installState = wrapForLogging(app.installState); |
+} |
+ |
+var installState = wrapForLogging(getInstallState); |
+$Object.defineProperty( |
+ app, 'installState', |
+ { |
+ __proto__: null, |
+ configurable: true, |
+ enumerable: true, |
+ get: function() { return installState; }, |
jbroman
2017/05/08 14:25:25
This makes it an accessor property as opposed to a
Devlin
2017/05/11 14:30:38
Done.
|
+ }); |
exports.$set('binding', app); |
exports.$set('onInstallStateResponse', onInstallStateResponse); |