Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(254)

Side by Side Diff: runtime/bin/process_patch.dart

Issue 11472032: Reapply change to use system code page on Windows to fix Pub. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 patch class _WindowsCodePageDecoder {
6 /* patch */ static String _decodeBytes(List<int> bytes)
7 native "SystemEncodingToString";
8 }
9
10
11 patch class _WindowsCodePageEncoder {
12 /* patch */ static List<int> _encodeString(String string)
13 native "StringToSystemEncoding";
14 }
15
16
5 patch class Process { 17 patch class Process {
6 /* patch */ static Future<Process> start(String executable, 18 /* patch */ static Future<Process> start(String executable,
7 List<String> arguments, 19 List<String> arguments,
8 [ProcessOptions options]) { 20 [ProcessOptions options]) {
9 _ProcessImpl process = new _ProcessImpl(executable, arguments, options); 21 _ProcessImpl process = new _ProcessImpl(executable, arguments, options);
10 return process._start(); 22 return process._start();
11 } 23 }
12 24
13 /* patch */ static Future<ProcessResult> run(String executable, 25 /* patch */ static Future<ProcessResult> run(String executable,
14 List<String> arguments, 26 List<String> arguments,
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 // _NonInteractiveProcess is a wrapper around an interactive process 283 // _NonInteractiveProcess is a wrapper around an interactive process
272 // that buffers output so it can be delivered when the process exits. 284 // that buffers output so it can be delivered when the process exits.
273 // _NonInteractiveProcess is used to implement the Process.run 285 // _NonInteractiveProcess is used to implement the Process.run
274 // method. 286 // method.
275 class _NonInteractiveProcess { 287 class _NonInteractiveProcess {
276 _NonInteractiveProcess(String path, 288 _NonInteractiveProcess(String path,
277 List<String> arguments, 289 List<String> arguments,
278 ProcessOptions options) { 290 ProcessOptions options) {
279 _completer = new Completer<ProcessResult>(); 291 _completer = new Completer<ProcessResult>();
280 // Extract output encoding options and verify arguments. 292 // Extract output encoding options and verify arguments.
281 var stdoutEncoding = Encoding.UTF_8; 293 var stdoutEncoding = Encoding.SYSTEM;
282 var stderrEncoding = Encoding.UTF_8; 294 var stderrEncoding = Encoding.SYSTEM;
283 if (options != null) { 295 if (options != null) {
284 if (options.stdoutEncoding != null) { 296 if (options.stdoutEncoding != null) {
285 stdoutEncoding = options.stdoutEncoding; 297 stdoutEncoding = options.stdoutEncoding;
286 if (stdoutEncoding is !Encoding) { 298 if (stdoutEncoding is !Encoding) {
287 throw new ArgumentError( 299 throw new ArgumentError(
288 'stdoutEncoding option is not an encoding: $stdoutEncoding'); 300 'stdoutEncoding option is not an encoding: $stdoutEncoding');
289 } 301 }
290 } 302 }
291 if (options.stderrEncoding != null) { 303 if (options.stderrEncoding != null) {
292 stderrEncoding = options.stderrEncoding; 304 stderrEncoding = options.stderrEncoding;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 374
363 class _ProcessResult implements ProcessResult { 375 class _ProcessResult implements ProcessResult {
364 const _ProcessResult(int this.exitCode, 376 const _ProcessResult(int this.exitCode,
365 String this.stdout, 377 String this.stdout,
366 String this.stderr); 378 String this.stderr);
367 379
368 final int exitCode; 380 final int exitCode;
369 final String stdout; 381 final String stdout;
370 final String stderr; 382 final String stderr;
371 } 383 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698