未验证 提交 500f91bc 编写于 作者: J Jason Simmons 提交者: GitHub

Return a failure exit code in flutter_tester if an uncaught error occurs in a microtask (#5736)

上级 4d490275
......@@ -7,6 +7,7 @@
#include "flutter/fml/message_loop.h"
#include "flutter/lib/ui/window/window.h"
#include "lib/tonic/converter/dart_converter.h"
#include "lib/tonic/dart_message_handler.h"
using tonic::ToDart;
......@@ -106,4 +107,12 @@ IsolateNameServer* UIDartState::GetIsolateNameServer() {
return isolate_name_server_;
}
tonic::DartErrorHandleType UIDartState::GetLastError() {
tonic::DartErrorHandleType error = message_handler().isolate_last_error();
if (error == tonic::kNoError) {
error = microtask_queue_.GetLastError();
}
return error;
}
} // namespace blink
......@@ -49,6 +49,8 @@ class UIDartState : public tonic::DartState {
IsolateNameServer* GetIsolateNameServer();
tonic::DartErrorHandleType GetLastError();
template <class T>
static flow::SkiaGPUObject<T> CreateGPUObject(sk_sp<T> object) {
if (!object) {
......
......@@ -270,8 +270,7 @@ bool RuntimeController::HasLivePorts() {
}
tonic::DartErrorHandleType RuntimeController::GetLastError() {
return root_isolate_ ? root_isolate_->message_handler().isolate_last_error()
: tonic::kNoError;
return root_isolate_ ? root_isolate_->GetLastError() : tonic::kNoError;
}
fml::WeakPtr<DartIsolate> RuntimeController::GetRootIsolate() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册