| 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 1c8d1cbd98457f6870913fac5fe913956af9a80c..16db32de4bef9ee55cc8e62dd58e77b600e97cc4 100644
|
| --- a/chrome/renderer/resources/extensions/app_custom_bindings.js
|
| +++ b/chrome/renderer/resources/extensions/app_custom_bindings.js
|
| @@ -11,7 +11,8 @@ var app = {
|
| getIsInstalled: appNatives.GetIsInstalled,
|
| install: appNatives.Install,
|
| getDetails: appNatives.GetDetails,
|
| - getDetailsForFrame: appNatives.GetDetailsForFrame
|
| + getDetailsForFrame: appNatives.GetDetailsForFrame,
|
| + runningState: appNatives.GetRunningState
|
| };
|
|
|
| // Tricky; "getIsInstalled" is actually exposed as the getter "isInstalled",
|
| @@ -30,6 +31,13 @@ var chromeHiddenApp = {
|
| callbacks[callbackId](channelId, error);
|
| delete callbacks[callbackId];
|
| }
|
| + },
|
| +
|
| + onInstallStateResponse: function(state, callbackId) {
|
| + if (callbackId) {
|
| + callbacks[callbackId](state);
|
| + delete callbacks[callbackId];
|
| + }
|
| }
|
| };
|
|
|
| @@ -53,6 +61,12 @@ var appNotifications = {
|
| }
|
| };
|
|
|
| +app.installState = function getInstallState(callback) {
|
| + var callbackId = nextCallbackId++;
|
| + callbacks[callbackId] = callback;
|
| + appNatives.GetInstallState(callbackId);
|
| +};
|
| +
|
| // These must match the names in InstallAppBindings() in
|
| // extension_dispatcher.cc.
|
| exports.chromeApp = app;
|
|
|