#include <ui_dart_state.h>
Classes | |
| struct | Context |
| The subset of state which is owned by the shell or engine and passed through the RuntimeController into DartIsolates. If a shell-owned resource needs to be exposed to the framework via UIDartState, a pointer to the resource can be added to this struct with appropriate default construction. More... | |
Public Member Functions | |
| Dart_Port | main_port () const |
| bool | IsRootIsolate () const |
| void | SetDebugName (const std::string &name) |
| const std::string & | debug_name () const |
| const std::string & | logger_prefix () const |
| PlatformConfiguration * | platform_configuration () const |
| void | SetPlatformMessageHandler (std::weak_ptr< PlatformMessageHandler > handler) |
| Dart_Handle | HandlePlatformMessage (std::unique_ptr< PlatformMessage > message) |
| const TaskRunners & | GetTaskRunners () const |
| void | ScheduleMicrotask (Dart_Handle handle) |
| void | FlushMicrotasksNow () |
| bool | HasPendingMicrotasks () |
| fml::WeakPtr< IOManager > | GetIOManager () const |
| fml::RefPtr< flutter::SkiaUnrefQueue > | GetSkiaUnrefQueue () const |
| std::shared_ptr< fml::ConcurrentTaskRunner > | GetConcurrentTaskRunner () const |
| fml::TaskRunnerAffineWeakPtr< SnapshotDelegate > | GetSnapshotDelegate () const |
| fml::TaskRunnerAffineWeakPtr< ImageDecoder > | GetImageDecoder () const |
| fml::TaskRunnerAffineWeakPtr< ImageGeneratorRegistry > | GetImageGeneratorRegistry () const |
| std::shared_ptr< IsolateNameServer > | GetIsolateNameServer () const |
| tonic::DartErrorHandleType | GetLastError () |
| void | LogMessage (const std::string &tag, const std::string &message) const |
| UnhandledExceptionCallback | unhandled_exception_callback () const |
| int64_t | GetRootIsolateToken () const |
| bool | IsDeterministicRenderingEnabled () const |
| Whether deterministic rendering practices are enabled for this application. | |
| bool | IsImpellerEnabled () const |
| Whether Impeller is enabled for this application. | |
| bool | IsFlutterGPUEnabled () const |
| Whether Flutter GPU is enabled for this application. | |
| impeller::RuntimeStageBackend | GetRuntimeStageBackend () const |
| The runtime stage to use for fragment shaders. | |
| virtual Dart_Isolate | CreatePlatformIsolate (Dart_Handle entry_point, char **error) |
Public Member Functions inherited from tonic::DartState | |
| DartState (int dirfd=-1, std::function< void(Dart_Handle)> message_epilogue=nullptr) | |
| virtual | ~DartState () |
| std::weak_ptr< DartState > | GetWeakPtr () |
| Dart_Isolate | isolate () |
| void | SetIsolate (Dart_Isolate isolate) |
| Dart_PersistentHandle | private_constructor_name () |
| DartClassLibrary & | class_library () |
| DartMessageHandler & | message_handler () |
| FileLoader & | file_loader () |
| void | MessageEpilogue (Dart_Handle message_result) |
| void | SetReturnCode (uint32_t return_code) |
| void | SetReturnCodeCallback (std::function< void(uint32_t)> callback) |
| bool | has_set_return_code () const |
| void | SetIsShuttingDown () |
| bool | IsShuttingDown () |
Static Public Member Functions | |
| static UIDartState * | Current () |
| static void | ThrowIfUIOperationsProhibited () |
Static Public Member Functions inherited from tonic::DartState | |
| static DartState * | From (Dart_Isolate isolate) |
| static DartState * | Current () |
| static Dart_Handle | HandleLibraryTag (Dart_LibraryTag tag, Dart_Handle library, Dart_Handle url) |
Protected Member Functions | |
| UIDartState (TaskObserverAdd add_callback, TaskObserverRemove remove_callback, std::string logger_prefix, UnhandledExceptionCallback unhandled_exception_callback, LogMessageCallback log_message_callback, std::shared_ptr< IsolateNameServer > isolate_name_server, bool is_root_isolate_, const UIDartState::Context &context) | |
| ~UIDartState () override | |
| void | SetPlatformConfiguration (std::unique_ptr< PlatformConfiguration > platform_configuration) |
| const std::string & | GetAdvisoryScriptURI () const |
Protected Member Functions inherited from tonic::DartState | |
| Dart_Isolate | isolate () const |
| TONIC_DISALLOW_COPY_AND_ASSIGN (DartState) | |
Definition at line 37 of file ui_dart_state.h.
|
protected |
Definition at line 51 of file ui_dart_state.cc.
|
overrideprotected |
Definition at line 71 of file ui_dart_state.cc.
|
virtual |
Reimplemented in flutter::DartIsolate.
Definition at line 246 of file ui_dart_state.cc.
References FML_UNREACHABLE.
Referenced by flutter::PlatformIsolateNativeApi::Spawn().
|
static |
Definition at line 116 of file ui_dart_state.cc.
Referenced by flutter::PlatformConfiguration::BeginFrame(), flutter::PlatformConfigurationNativeApi::ComputePlatformResolvedLocale(), flutter::PlatformConfigurationNativeApi::DefaultRouteName(), flutter::Picture::DoRasterizeToImage(), flutter::EncodeImage(), flutter::PlatformConfigurationNativeApi::EndWarmUpFrame(), flutter::gpu::Context::GetDefaultContext(), flutter::MultiFrameCodec::getNextFrame(), flutter::SingleFrameCodec::getNextFrame(), flutter::PlatformConfigurationNativeApi::GetPersistentIsolateData(), flutter::PlatformConfigurationNativeApi::GetRootIsolateToken(), flutter::PlatformConfigurationNativeApi::GetScaledFontSize(), flutter::FragmentProgram::initFromAsset(), flutter::ImmutableBuffer::initFromAsset(), flutter::ImmutableBuffer::initFromFile(), InternalFlutterGpu_CommandBuffer_Submit(), flutter::PlatformIsolateNativeApi::IsRunningOnPlatformThread(), flutter::FontCollection::LoadFontFromList(), flutter::DartRuntimeHooks::Logger_PrintString(), flutter::IsolateNameServerNatives::LookupPortByName(), flutter::gpu::ShaderLibrary::MakeFromAsset(), flutter::gpu::Texture::Overwrite(), flutter::Picture::RasterizeToImageSync(), flutter::PlatformConfigurationNativeApi::RegisterBackgroundIsolate(), flutter::IsolateNameServerNatives::RegisterPortWithName(), flutter::IsolateNameServerNatives::RemovePortNameMapping(), flutter::PlatformConfigurationNativeApi::Render(), flutter::PlatformConfigurationNativeApi::RequestViewFocusChange(), flutter::PlatformConfigurationNativeApi::RespondToPlatformMessage(), flutter::PlatformConfigurationNativeApi::ScheduleFrame(), flutter::DartRuntimeHooks::ScheduleMicrotask(), flutter::PlatformConfigurationNativeApi::SendChannelUpdate(), flutter::PlatformConfigurationNativeApi::SendPlatformMessage(), flutter::PlatformConfigurationNativeApi::SendPortPlatformMessage(), flutter::PlatformConfigurationNativeApi::SetApplicationLocale(), flutter::PlatformConfigurationNativeApi::SetIsolateDebugName(), flutter::PlatformConfigurationNativeApi::SetNeedsReportTimings(), flutter::PlatformConfigurationNativeApi::SetSemanticsTreeEnabled(), flutter::PlatformIsolateNativeApi::Spawn(), flutter::gpu::CommandBuffer::Submit(), flutter::testing::TEST_F(), flutter::testing::TEST_F(), flutter::testing::TEST_F(), flutter::testing::TEST_F(), flutter::testing::TEST_F(), ThrowIfUIOperationsProhibited(), and flutter::PlatformConfigurationNativeApi::UpdateSemantics().
|
inline |
Definition at line 124 of file ui_dart_state.h.
Referenced by SetDebugName().
| void flutter::UIDartState::FlushMicrotasksNow | ( | ) |
Definition at line 161 of file ui_dart_state.cc.
References tonic::DartMicrotaskQueue::RunMicrotasks().
Referenced by flutter::PlatformConfiguration::BeginFrame().
|
protected |
Definition at line 75 of file ui_dart_state.cc.
References flutter::UIDartState::Context::advisory_script_uri.
| std::shared_ptr< fml::ConcurrentTaskRunner > flutter::UIDartState::GetConcurrentTaskRunner | ( | ) | const |
Definition at line 149 of file ui_dart_state.cc.
References flutter::UIDartState::Context::concurrent_task_runner.
| fml::TaskRunnerAffineWeakPtr< ImageDecoder > flutter::UIDartState::GetImageDecoder | ( | ) | const |
Definition at line 194 of file ui_dart_state.cc.
References flutter::UIDartState::Context::image_decoder.
| fml::TaskRunnerAffineWeakPtr< ImageGeneratorRegistry > flutter::UIDartState::GetImageGeneratorRegistry | ( | ) | const |
Definition at line 200 of file ui_dart_state.cc.
References flutter::UIDartState::Context::image_generator_registry.
| fml::WeakPtr< IOManager > flutter::UIDartState::GetIOManager | ( | ) | const |
Definition at line 140 of file ui_dart_state.cc.
References flutter::UIDartState::Context::io_manager.
Referenced by flutter::EncodeImage(), and flutter::testing::TEST_F().
| std::shared_ptr< IsolateNameServer > flutter::UIDartState::GetIsolateNameServer | ( | ) | const |
Definition at line 204 of file ui_dart_state.cc.
Referenced by flutter::IsolateNameServerNatives::LookupPortByName(), flutter::IsolateNameServerNatives::RegisterPortWithName(), and flutter::IsolateNameServerNatives::RemovePortNameMapping().
| tonic::DartErrorHandleType flutter::UIDartState::GetLastError | ( | ) |
Definition at line 208 of file ui_dart_state.cc.
References error, tonic::DartMicrotaskQueue::GetLastError(), tonic::DartMessageHandler::isolate_last_error(), tonic::kNoError, and tonic::DartState::message_handler().
| int64_t flutter::UIDartState::GetRootIsolateToken | ( | ) | const |
Returns a enumeration that uniquely represents this root isolate. Returns 0 if called from a non-root isolate.
Definition at line 242 of file ui_dart_state.cc.
References IsRootIsolate().
Referenced by flutter::PlatformConfigurationNativeApi::GetRootIsolateToken().
| impeller::RuntimeStageBackend flutter::UIDartState::GetRuntimeStageBackend | ( | ) | const |
The runtime stage to use for fragment shaders.
Definition at line 253 of file ui_dart_state.cc.
References flutter::UIDartState::Context::runtime_stage_backend.
Referenced by flutter::FragmentProgram::initFromAsset().
| fml::RefPtr< flutter::SkiaUnrefQueue > flutter::UIDartState::GetSkiaUnrefQueue | ( | ) | const |
Definition at line 144 of file ui_dart_state.cc.
References flutter::UIDartState::Context::unref_queue.
| fml::TaskRunnerAffineWeakPtr< SnapshotDelegate > flutter::UIDartState::GetSnapshotDelegate | ( | ) | const |
Definition at line 190 of file ui_dart_state.cc.
References flutter::UIDartState::Context::snapshot_delegate.
Referenced by flutter::EncodeImage(), and flutter::FragmentProgram::initFromAsset().
| const TaskRunners & flutter::UIDartState::GetTaskRunners | ( | ) | const |
Definition at line 136 of file ui_dart_state.cc.
References flutter::UIDartState::Context::task_runners.
Referenced by flutter::DartIsolate::CreatePlatformIsolate(), flutter::EncodeImage(), flutter::FragmentProgram::initFromAsset(), flutter::PlatformIsolateNativeApi::IsRunningOnPlatformThread(), and flutter::PlatformConfigurationNativeApi::SendPlatformMessage().
| Dart_Handle flutter::UIDartState::HandlePlatformMessage | ( | std::unique_ptr< PlatformMessage > | message | ) |
Definition at line 223 of file ui_dart_state.cc.
References handler, message, and tonic::ToDart().
| bool flutter::UIDartState::HasPendingMicrotasks | ( | ) |
Definition at line 165 of file ui_dart_state.cc.
References tonic::DartMicrotaskQueue::HasMicrotasks().
| bool flutter::UIDartState::IsDeterministicRenderingEnabled | ( | ) | const |
Whether deterministic rendering practices are enabled for this application.
Definition at line 79 of file ui_dart_state.cc.
References flutter::UIDartState::Context::deterministic_rendering_enabled.
| bool flutter::UIDartState::IsFlutterGPUEnabled | ( | ) | const |
Whether Flutter GPU is enabled for this application.
Definition at line 87 of file ui_dart_state.cc.
References flutter::UIDartState::Context::enable_flutter_gpu, and flutter::UIDartState::Context::enable_impeller.
| bool flutter::UIDartState::IsImpellerEnabled | ( | ) | const |
Whether Impeller is enabled for this application.
Definition at line 83 of file ui_dart_state.cc.
References flutter::UIDartState::Context::enable_impeller.
Referenced by flutter::EncodeImage().
|
inline |
Definition at line 119 of file ui_dart_state.h.
Referenced by GetRootIsolateToken(), flutter::PlatformConfigurationNativeApi::RegisterBackgroundIsolate(), SetPlatformConfiguration(), SetPlatformMessageHandler(), flutter::PlatformIsolateNativeApi::Spawn(), ThrowIfUIOperationsProhibited(), and flutter::DartIsolate::~DartIsolate().
|
inline |
Definition at line 126 of file ui_dart_state.h.
Referenced by flutter::DartRuntimeHooks::Logger_PrintString().
| void flutter::UIDartState::LogMessage | ( | const std::string & | tag, |
| const std::string & | message | ||
| ) | const |
Definition at line 216 of file ui_dart_state.cc.
References message.
Referenced by flutter::DartRuntimeHooks::Logger_PrintString().
|
inline |
Definition at line 117 of file ui_dart_state.h.
|
inline |
Definition at line 128 of file ui_dart_state.h.
Referenced by flutter::PlatformConfigurationNativeApi::ComputePlatformResolvedLocale(), flutter::DartIsolate::CreatePlatformIsolate(), flutter::DartIsolate::CreateRunningRootIsolate(), flutter::PlatformConfigurationNativeApi::DefaultRouteName(), flutter::PlatformConfigurationNativeApi::EndWarmUpFrame(), flutter::PlatformConfigurationNativeApi::GetPersistentIsolateData(), flutter::PlatformConfigurationNativeApi::GetScaledFontSize(), flutter::FragmentProgram::initFromAsset(), flutter::ImmutableBuffer::initFromAsset(), flutter::FontCollection::LoadFontFromList(), flutter::PlatformConfigurationNativeApi::Render(), flutter::PlatformConfigurationNativeApi::RequestViewFocusChange(), flutter::PlatformConfigurationNativeApi::RespondToPlatformMessage(), flutter::PlatformConfigurationNativeApi::ScheduleFrame(), flutter::PlatformConfigurationNativeApi::SendChannelUpdate(), flutter::PlatformConfigurationNativeApi::SendPlatformMessage(), flutter::PlatformConfigurationNativeApi::SetApplicationLocale(), flutter::PlatformConfigurationNativeApi::SetNeedsReportTimings(), SetPlatformConfiguration(), flutter::PlatformConfigurationNativeApi::SetSemanticsTreeEnabled(), flutter::testing::TEST_F(), flutter::testing::TEST_F(), flutter::testing::TEST_F(), flutter::testing::TEST_F(), and flutter::PlatformConfigurationNativeApi::UpdateSemantics().
| void flutter::UIDartState::ScheduleMicrotask | ( | Dart_Handle | handle | ) |
Definition at line 153 of file ui_dart_state.cc.
References tonic::CheckAndHandleError(), and tonic::DartMicrotaskQueue::ScheduleMicrotask().
Referenced by flutter::DartRuntimeHooks::ScheduleMicrotask().
| void flutter::UIDartState::SetDebugName | ( | const std::string & | name | ) |
Definition at line 108 of file ui_dart_state.cc.
References debug_name().
Referenced by flutter::PlatformConfigurationNativeApi::SetIsolateDebugName().
|
protected |
Definition at line 120 of file ui_dart_state.cc.
References FML_DCHECK, IsRootIsolate(), and platform_configuration().
| void flutter::UIDartState::SetPlatformMessageHandler | ( | std::weak_ptr< PlatformMessageHandler > | handler | ) |
Definition at line 130 of file ui_dart_state.cc.
References FML_DCHECK, handler, and IsRootIsolate().
Referenced by flutter::PlatformConfigurationNativeApi::RegisterBackgroundIsolate().
|
static |
Definition at line 100 of file ui_dart_state.cc.
References Current(), IsRootIsolate(), and tonic::ToDart().
Referenced by flutter::PlatformConfigurationNativeApi::ComputePlatformResolvedLocale(), flutter::SceneBuilder::Create(), flutter::ColorFilter::Create(), flutter::CanvasGradient::Create(), flutter::ImageFilter::Create(), flutter::CanvasPath::Create(), flutter::PictureRecorder::Create(), flutter::SemanticsUpdateBuilder::Create(), flutter::CanvasPathMeasure::Create(), flutter::ParagraphBuilder::Create(), flutter::RSuperellipse::Create(), flutter::PlatformConfigurationNativeApi::DefaultRouteName(), flutter::PlatformConfigurationNativeApi::EndWarmUpFrame(), flutter::PlatformConfigurationNativeApi::GetPersistentIsolateData(), flutter::PlatformConfigurationNativeApi::GetScaledFontSize(), flutter::ImmutableBuffer::initFromAsset(), flutter::ImmutableBuffer::initFromFile(), flutter::NativeStringAttribute::initLocaleStringAttribute(), flutter::NativeSemanticsFlags::initSemanticsFlags(), flutter::NativeStringAttribute::initSpellOutStringAttribute(), flutter::FontCollection::LoadFontFromList(), flutter::PlatformConfigurationNativeApi::Render(), flutter::PlatformConfigurationNativeApi::RequestDartPerformanceMode(), flutter::PlatformConfigurationNativeApi::ScheduleFrame(), flutter::PlatformConfigurationNativeApi::SetApplicationLocale(), flutter::PlatformConfigurationNativeApi::SetIsolateDebugName(), flutter::PlatformConfigurationNativeApi::SetNeedsReportTimings(), flutter::PlatformConfigurationNativeApi::SetSemanticsTreeEnabled(), flutter::PlatformConfigurationNativeApi::UpdateSemantics(), and flutter::PlatformConfiguration::UpdateSemanticsEnabled().
|
inline |
Definition at line 169 of file ui_dart_state.h.