| Index: mojo/public/dart/src/application.dart
|
| diff --git a/mojo/public/dart/src/application.dart b/mojo/public/dart/src/application.dart
|
| index 7588209fa847a82cdd7978d30c5f075288b25c72..da4f7493814170769cde96893198f9e750ef7a39 100644
|
| --- a/mojo/public/dart/src/application.dart
|
| +++ b/mojo/public/dart/src/application.dart
|
| @@ -10,23 +10,20 @@ class _ApplicationImpl implements application_mojom.Application {
|
| Application _application;
|
|
|
| _ApplicationImpl(Application application,
|
| - core.MojoMessagePipeEndpoint endpoint, {Function onClosed}) {
|
| + core.MojoMessagePipeEndpoint endpoint) {
|
| _application = application;
|
| - // We wrap the onClosed callback in a closure to ensure that all
|
| - // necessary cleanup is performed on a PEER_CLOSED signal.
|
| - _stub = new application_mojom.ApplicationStub.fromEndpoint(
|
| - endpoint,
|
| - impl: this,
|
| - onClosed: _closer(onClosed));
|
| + _stub = new application_mojom.ApplicationStub.fromEndpoint(endpoint, this);
|
| + _stub.onError = close;
|
| }
|
|
|
| - _ApplicationImpl.fromHandle(Application application, core.MojoHandle handle,
|
| - {Function onClosed}) {
|
| + _ApplicationImpl.fromHandle(Application application, core.MojoHandle handle) {
|
| _application = application;
|
| - _stub = new application_mojom.ApplicationStub.fromHandle(
|
| - handle,
|
| - impl: this,
|
| - onClosed: _closer(onClosed));
|
| + _stub = new application_mojom.ApplicationStub.fromHandle(handle, this);
|
| + _stub.onError = close;
|
| + }
|
| +
|
| + set onError(Function f) {
|
| + _stub.onError = f;
|
| }
|
|
|
| void initialize(bindings.ProxyBase shellProxy, List<String> args,
|
| @@ -48,15 +45,6 @@ class _ApplicationImpl implements application_mojom.Application {
|
| @override
|
| void requestQuit() => _application._requestQuitAndClose();
|
|
|
| - Function _closer(Function onClosed) {
|
| - return (() {
|
| - if (onClosed != null) {
|
| - onClosed();
|
| - }
|
| - close();
|
| - });
|
| - }
|
| -
|
| void close({bool nodefer: false}) {
|
| shell.close();
|
| _stub.close();
|
| @@ -72,18 +60,16 @@ abstract class Application {
|
| _ApplicationImpl _applicationImpl;
|
| List<ApplicationConnection> _applicationConnections;
|
|
|
| - Application(core.MojoMessagePipeEndpoint endpoint, {Function onClosed}) {
|
| + Application(core.MojoMessagePipeEndpoint endpoint) {
|
| _applicationConnections = [];
|
| - // We wrap the onClosed callback in a closure to ensure that all
|
| - // necessary cleanup is performed on a PEER_CLOSED signal.
|
| - _applicationImpl =
|
| - new _ApplicationImpl(this, endpoint, onClosed: _closer(onClosed));
|
| + _applicationImpl = new _ApplicationImpl(this, endpoint);
|
| + _applicationImpl.onError = close;
|
| }
|
|
|
| - Application.fromHandle(core.MojoHandle appHandle, {Function onClosed}) {
|
| + Application.fromHandle(core.MojoHandle appHandle) {
|
| _applicationConnections = [];
|
| - _applicationImpl =
|
| - new _ApplicationImpl.fromHandle(this, appHandle, onClosed: _closer(onClosed));
|
| + _applicationImpl = new _ApplicationImpl.fromHandle(this, appHandle);
|
| + _applicationImpl.onError = close;
|
| }
|
|
|
| void initialize(List<String> args, String url) {}
|
| @@ -115,15 +101,6 @@ abstract class Application {
|
| close();
|
| }
|
|
|
| - Function _closer(Function onClose) {
|
| - return (() {
|
| - if (onClose != null) {
|
| - onClose();
|
| - }
|
| - close();
|
| - });
|
| - }
|
| -
|
| void close() {
|
| assert(_applicationImpl != null);
|
| _applicationConnections.forEach((c) => c.close());
|
| @@ -139,8 +116,6 @@ abstract class Application {
|
| }
|
|
|
| // Override this method to provide services on |connection|.
|
| - // If you provide at least one service or set fallbackServiceProvider,
|
| - // then you must invoke connection.listen().
|
| void acceptConnection(String requestorUrl, String resolvedUrl,
|
| ApplicationConnection connection) {
|
| }
|
|
|