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

Unified Diff: runtime/lib/lib_prefix.dart

Issue 2045023003: Fix deferred load errors / bug #26482 (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 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
Index: runtime/lib/lib_prefix.dart
diff --git a/runtime/lib/lib_prefix.dart b/runtime/lib/lib_prefix.dart
index 9d5af287e9e25e79f56e8ca99c2cb7e8318687c3..fb226718b8ec157e95fd7283002270fecbfeaf8e 100644
--- a/runtime/lib/lib_prefix.dart
+++ b/runtime/lib/lib_prefix.dart
@@ -10,6 +10,7 @@ class _LibraryPrefix {
bool _load() native "LibraryPrefix_load";
Error _loadError() native "LibraryPrefix_loadError";
bool isLoaded() native "LibraryPrefix_isLoaded";
+ bool hasError() native "LibraryPrefix_hasError";
bool _invalidateDependentCode()
native "LibraryPrefix_invalidateDependentCode";
@@ -55,15 +56,14 @@ _completeDeferredLoads() {
var stillOutstandingLoadRequests = new List<List>();
for (int i = 0; i < _outstandingLoadRequests.length; i++) {
var prefix = _outstandingLoadRequests[i][0];
- if (prefix._load()) {
- var completer = _outstandingLoadRequests[i][1];
+ var completer = _outstandingLoadRequests[i][1];
+ if (prefix.hasError()) {
hausner 2016/06/07 21:47:05 I think you should use prefix._loadError() to dete
Cutch 2016/06/07 22:29:26 Done.
var error = prefix._loadError();
- if (error != null) {
- completer.completeError(error);
- } else {
- prefix._invalidateDependentCode();
- completer.complete(true);
- }
+ assert(error != null);
+ completer.completeError(error);
+ } else if (prefix._load()) {
+ prefix._invalidateDependentCode();
+ completer.complete(true);
} else {
stillOutstandingLoadRequests.add(_outstandingLoadRequests[i]);
}

Powered by Google App Engine
This is Rietveld 408576698