private void OnExecutionContextCreated(ExecutionContextDescription contextPayload) { var auxData = contextPayload.AuxData != null ? ((JsonElement)contextPayload.AuxData).ToObject <ExecutionContextDescriptionAuxData>() : null; Frame frame = null; if (contextPayload.AuxData != null && !Page.FrameManager.Frames.TryGetValue(auxData.FrameId, out frame)) { return; } if (auxData?.Type == "isolated") { _isolatedWorlds.Add(contextPayload.Name); } var executionContextDelegate = new ChromiumExecutionContext(Client, contextPayload); var context = new FrameExecutionContext(executionContextDelegate, frame); if (auxData?.IsDefault == true) { frame.ContextCreated(ContextType.Main, context); } else if (contextPayload.Name == UtilityWorldName) { frame.ContextCreated(ContextType.Utility, context); } _contextIdToContext[contextPayload.Id.Value] = context; }
public ChromiumExecutionContext(ChromiumSession client, ExecutionContextDescription contextPayload) { _client = client; ContextId = contextPayload.Id.Value; }