Chromium Code Reviews| Index: runtime/bin/dartutils.cc |
| diff --git a/runtime/bin/dartutils.cc b/runtime/bin/dartutils.cc |
| index 8134848536699ad253dd8beb5d23fc428dab6fcc..5d37dc82cbae94708b8e05233f0435a5f1931c74 100644 |
| --- a/runtime/bin/dartutils.cc |
| +++ b/runtime/bin/dartutils.cc |
| @@ -273,13 +273,21 @@ Dart_Handle MakeHttpRequest(Dart_Handle uri, Dart_Handle builtin_lib, |
| if (Dart_IsError(result)) { |
| return result; |
| } |
| - intptr_t responseCode = |
| - DartUtils::GetIntegerField(builtin_lib, "_httpRequestResponseCode"); |
| + result = Dart_Invoke(builtin_lib, |
| + DartUtils::NewString("_getHttpRequestResponseCode"), |
| + 0, |
| + 0); |
|
Ivan Posva
2013/06/18 22:24:00
NULL it is typed as a pointer.
Cutch
2013/06/18 22:28:22
Done.
|
| + if (Dart_IsError(result)) { |
| + return result; |
| + } |
| + intptr_t responseCode = DartUtils::GetIntegerValue(result); |
| if (responseCode != HttpResponseCodeOK) { |
| // Return error. |
| Dart_Handle responseStatus = |
| - Dart_GetField(builtin_lib, |
| - DartUtils::NewString("_httpRequestStatusString")); |
| + Dart_Invoke(builtin_lib, |
| + DartUtils::NewString("_getHttpRequestStatusString"), |
| + 0, |
| + 0); |
|
Ivan Posva
2013/06/18 22:24:00
ditto.
Cutch
2013/06/18 22:28:22
Done.
|
| if (Dart_IsError(responseStatus)) { |
| return responseStatus; |
| } |
| @@ -289,7 +297,8 @@ Dart_Handle MakeHttpRequest(Dart_Handle uri, Dart_Handle builtin_lib, |
| return Dart_Error(DartUtils::GetStringValue(responseStatus)); |
| } |
| Dart_Handle response = |
| - Dart_GetField(builtin_lib, DartUtils::NewString("_httpRequestResponse")); |
| + Dart_Invoke(builtin_lib, DartUtils::NewString("_getHttpRequestResponse"), |
| + 0, 0); |
|
Ivan Posva
2013/06/18 22:24:00
ditto.
Cutch
2013/06/18 22:28:22
Done.
|
| if (Dart_IsError(response)) { |
| return response; |
| } |
| @@ -384,13 +393,17 @@ Dart_Handle DartUtils::ReadStringFromFile(const char* filename) { |
| } |
| +Dart_Handle DartUtils::SetWorkingDirectory(Dart_Handle builtin_lib) { |
| + Dart_Handle directory = NewString(original_working_directory); |
| + return SingleArgDart_Invoke(directory, builtin_lib, "_setWorkingDirectory"); |
| +} |
| + |
| + |
| Dart_Handle DartUtils::ResolveScriptUri(Dart_Handle script_uri, |
| Dart_Handle builtin_lib) { |
| - const int kNumArgs = 3; |
| + const int kNumArgs = 1; |
| Dart_Handle dart_args[kNumArgs]; |
| - dart_args[0] = NewString(original_working_directory); |
| - dart_args[1] = script_uri; |
| - dart_args[2] = (IsWindowsHost() ? Dart_True() : Dart_False()); |
| + dart_args[0] = script_uri; |
| return Dart_Invoke(builtin_lib, |
| NewString("_resolveScriptUri"), |
| kNumArgs, |
| @@ -400,10 +413,9 @@ Dart_Handle DartUtils::ResolveScriptUri(Dart_Handle script_uri, |
| Dart_Handle DartUtils::FilePathFromUri(Dart_Handle script_uri, |
| Dart_Handle builtin_lib) { |
| - const int kNumArgs = 2; |
| + const int kNumArgs = 1; |
| Dart_Handle dart_args[kNumArgs]; |
| dart_args[0] = script_uri; |
| - dart_args[1] = (IsWindowsHost() ? Dart_True() : Dart_False()); |
| return Dart_Invoke(builtin_lib, |
| NewString("_filePathFromUri"), |
| kNumArgs, |
| @@ -564,9 +576,6 @@ Dart_Handle DartUtils::LoadScriptHttp(Dart_Handle uri, |
| Dart_Handle DartUtils::LoadScript(const char* script_uri, |
| Dart_Handle builtin_lib) { |
| - // Always call ResolveScriptUri because as a side effect it sets |
| - // the script entry path which is used when automatically resolving |
| - // package root. |
| Dart_Handle resolved_script_uri = |
| ResolveScriptUri(NewString(script_uri), builtin_lib); |
| if (Dart_IsError(resolved_script_uri)) { |
| @@ -666,6 +675,21 @@ Dart_Handle DartUtils::PrepareForScriptLoading(const char* package_root, |
| DART_CHECK_VALID(Dart_Invoke( |
| async_lib, NewString("_setTimerFactoryClosure"), 1, args)); |
| + |
| + if (IsWindowsHost()) { |
| + // Set running on Windows flag. |
| + result = Dart_Invoke(builtin_lib, NewString("_setWindows"), 0, 0); |
|
Ivan Posva
2013/06/18 22:24:00
ditto.
Cutch
2013/06/18 22:28:22
Done.
|
| + if (Dart_IsError(result)) { |
| + return result; |
| + } |
| + } |
| + |
| + // Set current working directory. |
| + result = SetWorkingDirectory(builtin_lib); |
| + if (Dart_IsError(result)) { |
| + return result; |
| + } |
| + |
| // Set up package root if specified. |
| if (package_root != NULL) { |
| result = NewString(package_root); |