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

Unified Diff: runtime/bin/dartutils.cc

Issue 17183008: HTTP loading cleanups (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 6 months 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 side-by-side diff with in-line comments
Download patch
« runtime/bin/builtin.dart ('K') | « runtime/bin/dartutils.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« runtime/bin/builtin.dart ('K') | « runtime/bin/dartutils.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698