Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Custom bindings for the app_window API. | 5 // Custom bindings for the app_window API. |
| 6 | 6 |
| 7 var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); | 7 var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); |
| 8 var sendRequest = require('sendRequest').sendRequest; | 8 var sendRequest = require('sendRequest').sendRequest; |
| 9 var appWindowNatives = requireNative('app_window'); | 9 var appWindowNatives = requireNative('app_window'); |
| 10 var GetView = appWindowNatives.GetView; | 10 var GetView = appWindowNatives.GetView; |
| 11 | 11 |
| 12 chromeHidden.registerCustomHook('app.window', function(bindingsAPI) { | 12 chromeHidden.registerCustomHook('app.window', function(bindingsAPI) { |
| 13 var apiFunctions = bindingsAPI.apiFunctions; | 13 var apiFunctions = bindingsAPI.apiFunctions; |
| 14 apiFunctions.setCustomCallback('create', function(name, request, viewId) { | 14 apiFunctions.setCustomCallback('create', function(name, request, viewId) { |
| 15 var view = null; | 15 var view = null; |
| 16 if (viewId) | 16 if (viewId) |
| 17 view = GetView(viewId); | 17 view = GetView(viewId); |
| 18 if (request.callback) { | 18 if (request.callback) { |
| 19 request.callback(view); | 19 request.callback(view.chrome.app.window.current()); |
| 20 delete request.callback; | 20 delete request.callback; |
| 21 } | 21 } |
| 22 }) | 22 }) |
| 23 apiFunctions.setHandleRequest('moveTo', function(x, y) { | 23 var AppWindow = function() {}; |
| 24 window.moveTo(x, y); | 24 for (var fn in chromeHidden.internalAPIs.app.currentWindowInternal) { |
|
not at google - send to devlin
2012/08/27 01:51:59
loops with "foo in bar" should be protected by has
jeremya
2012/08/30 02:38:54
Done.
| |
| 25 }) | 25 AppWindow.prototype[fn] = |
| 26 apiFunctions.setHandleRequest('resizeTo', function(width, height) { | 26 chromeHidden.internalAPIs.app.currentWindowInternal[fn]; |
| 27 window.resizeTo(width, height); | 27 } |
| 28 AppWindow.prototype.moveTo = window.moveTo.bind(window); | |
| 29 AppWindow.prototype.resizeTo = window.resizeTo.bind(window); | |
| 30 AppWindow.prototype.__defineGetter__('dom', function () { return window; }); | |
|
not at google - send to devlin
2012/08/27 01:51:59
what's the advantage of making this a getter over
jeremya
2012/08/30 02:38:54
... don't know :) changed to a property.
| |
| 31 apiFunctions.setHandleRequest('current', function() { | |
| 32 return new AppWindow; | |
| 28 }) | 33 }) |
| 29 }); | 34 }); |
| OLD | NEW |