提交 f737c1dc 编写于 作者: A Adam Barth

Merge pull request #297 from abarth/network_nits

Cleanups to network service
......@@ -6,7 +6,7 @@ homepage: https://github.com/domokit/sky_engine/tree/master/sky/packages/workben
dependencies:
sky: any
dev_dependencies:
sky_tools: ^0.0.3
sky_tools: ^0.0.4
dependency_overrides:
material_design_icons:
path: ../material_design_icons
......
......@@ -12,6 +12,14 @@ import 'package:mojom/mojo/url_request.mojom.dart';
import 'package:mojom/mojo/url_response.mojom.dart';
import 'package:sky/mojo/shell.dart' as shell;
NetworkServiceProxy _initNetworkService() {
NetworkServiceProxy networkService = new NetworkServiceProxy.unbound();
shell.requestService("mojo:authenticated_network_service", networkService);
return networkService;
}
final NetworkServiceProxy _networkService = _initNetworkService();
class Response {
ByteData body;
......@@ -26,16 +34,10 @@ class Response {
Future<UrlResponse> fetch(UrlRequest request) async {
try {
NetworkServiceProxy net = new NetworkServiceProxy.unbound();
shell.requestService("mojo:authenticated_network_service", net);
UrlLoaderProxy loader = new UrlLoaderProxy.unbound();
net.ptr.createUrlLoader(loader);
_networkService.ptr.createUrlLoader(loader);
UrlResponse response = (await loader.ptr.start(request)).response;
loader.close();
net.close();
return response;
} catch (e) {
return new UrlResponse()..statusCode = 500;
......
......@@ -13,7 +13,6 @@ import com.squareup.okhttp.OkHttpClient;
import org.chromium.mojo.bindings.InterfaceRequest;
import org.chromium.mojo.system.Core;
import org.chromium.mojo.system.DataPipe;
import org.chromium.mojo.system.MessagePipeHandle;
import org.chromium.mojo.system.MojoException;
import org.chromium.mojom.mojo.CookieStore;
import org.chromium.mojom.mojo.HostResolver;
......@@ -41,7 +40,7 @@ public class NetworkServiceImpl implements NetworkService {
private static OkHttpClient sClient;
private Core mCore;
public NetworkServiceImpl(Context context, Core core, MessagePipeHandle pipe) {
public NetworkServiceImpl(Context context, Core core) {
assert core != null;
mCore = core;
......@@ -61,8 +60,6 @@ public class NetworkServiceImpl implements NetworkService {
Log.e(TAG, "Unable to create HTTP cache", e);
}
}
NetworkService.MANAGER.bind(this, pipe);
}
@Override
......
......@@ -87,8 +87,7 @@ public class SkyApplication extends BaseChromiumApplication {
registry.register(NetworkService.MANAGER.getName(), new ServiceFactory() {
@Override
public void connectToService(Context context, Core core, MessagePipeHandle pipe) {
// TODO(eseidel): Refactor ownership to match other services.
new NetworkServiceImpl(context, core, pipe);
NetworkService.MANAGER.bind(new NetworkServiceImpl(context, core), pipe);
}
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册