Index: chrome/renderer/resources/extensions/app_window_custom_bindings.js |
diff --git a/chrome/renderer/resources/extensions/app_window_custom_bindings.js b/chrome/renderer/resources/extensions/app_window_custom_bindings.js |
index 85b0c482d310deb8adcc945d62d42358dcb5df34..9629f9944275660866abde3b36bb69cddf27627d 100644 |
--- a/chrome/renderer/resources/extensions/app_window_custom_bindings.js |
+++ b/chrome/renderer/resources/extensions/app_window_custom_bindings.js |
@@ -7,13 +7,17 @@ |
var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); |
var sendRequest = require('sendRequest').sendRequest; |
var appWindowNatives = requireNative('app_window'); |
+var GetView = appWindowNatives.GetView; |
-chromeHidden.registerCustomHook('appWindow', function() { |
- var internal_appWindow_create = chrome.appWindow.create; |
- chrome.appWindow.create = function(url, opts, cb) { |
- internal_appWindow_create(url, opts, function(view_id) { |
- var dom = appWindowNatives.GetView(view_id); |
- cb(dom); |
- }); |
- }; |
+chromeHidden.registerCustomHook('appWindow', function(bindingsAPI) { |
+ var apiFunctions = bindingsAPI.apiFunctions; |
+ apiFunctions.setCustomCallback('create', function(name, request, view_id) { |
Mihai Parparita -not on Chrome
2012/05/29 06:14:42
Nit: view_id should be called viewId per the JS st
|
+ var view = null; |
+ if (view_id) |
+ view = GetView(view_id); |
+ if (request.callback) { |
Mihai Parparita -not on Chrome
2012/05/29 06:14:42
Nit: This can become an early return at the start
|
+ request.callback(view); |
+ delete request.callback; |
+ } |
+ }) |
}); |